Delphi & kylix


Содержание

Delphi & kylix

Тема сравнения Linux и Windows в последнее время весьма популярна. В прессе можно найти множество противоречивых мнений по поводу перехода с Windows на Linux. Но, как правило, все оппоненты сходятся на одном — недостаточное количество существующего ПО и сложность создания собственных приложений не позволяют так просто перейти на работу в Linux. Впрочем, Kylix, похоже, сможет изменить эту ситуацию в лучшую сторону.

Кросс-платформенная разработка

Слухи о новом проекте фирмы Borland ходили с июля 1999 года, когда на сайте компании появилась анкета, имевшая целью определить степень заинтересованности разработчиков в перенесении основных средств разработки приложений на платформу Linux. Затем Borland выставила список вакансий программистов с опытом работы в Linux для написания приложений на Delphi и C++. Официальное же подтверждение появилось 28 сентября, когда Borland опубликовала пресс-релиз, объявив о начале работы над Linux-версиями Delphi и C++ Builder.

Kylix — первоначальное рабочее название нового проекта, позднее ставшее официальным именем. Цель этого проекта — перенести на платформу Linux широко признанные среды разработки Delphi и C++ Builder.

На ежегодной конференции разработчиков BorCon 2000 представители Borland продемонстрировали альфа-версию Kylix. На глазах у толпы ожидающих чуда энтузиастов было создано приложение в среде Delphi. Затем этот код с небольшими изменениями был перекомпилирован с использованием Kylix для создания идентичного приложения под Linux. По словам очевидцев, оба приложения работали абсолютно одинаково.

Можно ли с такой же легкостью перекомпилировать под Linux любое Delphi-приложение? Нет. Если в приложении используются прямые вызовы библиотек Win32 или библиотеки и компоненты третьих сторон, то потребуются соответствующие изменения. Представители Borland утверждают, что в среднем приложение, разрабатывавшееся в Delphi в течение полугода, можно будет адаптировать под Linux за месяц. Но даже несмотря на то, что не каждую программу легко пересобрать, Kylix в значительной степени облегчает и ускоряет процесс переноса Windows-приложений на платформу Linux.

Кроме того, Borland привлекла к работе над проектом несколько компаний-разработчиков утилит и компонентов, чтобы обеспечить поддержку ПО от сторонних разработчиков к моменту выхода первой версии Kylix.

Что может Kylix.

Набор библиотек Kylix содержит не только улучшенный компилятор языка Pascal, а его интегрированная среда разработки (IDE) обеспечивает механизмы быстрой разработки приложений. Как следствие, в Kylix есть:

  • синтаксический разбор текста программы в редакторе;
  • интегрированный отладчик;
  • визуальное проектирование форм (окон приложений и диалогов);
  • визуальное проектирование систем меню;
  • расширяемая компонентная модель;
  • большой выбор визуальных компонентов и виджетов;
  • компоненты для интеграции со многими популярными SQL базами данных;
  • компоненты для работы с протоколами Интернета;
  • коммерческие и бесплатные библиотеки компонентов от сторонних производителей;
  • расширяемый набор design-time утилит для создания модулей для работы с сервером Apache и простых и сложных приложений баз данных;
  • коммерческие и свободно распространяемые утилиты от других производителей.

Кроме того, нельзя не упомянуть, что среда разработчика в Kylix — вполне привычная, знакомая как собственно по Delphi, так и по другим продуктам фирмы Borland.

. И чего не может

Вы не мыслите процесса создания программы без собственноручного написания кода? Если вместо того, чтобы просто выбрать компонент и перетащить его на форму, вы предпочтете написать несколько сотен строк своего кода, то Kylix вряд ли придется вам по душе.

Не пригодится Kylix и тем, кому необходимо писать модули для ядра Linux. Kylix не поддерживает расширения GNU, имеющие какую-либо связь с ядром Linux (в частности, имеет другой синтаксис для написания ассемблерных вставок).

Нет смысла использовать Kylix и при создании программ, использующих серьезные математические вычисления (например, для статистических расчетов или обработки трехмерной графики, скажем, в играх). Компилятор Kylix не оптимизирует операции над числами с плавающей точкой.

Как используется RAD

Теперь вы знаете, для чего Kylix не приспособлен. Тогда что же в нем хорошего? Ответ — быстрая разработка приложений.

Это могут быть абсолютно разные приложения — от несложных игр до текстовых процессоров. Это могут быть клиентские программы для систем баз данных или элементы многозвенных систем. Это могут быть и сетевые клиенты, например, программы просмотра электронной почты, или сетевые серверы, скажем, Web-серверы.

Быстрота разработки достигается за счет возможности визуально проектировать формы (окна приложений и диалогов). Достаточно щелкнуть мышкой по нужному компоненту, перетащить его на форму и отредактировать его свойства. Этот механизм используется во многих средах разработки, и нет ничего странного в том, что он будет и в Kylix.

В результате «быстрая разработка» означает, что при помощи Kylix можно будет создавать приложения гораздо быстрее, чем в традиционных для Linux средах, таких, как gcc, emacs, vi и gdb. А это, в свою очередь, резко упростит процесс создания прикладных программ и, следовательно, приведет к большему распространению Linux как универсальной операционной системы.

Kylix предназначен не только для разработки графических интерфейсов. В его основе лежит расширяемая компонентная модель для работы с виджетами, компонентами доступа к базам данных, работы с сетью и т.д. Эта модель называется CLX (component library for cross-platform, «кликс»). До создания CLX основой Borland IDE была библиотека классов Delphi VCL (Visual Component Library).Подобно CLX, VCL включала функции обработки текста, ввода/вывода, даты и времени, управления файлами, доступа к данным и их визуализации, работы с графикой, сетями и т. д. Разница между CLX и VCL состоит в том, что функции VCL опираются на Windows API, а в CLX буквально все, что касалось Windows API, было переписано так, чтобы обойтись без него. Конечно, это было непросто, но результаты этой работы стали фундаментом для дальнейшего развития языков программирования, независимых от ОС.

CLX можно легко расширить и дополнить. В настоящее время независимые разработчики уже создают компоненты в дополнение к стандартному набору.

CLX состоит из нескольких частей:

  • BaseCLX содержит ядро компонентной модели. Сюда входят такие элементы, как функции работы со строками, ввода/вывода, функции работы с датой и временем, работа с файлами, обработка исключений.
  • VisualCLX, использующая библиотеку Qt компании TrollTech (http://www.trolltech.com/products/qt/qt.html) для создания графических интерфейсов.
  • DataCLX, использующая dbExpress — новый механизм фирмы Borland для работы с различными SQL-базами данных, включая Interbase (Borland недавно открыла доступ к его исходным кодам) и mySQL. DataCLX можно использовать в однозвенной архитектуре (база данных и приложение на одном и том же компьютере), архитектуре клиент-сервер или в многозвенной архитектуре. Причем dbExpress сначала будет реализован для CLX, а только потом для продуктов Borland, предназначенных для работы в Windows.
  • NetCLX предоставляет компоненты для работы с основными протоколами Интернета — TCP, FTP, HTTP и возможность писать клиентские и серверные программы с использованием модулей Apache. В Kylix технология Delphi WebBroker будет расширена за счет поддержки для Apache. Это означает, что приложения для Web-сервера можно будет писать как в форме CGI, так и в форме Apache DSO.

Поскольку в CLX можно добавлять любые компоненты, ожидается появление большого числа компонентов от других компаний — производителей ПО. Существует множество Web-сайтов, распространяющих тысячи компонентов, которые можно добавить в Delphi для Windows. А после выхода в свет Kylix можно ожидать такого же изобилия новых компонентов. Поставщики утилит и компонентов для Delphi уже работают с бета-релизами Kylix, чтобы к моменту появления первой версии большинство компонентов было готово.

Использование компонентов удобно для самых различных целей. Например, можно перетащить на форму компонент для POP3-клиента, добавить виджеты для отображения иерархии папок и списков сообщений в папках и окно отображения текста. Для связи всех компонентов на форме нужно добавить обработчики событий — а это ни что иное как методы соответствующих классов. Имея в своем распоряжении все возможности объектно-ориентированного языка (Delphi или C++), можно создавать обработчики событий любой степени сложности.

Таким образом, меньше чем за день вполне реально написать небольшой, но действительно работающий почтовый клиент для Linux.

Подход RAD имеет плохую репутацию в определенных кругах именно потому, что из-за использования инструментов и компонентов часто приходится создавать приложения с весьма ограниченными возможностями. Сама концепция быстрой разработки приложений предполагает большей частью визуальное проектирование и минимальные затраты сил на написание кода. А, как известно, серьезное программирование требует прежде всего самостоятельного написания кода.

Особенно приятно в Kylix то, что компонентная модель CLX упрощает утомительный процесс создания приложений, не скрывая при этом от программиста всех возможностей языка и операционной системы. Например, если вам нужно напрямую использовать в приложении какие-либо системные вызовы, вы можете сами написать такой код.

Открытая расширяемая среда разработки


Kylix имеет расширяемую IDE; следовательно, если возможностей определенного инструмента недостаточно, разработчики могут добавлять в среду новые инструменты для разработки приложений. Например, и главное меню программы, и всплывающие меню — это компоненты. Они в свою очередь содержат компоненты пунктов меню. Редактируя сами компоненты меню, вы вряд ли добьетесь вразумительного результата, поэтому Kylix предлагает интерактивный редактор, позволяющий визуализировать процесс изменения меню. В Kylix также входят так называемые Мастера — для создания приложений баз данных, модулей Web-серверов и т.д. Открытость и расширяемость IDE позволяет компаниям — разработчикам ПО создавать дополнительные программы-Мастера, да и многие программисты сами способны написать такую программу.

Некоторые утилиты требуют знания специальных языков расширений (например, Emacs Lisp). В Kylix можно использовать привычный язык программирования. Дополняйте Delphi IDE, используя Delphi, или C++ Builder — используя C++. Кроме того, можно дополнить Delphi новым Мастером, написанным в C++ Builder, или наоборот. Таким образом, разработчики могут использовать выбранный ими язык и распространять свои продукты среди всех пользователей Kylix.

Вот несколько вариантов дополнений IDE Kylix. Вы можете добавить:

  • новые окна, например, редактор меню;
  • новые пункты в главное или всплывающие меню в редакторе программ, редакторе форм и т.д.;
  • новые кнопки в tool bars;
  • дизайнеры форм и проектов (для создания форм, проектов и других файлов по выбору пользователя).

С другой стороны, если вы любите работать с командной строкой, если вам неудобно работать с редактором форм по принципу WYSIWYG и если вы предпочитаете самостоятельно отслеживать и отлаживать ошибки переполнения буфера, то продолжайте творить в той среде, к которой вы так привыкли. Работать в Delphi вы вряд ли сможете.

И не только Delphi

Как бы ни был хорош Pascal, иногда приходится работать и на C++, поэтому в будущие релизы Kylix предполагается включить C++ Builder для Linux. C++ Builder использует ту же IDE и компонентную модель, что и Delphi, но только с синтаксисом языка C++. Таким образом, если для разработки приложений для Windows компания Borland предлагает два независимых продукта, то для Linux все сведется к единому инструментарию. Заметим, что C++ Builder не поддерживает расширения GNU, т. е. перекомпилировать ядро Linux при помощи C++ Builder не удастся.

Если вы во всем предпочитаете стандарты, C++ Builder может компилировать задачи в ISO-стандарте C++ и C. Вы можете скомпилировать любое приложение, основанное на стандартах ANSI/NISO, и, возможно, заметите, что компилятор C++ Builder для Linux работает быстрее, чем gcc или g++.

Технические особенности

Kylix изначально создавался для работы с разными дистрибутивами Linux. Без видимой разницы он может работать под управлением Red Hat, Mandrake, Caldera, Slackware или SuSE. Не играет роли для работы Kylix и графическая оболочка. Его можно установить и под KDE (рис. 1), и под GNOME (рис. 2).

Рис. 1. Kylix для KDE.
Рис. 2. Kylix для GNOME.

Однако, первый релиз скорее всего будет под KDE, так как и Kylix, и KDE используют набор графических библиотек Qt компании TrollTech.

Совместно с Trolltech фирма Borland создала компоненты графического интерфейса Kylix, не связанные с API C++, который используется в Qt. Приобретая Kylix, разработчик получает свободную лицензию на использование новых компонентов из библиотеки Qt. Эта лицензия распространяется на бесплатное, демонстрационное и коммерческое ПО, создаваемое в Kylix. Вам не придется дополнительно платить компании TrollTech за использование технологий Qt, лицензированных фирмой Borland, в отличие от ситуации, когда вы разрабатываете свои программы на базе непосредственно C++-API от Qt. Другими словами, покупая Kylix, вы получаете право разрабатывать и распространять бесплатное ПО, созданное с использованием библиотеки Qt.

Первая версия Kylix будет компилировать приложения, создавая собственный код и стандартные бинарные файлы в формате ELF. Однако эта версия будет работать только на аппаратной платформе X86. Возможно, последующие версии Kylix будут поддерживать другие платформы; не исключено, что даже можно будет увидеть Delphi и C++ для других операционных систем.

Kylix спасет мир?

Сейчас Linux сталкивается с тремя серьезными проблемами на пути к широкому распространению в качестве операционной системы для ПК. Это: сложность установки, сложность использования и малое количество ПО. Kylix вполне может помочь в решении последних двух проблем.

Почему большинство из нас использует Windows для просмотра почты, редактирования текстов и т.д.? Все просто — существует огромное количество приложений, доступных только под Windows. Одна из самых серьезных трудностей, с которой сталкиваются разработчики ПО под Linux, — это недостаток средств разработки качественных приложений.

В принципе вы можете работать в любой удобной для вас среде — будь то Tcl/tk, Python или даже Qt либо Jx, имеющие некое подобие >» Byte Россия «

Форум русскоязычного сообщества Ubuntu

Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Установка kylix (Прочитано 11079 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Страница сгенерирована за 0.059 секунд. Запросов: 24.

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Какие из активно разрабатываемых компонентов Delphi все еще поддерживает Kylix?

Я читал о CrossKylix недавно, но для большинства использует один должен рассмотреть 3-й компоненты партии. Поэтому я хотел бы знать, какие из активно разрабатываемых компонентов до сих пор поддерживает Kylix.

Многие добавляют частичную или полную поддержку Kylix обратно в тот же день, но я напуган, некоторые никогда не держали в обновление, и IFDEF-й изд часть, которые компилируются с Kylix не может быть проверена.

Таким образом, в идеале, я хотел бы отчет от тех, с реальными приложениями и практическим опытом.

Это может представлять интерес для пользователей, которые с нетерпением ждет будущих версий кросса платформенной Delphi, которые были объявлены, а также текущими пользователям Kylix / CrossKylix.

Два самых известных компонентов,


оба имеют некоторую Kylix поддержку.

Я думаю , что JCL и JVCL до сих пор поддерживает Kylix. По крайней мере , у них еще есть упоминание о Kylix всего кода.

Вы также можете просмотреть раздел Kylix на Торри . Выберите категорию в меню слева и посмотреть , если есть активные проекты.

TurboPower Abbrevia (почтовый / смола / GZIP / bzip2) поддерживает Kylix и CLX для всего , кроме .cab архивов, которые полагаются на MS библиотек DLL.

Приложение Б Kylix — Delphi для Linux

Kylix — Delphi для Linux

В 2001 году компания Borland International, разработавшая Delphi, выпустила продукт под названием Kylix, Kylix— это среда быстрой разработки приложений для Linux. Интерфейсом она почти ничем не отличается от привычного Delphi, а язык программирования, который использует Kylix просто не может не радовать — это Object Pascal. Короче говоря, Kylix — это тот же Delphi, только для ОС Linux. Корпорация Borland предлагает два основных варианта Kylix: Kylix Desktop Developer и Kylix Server Developer. Наиболее полной версией по возможностям и функциональности является Kylix Server Developer.

Илон Маск рекомендует:  Getcwd дать текущий каталог

Существует возможность переносить программы из Delphi в Kylix (само собой, если у программ нет привязки к ОС — например, использования функций WinApi). Стоит сказать несколько слов о совместимости и переносимости исходных кодов программ с Delphi в Kylix. Как известно, в Delphi используется библиотека классов VCL. Для Kylix эта библиотека называется CLX (библиотека компонентов для кросс-платформенной разработки). Впрочем, они довольно совместимы, и в VCL присутствует почти полная поддержка библиотеки классов CLX.

Еще одно небольшое отличие заключается в расширении файлов, содержащих описание форм. В Delphi эти файлы имеют расширение *.dfm, а в Kylix — *.xfm. Это не создает особых неудобств, просто в программах следует изменить директиву <$R .dfm>на <$R .xfm>.

В Kylix, в отличие от Delphi, отсутствует возможность работы с базами данных BDE и ADO. Отсутствует поддержка ActiveX, COM и CORBA. Невзирая на все перечисленные недостатки и аспекты несовместимости с Delphi, Kylix является довольно удобной средой программирования. Тот кто программирует на Delphi, сможет перейти на Kylix без особых затруднений.

Похожие главы из других книг

Разработчик Delphi

Разработчик Delphi Русскоязычные N Сервер Описание 1 http://www.inprise.ru Российское представительство Inprise Фирма – разработчик

Массив в Delphi

1.3.3. Delphi и CGI

1.3.3. Delphi и CGI В данной главе я расскажу, как написать простое Дельфи CGI приложение, без использования Web Modules или других Client/Server модулей.Во первых аббревиатура CGI означает Common Gateway Interface, и это только имя для передачи информации от клиента серверу. На клиентской стороне это

2.1.1. Delphi и HTML

2.1.1. Delphi и HTML Мой главный инструмент разработчики это Дельфи, и мы напишем Delphi Database HTML Expert в данной главе. Дельфи позволяет подсоединяться практически к базе данных любого формата. С помощью BDE к Парадоксу и dBASE, с помощью ODBC например к Access, и с помощью SQL Links к большим DBMS типа

Приложение А. Конфигурационные файлы Linux

Приложение 1 Сайт «Королевство Delphi»

Приложение 1 Сайт «Королевство Delphi» Эта книга появилась на свет благодаря сайту «Королевство Delphi» (http://www.delphikingdom.com), поэтому будет справедливо, если мы уделим ему здесь немного внимания. Тем более что этот сайт сам по себе интересен для программиста, использующего Delphi.

Приложение Таблицы соответствия Windows- и Linux-программ

9.3. Использование OLE в Delphi

9.3. Использование OLE в Delphi Как и многие современные среды программирования, Delphi поддерживает возможность автоматизированной разработки приложений, работающих с различными СОМ-сервисами или серверами. Для более глубокого понимания принципов работы приложений,

Delphi, Kylix и Borland C++ Builder

Delphi, Kylix и Borland C++ Builder IB Objects Этот продукт объединяет две давно известные системы компонентов для Firebird и InterBase, которые позволяют разработчикам использовать инструменты Borland IDE (Delphi, Kylix, и Borland C++ Builder) для реализации всех возможностей Firebird. Одна система совместима с

Разработка приложений баз данных InterBase на Borland Delphi/C++ Builder/Kylix

Разработка приложений баз данных InterBase на Borland Delphi/C++ Builder/Kylix Что такое InterBase Express? Пользователи Borland Delphi 5-7 и Borland C++ Builder 5-6 редакций Professional и Enteiprise наверняка уже обратили внимание на закладку InterBase в палитре компонентов. Именно эта закладка и представляет собой набор

Глава 11 Демонстрационное Linux-приложение

Глава 11 Демонстрационное Linux-приложение В этой главе кусочки мозаики сложатся в единую композицию. Мы опишем и реализуем законченную Linux-программа, в которой объединятся многие рассмотренные в данной книге методики. Программа через протокол HTTP выдает информацию о


Вопросы по Delphi 1.0

Вопросы по Delphi 2.0

Вопросы по Delphi 2.0 Что нового в Delphi 2.0 по сравнения с Delphi 1.0? Выпущенная в феврале 1995 года версия Delphi 1.0 стала первым инструментом для Windows, комбинирующим оптимизирующий компилятор, механизмы визуальной разработки Two-Way-Tools и масштабируемую архитектуру обработки баз данных.

Что нового в Delphi 2.0 по сравнения с Delphi 1.0?

Что нового в Delphi 2.0 по сравнения с Delphi 1.0? Выпущенная в феврале 1995 года версия Delphi 1.0 стала первым инструментом для Windows, комбинирующим оптимизирующий компилятор, механизмы визуальной разработки Two-Way-Tools и масштабируемую архитектуру обработки баз данных. Сегодня сотни

Delphi VCL FAQ

IPLabs Linux Team: начало русского Linux’а

IPLabs Linux Team: начало русского Linux’а Следующая веха на пути русского Linux’а – 1998 год, когда фирма IPLabs (точнее, ее подразделение – IPLabs Linux Team) совместно с Институтом логики (на самом деле это были одни и те же люди – Алексей Новодворский, Алексей Смирнов и Юрий Девяткин с

Delphi & kylix

Здесь http://www.professional.jay007.e-gl. false&editmode= находится неплохой, а главное бесплатны справочник по Delphi.

«Пакет электронных русскоязычных справочников по Delphi предназначен для широкого круга разработчиков: от новичков до опытных программистов. Пакет выполнен в форме hlp-файлов и охватывает язык Object Pascal, классы и компоненты. Характеризуется продуманным интерфейсом и простотой навигации счет оглавления, ключевых слов и гиперссылок.
xx Гиперссылки (или просто ссылки), могут быть трех типов:
xx 1. Внутренние ссылки, позволяющие выполнять переход к разделу текущего hlp-файла;
xx 2. Внешние ссылки, позволяющие выполнять переход к разделу другого hlp-файла;
xx 3. Web-ссылки, позволящие при подключенном Интернет (режим on-line), показать соответствующую Web-страничку. При этом Web-страничка показывается в самом окне справочника без использования Internet Explorer.
xx Таким образом, hlp-файлы, входящие в пакет, взаимосвязаны между собой внешними ссылками и работают в тандеме. Для эксплуатации справочника необходимы два условия. Во-первых, все файлы пакета должны быть занесены в одну папку. Во-вторых, для пакета требуется динамическая библиотека Roboex32.dll, которая должна находиться в папке wind ows\System.»

13-09-2002, 17:33 Ссылка на пост #3
Почётный орёл
Летает в радиусе: 229 км
Высота полета: 1145 м
Скорость: 42 м/с
Зоркость: 5.01
14-09-2002, 15:24 Ссылка на пост #4
14-09-2002, 22:00 Ссылка на пост #5
19-09-2002, 14:07 Ссылка на пост #6
22-09-2002, 17:03 Ссылка на пост #7
Почётный орёл
Летает в радиусе: 842 км
Высота полета: 4210 м
Скорость: 112 м/с
Зоркость: 5.01
22-09-2002, 17:47 Ссылка на пост #8
22-09-2002, 18:03 Ссылка на пост #9
Почётный орёл
Летает в радиусе: 842 км
Высота полета: 4210 м
Скорость: 112 м/с
Зоркость: 5.01
31-10-2002, 22:34 Ссылка на пост #10

JEDI VCL 2.00 BETA for D5-D7
Западная альтернатива RX Lib Более 300 компонентов.
Версия: 2.00 BETA Размер файла: 8.26 MB

14-11-2002, 22:16 Ссылка на пост #11
16-11-2002, 21:56 Ссылка на пост #12

http://endimus.com/oldcontent/files/index_en.php
Выдает список компьютеров и рабочих групп в локальной сети. Также показывает и IP адреса.
С исходными текстами
Компонента из раздела: LAN: Networks
Источник: www.torry.net Автор: Dimka Maslov http://dims.gpsm.ru

Synapse — это не компоненты, а только классы и алгоритмы для Delphi, C++Builder и Kylix. Не нуждается в инсталляции.

Список основных возможностей:
Поддерживает соединения через Winsock или Libc в blocking mode.
Поддерживаются TCP, UDP, ICMP и RAW протоколы.
Ограниченная поддержка для соединений в non-blocking mode.
Под wind ows может быть использована динамическая или статическая загрузка Winsock.
Поддержка запросов PING.
Поддержка ASN.1 кодирования и декодирования.
Поддержка кодировок символов основанных на ISO (ISO-8859-x), wind ows кодировки (CP-125x), KOI8-R, CP-895 (Kamenicky), CP-852 (PC-Latin-2) и UNICODE (UCS-4, UCS-2, UTF-7 и UTF-8).
Поддержка замены символов при передаче.
Поддержка MIME кодирования и декодирования.
Поддержка протоколов: SMTP и ESMTP, SNMP, NTP и SNTP, POP3, FTP, NNTP, IMAP4 1-й версии, HTTP 0.9, 1.0 и 1.1 со всеми их возможностями.

[Многие возможности не попали в этот перевод]

Новая версия компоненты, с исходными текстами
Источник: www.torry.net Автор: Lukas Gebauer http://www.ararat.cz/synapse
-= · VCL · Samples · =- [Перевел: Сергей Касаткин]


Если то что я делаю в этом разделе кому-нибудь полезно то я продолжу.

16-11-2002, 22:07 Ссылка на пост #13

dackl/qsmp3/
QSMP3 (556Kb)
Первый (AFIK) компонент MP3-плейер, работающий и под Kylix и под Delphi. Основан на JEDI-SDL трансляции SMPEG (SDL MPEG Library) и SDL (Simple DirectMedia Layer), кроссплатформенных мультимедиа-библиотеках, аналогичных DirectX. В пакет включены wind ows-версии обеих библиотек (.DLL), и они содержатся в большинстве дистрибутивов Linux. Поддерживаются воспроизведение MP3, поиск, позиционирование, управление громкостью. Компонент еще в разработке (RC1), но очень стабилен.
С исходными текстами

MP3Info (и не только этот компонент)
http://www.trident-soft.de/
Компонент читает информацию из MP3-файла о версии MPEG, слое, битрейте и частоте.
С исходными текстами

16-11-2002, 22:15 Ссылка на пост #14

Малоизвестные команды wind ows 9xx для запуска из командной строки (управление с помощью rundll32)
———————————————————————-Можно использовать из приложения Дельфи с помощью следующей конструкции:
ShellExecute(Application.Handle,
Pchar(‘Open’),Pchar(‘C:\wind ows\Rundll32.exe’),
Pchar(команда),
Pchar(‘C:\wind ows’),SW_SHOWNORMAL);
где: команда — одна из перечисленных ниже

Например, выход из wind ows без любых сообщений/вопросов:

ShellExecute(Application.Handle, Pchar(‘Open’),Pchar(‘C:\wind ows\Rundll32.exe’), Pchar(‘krnl386.exe,exitkernel’), Pchar(‘C:\wind ows’),SW_SHOWNORMAL);

«rundll32 shell32,Control_RunDLL» — Выводит «Панель управления»
«rundll32 shell32,OpenAs_RunDLL» — Выводит окошко — «Открыть с помощью..»
«rundll32 shell32,Shellab outA Info-Box» — Покозать окно «ab out wind ows»
«rundll32 shell32,Control_RunDLL desk.cpl» — Открыть «Свойства Экрана»
«rundll32 user,cascadechildwind ows» — Сортировка окон «Каскадом» (Как в Win 3.x)
«rundll32 user,tilechildwind ows» — Сместить Окна в низ
«rundll32 user,repaintscreen» — Обновить рабочий стол
«rundll32 shell,shellexecute Explorer» — Запустить проводник wind ows.
«rundll32 keyboard,disable» — Вырубить Клавиатуру! (Вот Это я понимаю Заподло!)
«rundll32 mouse,disable» — Вырубить Мышь! (У Шефа Будет припадок:)))
«rundll32 user,swapmousebutton» — Поменять Местами клавиши Мыша! (Во мля! и этого Дядя Билли не забыл!)
«rundll32 user,setcursorpos» — Сместить курсор крысы в левый верхний угол
«rundll32 user,wnetconnectdialog» — Вызвать окно «Подключение сетевого диска»
«rundll32 user,wnetdisconnectdialog» — Вызвать окно «Отключение сетевого диска»
«rundll32 user,disableoemlayer» — Спровоцировать сбой. (Знаю, сам сразу не поверил, но это FUсKт. )
«rundll32 diskcopy,DiskCopyRunDll» — Показать окно «Copy Disk»
«rundll32 rnaui.dll,RnaWizard» — Вывод окна «Установка Связи», с ключем «/1» — без окна
«rundll32 shell32,SHFormatDrive» — Окно «Форматирование: Диск3,5(А)» вызвать
«rundll32 shell32,SHExitwind owsEx -1″ — Перегрузить Explorer»rundll32 shell32,SHExitwind owsEx 1» — Выключение Компутера.
«rundll32 shell32,SHExitwind owsEx 0» — Завершить Работу Текущего Пользователя
«rundll32 shell32,SHExitwind owsEx 2» wind ows-98-PC boot
«rundll32 krnl386.exe,exitkernel» — выход из wind ows без любых сообщений/вопросов
«rundll rnaui.dll,RnaDial «MyConnect» — Вызвать окошко «Установка связи» с соединением «MyConnect»
«rundll32 msprint2.dll,RUNDLL_PrintTestPage» — выбрать в появившемся меню принтер и послать, а него тест
«rundll32 user,setcaretblinktime» — установить новую частоту мигания курсора
«rundll32 user,setdoubleclicktime» — установить новую скорость двойного нажатия
«rundll32 sysdm.cpl,InstallDevice_Rundll» — установить non-Plug&Play оборудование
=================================
Для того, чтобы перезагрузить wind ows
=================================
вам необходимо где-нибудь написать этот код:

Exitwind owsEx(EWX_FORCE+EWX_REBOOT,0);
А для того, чтобы выключить компьютер вам необходимо поместить в программе такой код:
Exitwind owsEx(EWX_SHUTDOWN,0);
а затем протянуться ручками к кнопке Power.
=================================
Как выдвинуть дверцу CD-ROM’а?
=================================
mciSendString(‘Set cdaudio Door Open Wait’, nil, 0, handle);
Также mciSendCommand(mp.DeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
===================================
Как узнать IP адрес.
===================================

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\ (для 98-винды)
Ищем параметр IPAddress
Программно можно определить следующим образом:

var
WSAData : TWSAData;
p : PHostEnt;
Name : array [0..$FF] of Char;
begin

WSAStartup($0101, WSAData);
GetHostName(name, $FF);
p := GetHostByName(Name);
showmessage(inet_ntoa(PInAddr(p.h_addr_list^)^));
WSACleanup;

with TRegistry.create do begin
Rootkey := HKEY_LOCAL_MACHINE;
OpenKey(‘SOFTWARE\BORLAND\DATABASE ENGINE’, false);
CFGFile := ReadString(‘CONFIGFILE01’);
Free;
end;
=================================================
Вариант 2.
try dbiInit(nil);
except showmessage(‘BDE не установлено!’)
end;

Если то что я делаю в этом разделе кому-нибудь полезно то я продолжу.

Delphi & kylix

Привет! Не знаю как ты, но я часто люблю смотреть кульные картинки в инете, начиная от приколов и заканчивая банальными скриншотами из различных фильмов. Все бы хорошо, но при просмотре какой-то картинки обычно загружается куча баннеров, что конкретно тормозит загрузку самой картинки, и не все картинки из просмотренных хочется сохранять :(. Не долго думая я решил написать прогу на Кайликсе, которая будет:

1.Загружать рисунки с определенного сайта, и сохранять их на диске (причем картинки на сайтах обычно пронумерованы, то есть полный путь к картинке обычно такой www.bla.com//images/номер_картинки.jpg.)

2.Количество картинок должно задаваться в проге (в будущем счетчике).

3.Должна быть возможность просмотра и удаления отстойных картинок.

Вот вроде и все, н0 самое главное, то что мы будем ее пользоваться в Линухе, то есть скорость закачки будет большая.

Ну приступим :).Для начала загружай Кайликс командой «startkylix &» или еще какой-то :), выбирай тип проекта «Application». После у тебя появится чистая форма. Накидай на нее следующие компоненты, в приведенном на рисунке порядке.

Вот что-то типа этого должно быть и у тебя :).

После этого задай каждому компоненту следующие параметры:

BorderStyle:fbsDialog – теперь не кто не сможет изменять размеры формы при выполнении нашей проги.

Caption:текст – заголовок формы.

Position.poDesktopCenter – при старте программы, форма будет в центре экрана.

Caption:текст — надпись на кнопке.

Text:текст – начальная надпись.

Пока с объектным программированием проги покончено. Приступим непосредственно к кодингу :) Для этого создай обработчик события OnClick для кнопки «Start» и помести туда код приведенный в “Листинге 1”.


После нажатия этой кнопки прога будет помещать в переменную urls адресс сайта (с которого будут браться картинки) до символа “*”, а в urle после него. Тоесть вместо самого символа “*” будет задаваться номер скачиваемой картинки (для этого мы в коде используем цикл “For … To … Do”). Чтобы держать пользователя в курсе событий мы используем Statusbar, который в процессе работы выводит номер картинки etc. Так же мы использовали мессаги :) , их можно вызвать следующим образом « application.MessageBox(‘ТЕКСТ’’,’ЗАГОЛОВОК’);» И еще одно, функция «Break;» прибивает выполнение цикла.

Теперь разберемся с тем, как наша прога будет скачивать/брать рисунки. Я решил для этого, использовать компонент idhttp (не забудь добавить его на свою форму). Его ты можеш найти в “Indy Clients > IDHTTP”. То есть простым GET запросом мы заберем картинку с сервака и сохраним на диск.

Теперь перейдем к кнопке “Стоп”, которая останавливает выполнение нашей программы. Кликни на нее 2 раза и помести в ее процедуру код приведенный в “Листинг 2”

Кнопка “Close” будет закрывать нашу прогу :), так что кидай в «OnClick» функцию «Close;».

Теперь перейдем к тому, чтобы в нашей проге можно было смотреть и удалять рисунки. Для этого добавь новую форму (нажми на пимпу «New Form»). Нам нужно сделать так ,чтобы эта форма грузилась после нажатия на кнопку «Просмотреть рисунки», поэтому создай обработчик события «OnClick» для этой кнопки и напиши там «Form2.Show;» — что заставит вывести на экран 2-ую форму.

Компоненту «Timage» задай параметр «Stretch». То есть ты уже понял, что мы будем нажимать кнопку «Next» которая будет выводить последовательно все рисунки и то ,что нам не понравится мы будем удалять кнопкой «Delete». Поэтому в пимпу «Next» кидай код написанный в «Листинг 3», а в пимпу «Back» код из «Листинг 4».

И самое главное , не забудь в самом главном разделе описания переменных описать переменную num как integer. Она будет хранить номер картинки. То есть при загрузки нашей 2-ой формы ,переменной num передастся номер первой картинки из 1-ой формы. Для удаления отстойных картинок, мы заюзаем функцию deletefile() ,так что код для кнопки Delete можно найти в «Листинг 5».

Все ,я надеюсь что у тебя прога запустилась и прекрасно справилась со всеми задачами описанными в самом начале статьи. Если нет, то это и к лучшему :) так как ты сам должен во всем разобраться. И мой тебе совет, постарайся чуть упростить/добавить/изменить что-то в проге (к примеру вместо использования того же «idhttp», придумай чтото другое). Удачи! И красивых картинок …

Forum

Downloads

SICx, Simple Compiler 3.01.02 (Math/Algorithms)

Appvalley 3.0 (Tools)

TAdvStringGr >

EntityDAC 1.5 (Database Tools)

TMS Component Pack 7.0 (Component Packs)

TPlanner v2.5.7 (Date/Time)

Exult Database Edition for Oracle 2.0 (Database Tools)

TWFolderProtector [090317] 1.10 (Security)

AWinware Pdf Encryption Security 1.0.1.2 (Encryption)

Auto Backup 2.4.3.1 (Compress/Backup)

Net Time Server & Client 3.2.1.2 (Date/Time)

TMS TAdvToolBar & TAdvMenus v5.2.5 (Toolbars)

CETools v1.6 (Communications)

EntityDAC 1.4 (Database Tools)

EntityDAC Express 1.4 (Database Tools)

JavaScript >

The C# Excel Library 2020.3. (Tools)

TLogin — User Security 1.0 (User Rights Management)

TMS TAdvSmoothTimeLine v1.1.2 (Date/Time)

TMS TAdvSmoothScrollBar v1.0.2 (Miscellaneous)


  • HOW TO KILL ANYOTHER PROGRAMS WITH DELPHI? (2001-01-02 19:04:42)

AidAim Software is pleased to announce EasyTable version 6.40.

Delphi and C++ Builder 2010 support added.

Also, some bugs were.

Now you can use the lightweight BDE replacement for the most popular SQL server with.

Delphi 4 SP3 is now available for download from Borland.com site at
http://www.borland.com/devsupport/delphi/downloads/.

In today’s times Lookup forms are ideal for applications that need a compact and tidy way to present the user with a search & selection type screen. A simple example is the Windows ‘Open File’ dialog box which pops up in front of the current.

Apple’s proposition to create applications for its iOS devices to learn Objective C + xCode + InterfaceBuilder + the iOS/Cocoa APIs can be quite daunting for an experienced Delphi developer. Imagine building iPhone, iPod.

Background
Our project Business&Finance started in 1999. We needed to work with various DBMSs. Therefore we used the uncontested BDE as a data access technology. After the Firebird DBMS was released, we had no need to.

This article covers one of the most useful features for any Delphi application which is commonly overlooked. Microsoft Outlook provides Delphi developers with a COM interface (outlook2000.pas, outlook2003.pas) that contains literally 1000’s of.

Starting from today, I will try to share some information which will go a long way in busting some myths about Delphi.

I got this document from David I though S. Subramanya. He will update this to include 2010. Pass this on to.

How Delphi 4 don’t have TApplicationEvents object, the easiest way to removing the popup menu in Macromedia Flash .OCX with Delphi 4 is override the WndProc procedure in the ShockwaveFlashObjects_TLB.pas unit like this:

Related Links
Displaying Macromedia Flash .SWF files in your Delphi Application!
Macromedia Flash Resizing

In Delphi 5, place an «Application Events» component onto the form.

On the «OnMessage».

If you need to hide the Windows-Taskbar for your application you need to follow this steps:

var
wndClass: Array[0..50] of Char;
wndHandle: THandle;

1) We need the TaskBar-class:
.

Today I want to show how you may execute the stored query in MS Access database (mdb-file) and process the records in query (view).

In the sample code below you may see how do it in Delphi:

Barcodes generally consist of a series of alternately black and white bars, of varying width. The pattern is defined by encoding the data the barcode represents, using a set of pre-defined patterns and optionally additional mathematical operations.

Delphi & kylix

Тема сравнения Linux и Windows в последнее время весьма популярна. В прессе можно найти множество противоречивых мнений по поводу перехода с Windows на Linux. Но, как правило, все оппоненты сходятся на одном — недостаточное количество существующего ПО и сложность создания собственных приложений не позволяют так просто перейти на работу в Linux. Впрочем, Kylix, похоже, сможет изменить эту ситуацию в лучшую сторону.

Кросс-платформенная разработка

Слухи о новом проекте фирмы Borland ходили с июля 1999 года, когда на сайте компании появилась анкета, имевшая целью определить степень заинтересованности разработчиков в перенесении основных средств разработки приложений на платформу Linux. Затем Borland выставила список вакансий программистов с опытом работы в Linux для написания приложений на Delphi и C++. Официальное же подтверждение появилось 28 сентября, когда Borland опубликовала пресс-релиз, объявив о начале работы над Linux-версиями Delphi и C++ Builder.

Kylix — первоначальное рабочее название нового проекта, позднее ставшее официальным именем. Цель этого проекта — перенести на платформу Linux широко признанные среды разработки Delphi и C++ Builder.

На ежегодной конференции разработчиков BorCon 2000 представители Borland продемонстрировали альфа-версию Kylix. На глазах у толпы ожидающих чуда энтузиастов было создано приложение в среде Delphi. Затем этот код с небольшими изменениями был перекомпилирован с использованием Kylix для создания идентичного приложения под Linux. По словам очевидцев, оба приложения работали абсолютно одинаково.

Можно ли с такой же легкостью перекомпилировать под Linux любое Delphi-приложение? Нет. Если в приложении используются прямые вызовы библиотек Win32 или библиотеки и компоненты третьих сторон, то потребуются соответствующие изменения. Представители Borland утверждают, что в среднем приложение, разрабатывавшееся в Delphi в течение полугода, можно будет адаптировать под Linux за месяц. Но даже несмотря на то, что не каждую программу легко пересобрать, Kylix в значительной степени облегчает и ускоряет процесс переноса Windows-приложений на платформу Linux.


Кроме того, Borland привлекла к работе над проектом несколько компаний-разработчиков утилит и компонентов, чтобы обеспечить поддержку ПО от сторонних разработчиков к моменту выхода первой версии Kylix.

Что может Kylix.

Набор библиотек Kylix содержит не только улучшенный компилятор языка Pascal, а его интегрированная среда разработки (IDE) обеспечивает механизмы быстрой разработки приложений. Как следствие, в Kylix есть:

  • синтаксический разбор текста программы в редакторе;
  • интегрированный отладчик;
  • визуальное проектирование форм (окон приложений и диалогов);
  • визуальное проектирование систем меню;
  • расширяемая компонентная модель;
  • большой выбор визуальных компонентов и виджетов;
  • компоненты для интеграции со многими популярными SQL базами данных;
  • компоненты для работы с протоколами Интернета;
  • коммерческие и бесплатные библиотеки компонентов от сторонних производителей;
  • расширяемый набор design-time утилит для создания модулей для работы с сервером Apache и простых и сложных приложений баз данных;
  • коммерческие и свободно распространяемые утилиты от других производителей.

Кроме того, нельзя не упомянуть, что среда разработчика в Kylix — вполне привычная, знакомая как собственно по Delphi, так и по другим продуктам фирмы Borland.

. И чего не может

Вы не мыслите процесса создания программы без собственноручного написания кода? Если вместо того, чтобы просто выбрать компонент и перетащить его на форму, вы предпочтете написать несколько сотен строк своего кода, то Kylix вряд ли придется вам по душе.

Не пригодится Kylix и тем, кому необходимо писать модули для ядра Linux. Kylix не поддерживает расширения GNU, имеющие какую-либо связь с ядром Linux (в частности, имеет другой синтаксис для написания ассемблерных вставок).

Нет смысла использовать Kylix и при создании программ, использующих серьезные математические вычисления (например, для статистических расчетов или обработки трехмерной графики, скажем, в играх). Компилятор Kylix не оптимизирует операции над числами с плавающей точкой.

Как используется RAD

Теперь вы знаете, для чего Kylix не приспособлен. Тогда что же в нем хорошего? Ответ — быстрая разработка приложений.

Это могут быть абсолютно разные приложения — от несложных игр до текстовых процессоров. Это могут быть клиентские программы для систем баз данных или элементы многозвенных систем. Это могут быть и сетевые клиенты, например, программы просмотра электронной почты, или сетевые серверы, скажем, Web-серверы.

Быстрота разработки достигается за счет возможности визуально проектировать формы (окна приложений и диалогов). Достаточно щелкнуть мышкой по нужному компоненту, перетащить его на форму и отредактировать его свойства. Этот механизм используется во многих средах разработки, и нет ничего странного в том, что он будет и в Kylix.

В результате «быстрая разработка» означает, что при помощи Kylix можно будет создавать приложения гораздо быстрее, чем в традиционных для Linux средах, таких, как gcc, emacs, vi и gdb. А это, в свою очередь, резко упростит процесс создания прикладных программ и, следовательно, приведет к большему распространению Linux как универсальной операционной системы.

Kylix предназначен не только для разработки графических интерфейсов. В его основе лежит расширяемая компонентная модель для работы с виджетами, компонентами доступа к базам данных, работы с сетью и т.д. Эта модель называется CLX (component library for cross-platform, «кликс»). До создания CLX основой Borland IDE была библиотека классов Delphi VCL (Visual Component Library).Подобно CLX, VCL включала функции обработки текста, ввода/вывода, даты и времени, управления файлами, доступа к данным и их визуализации, работы с графикой, сетями и т. д. Разница между CLX и VCL состоит в том, что функции VCL опираются на Windows API, а в CLX буквально все, что касалось Windows API, было переписано так, чтобы обойтись без него. Конечно, это было непросто, но результаты этой работы стали фундаментом для дальнейшего развития языков программирования, независимых от ОС.

CLX можно легко расширить и дополнить. В настоящее время независимые разработчики уже создают компоненты в дополнение к стандартному набору.

CLX состоит из нескольких частей:

  • BaseCLX содержит ядро компонентной модели. Сюда входят такие элементы, как функции работы со строками, ввода/вывода, функции работы с датой и временем, работа с файлами, обработка исключений.
  • VisualCLX, использующая библиотеку Qt компании TrollTech (http://www.trolltech.com/products/qt/qt.html) для создания графических интерфейсов.
  • DataCLX, использующая dbExpress — новый механизм фирмы Borland для работы с различными SQL-базами данных, включая Interbase (Borland недавно открыла доступ к его исходным кодам) и mySQL. DataCLX можно использовать в однозвенной архитектуре (база данных и приложение на одном и том же компьютере), архитектуре клиент-сервер или в многозвенной архитектуре. Причем dbExpress сначала будет реализован для CLX, а только потом для продуктов Borland, предназначенных для работы в Windows.
  • NetCLX предоставляет компоненты для работы с основными протоколами Интернета — TCP, FTP, HTTP и возможность писать клиентские и серверные программы с использованием модулей Apache. В Kylix технология Delphi WebBroker будет расширена за счет поддержки для Apache. Это означает, что приложения для Web-сервера можно будет писать как в форме CGI, так и в форме Apache DSO.

Поскольку в CLX можно добавлять любые компоненты, ожидается появление большого числа компонентов от других компаний — производителей ПО. Существует множество Web-сайтов, распространяющих тысячи компонентов, которые можно добавить в Delphi для Windows. А после выхода в свет Kylix можно ожидать такого же изобилия новых компонентов. Поставщики утилит и компонентов для Delphi уже работают с бета-релизами Kylix, чтобы к моменту появления первой версии большинство компонентов было готово.

Использование компонентов удобно для самых различных целей. Например, можно перетащить на форму компонент для POP3-клиента, добавить виджеты для отображения иерархии папок и списков сообщений в папках и окно отображения текста. Для связи всех компонентов на форме нужно добавить обработчики событий — а это ни что иное как методы соответствующих классов. Имея в своем распоряжении все возможности объектно-ориентированного языка (Delphi или C++), можно создавать обработчики событий любой степени сложности.

Таким образом, меньше чем за день вполне реально написать небольшой, но действительно работающий почтовый клиент для Linux.

Подход RAD имеет плохую репутацию в определенных кругах именно потому, что из-за использования инструментов и компонентов часто приходится создавать приложения с весьма ограниченными возможностями. Сама концепция быстрой разработки приложений предполагает большей частью визуальное проектирование и минимальные затраты сил на написание кода. А, как известно, серьезное программирование требует прежде всего самостоятельного написания кода.

Особенно приятно в Kylix то, что компонентная модель CLX упрощает утомительный процесс создания приложений, не скрывая при этом от программиста всех возможностей языка и операционной системы. Например, если вам нужно напрямую использовать в приложении какие-либо системные вызовы, вы можете сами написать такой код.

Открытая расширяемая среда разработки

Kylix имеет расширяемую IDE; следовательно, если возможностей определенного инструмента недостаточно, разработчики могут добавлять в среду новые инструменты для разработки приложений. Например, и главное меню программы, и всплывающие меню — это компоненты. Они в свою очередь содержат компоненты пунктов меню. Редактируя сами компоненты меню, вы вряд ли добьетесь вразумительного результата, поэтому Kylix предлагает интерактивный редактор, позволяющий визуализировать процесс изменения меню. В Kylix также входят так называемые Мастера — для создания приложений баз данных, модулей Web-серверов и т.д. Открытость и расширяемость IDE позволяет компаниям — разработчикам ПО создавать дополнительные программы-Мастера, да и многие программисты сами способны написать такую программу.

Некоторые утилиты требуют знания специальных языков расширений (например, Emacs Lisp). В Kylix можно использовать привычный язык программирования. Дополняйте Delphi IDE, используя Delphi, или C++ Builder — используя C++. Кроме того, можно дополнить Delphi новым Мастером, написанным в C++ Builder, или наоборот. Таким образом, разработчики могут использовать выбранный ими язык и распространять свои продукты среди всех пользователей Kylix.

Вот несколько вариантов дополнений IDE Kylix. Вы можете добавить:

  • новые окна, например, редактор меню;
  • новые пункты в главное или всплывающие меню в редакторе программ, редакторе форм и т.д.;
  • новые кнопки в tool bars;
  • дизайнеры форм и проектов (для создания форм, проектов и других файлов по выбору пользователя).

С другой стороны, если вы любите работать с командной строкой, если вам неудобно работать с редактором форм по принципу WYSIWYG и если вы предпочитаете самостоятельно отслеживать и отлаживать ошибки переполнения буфера, то продолжайте творить в той среде, к которой вы так привыкли. Работать в Delphi вы вряд ли сможете.

И не только Delphi

Как бы ни был хорош Pascal, иногда приходится работать и на C++, поэтому в будущие релизы Kylix предполагается включить C++ Builder для Linux. C++ Builder использует ту же IDE и компонентную модель, что и Delphi, но только с синтаксисом языка C++. Таким образом, если для разработки приложений для Windows компания Borland предлагает два независимых продукта, то для Linux все сведется к единому инструментарию. Заметим, что C++ Builder не поддерживает расширения GNU, т. е. перекомпилировать ядро Linux при помощи C++ Builder не удастся.


Если вы во всем предпочитаете стандарты, C++ Builder может компилировать задачи в ISO-стандарте C++ и C. Вы можете скомпилировать любое приложение, основанное на стандартах ANSI/NISO, и, возможно, заметите, что компилятор C++ Builder для Linux работает быстрее, чем gcc или g++.

Технические особенности

Kylix изначально создавался для работы с разными дистрибутивами Linux. Без видимой разницы он может работать под управлением Red Hat, Mandrake, Caldera, Slackware или SuSE. Не играет роли для работы Kylix и графическая оболочка. Его можно установить и под KDE (рис. 1), и под GNOME (рис. 2).

16-11-2002, 22:20 Ссылка на пост #15
Рис. 1. Kylix для KDE.
Рис. 2. Kylix для GNOME.

Однако, первый релиз скорее всего будет под KDE, так как и Kylix, и KDE используют набор графических библиотек Qt компании TrollTech.

Совместно с Trolltech фирма Borland создала компоненты графического интерфейса Kylix, не связанные с API C++, который используется в Qt. Приобретая Kylix, разработчик получает свободную лицензию на использование новых компонентов из библиотеки Qt. Эта лицензия распространяется на бесплатное, демонстрационное и коммерческое ПО, создаваемое в Kylix. Вам не придется дополнительно платить компании TrollTech за использование технологий Qt, лицензированных фирмой Borland, в отличие от ситуации, когда вы разрабатываете свои программы на базе непосредственно C++-API от Qt. Другими словами, покупая Kylix, вы получаете право разрабатывать и распространять бесплатное ПО, созданное с использованием библиотеки Qt.

Первая версия Kylix будет компилировать приложения, создавая собственный код и стандартные бинарные файлы в формате ELF. Однако эта версия будет работать только на аппаратной платформе X86. Возможно, последующие версии Kylix будут поддерживать другие платформы; не исключено, что даже можно будет увидеть Delphi и C++ для других операционных систем.

Kylix спасет мир?

Сейчас Linux сталкивается с тремя серьезными проблемами на пути к широкому распространению в качестве операционной системы для ПК. Это: сложность установки, сложность использования и малое количество ПО. Kylix вполне может помочь в решении последних двух проблем.

Почему большинство из нас использует Windows для просмотра почты, редактирования текстов и т.д.? Все просто — существует огромное количество приложений, доступных только под Windows. Одна из самых серьезных трудностей, с которой сталкиваются разработчики ПО под Linux, — это недостаток средств разработки качественных приложений.

В принципе вы можете работать в любой удобной для вас среде — будь то Tcl/tk, Python или даже Qt либо Jx, имеющие некое подобие >» Byte Россия «

Delphi & kylix

Проблема наличия или отсутствия пользовательских программ часто мешает повсеместному распространению Linux. С другой стороны, делать приложения «for Linux only» не всегда целесообразно, потому что Windows, да и другие «оси», еще никто не отменял.

Желательно получить приложение, которое «если что» можно выпустить в версии для нескольких ОС, получая в результате простор для маневра. Вариантов для этого несколько:

  • использовать Delphi и Kylix. Если проект уже разработан на Delphi — и особенно с использованием переносимых компонент — то задача еще более упрощается. Полученное приложение может работать на обеих платформах, или говоря более сложным языком — в гетерогенных средах. У Kylix есть несколько преимуществ перед остальными вариантами: мощный оптимизированный код, знакомый многим разработчикам интерфейс, доступность самой системы. К недостаткам можно отнести ограниченный ареал применения — только на системах Linux с определенным набором библиотек, хотя распространение Kylix это только вопрос времени;
  • использовать Java и, например, ONE Studio, на «обеих трех» платформах. Это тоже очень хороший вариант: приложения не потребуют перекомпиляции, доставку можно осуществлять по интернету, да еще и не одним способом. Единственный drawback — это определенные требования, предъявляемые к системам разработки и выполнения, в частности к объему памяти и к пропускной способности сети;
  • вариант номер три — использовать характерные для Unix средства разработки, делая пользовательский интерфейс на Tk/Tcl и/или courses. В качестве языка написания логики удобно использовать perl, Python или, если вам так проще,- C. Это во многом героический путь, поскольку инструменты разработки таких программ не отличаются интуитивной понятностью — например, на изучение Emacs может уйти полгода. Зато полученный код будет самым «честным» и легко переносимым на все открытые платформы;
  • сравнительно сложный, хоть и самый универсальный путь — создание полнометражного веб-приложения, например, на perl или PHP. Это потребует некоторых условий, таких как наличие собственного (виртуального) сервера с широкими полномочиями — зато такое приложение будет совершенно нейтрально к среде выполнения. Говоря по правде, это решение совсем несправедливо занимает предпоследнее место — просто это отдельный разговор, не совсем касающийся того, о чем я собираюсь рассказать;
  • пятый путь — запускать приложения в режиме эмуляции ОС. Эта тема будет рассмотрена в данном номере. Из числа универсальных виртуальных машин выделяются VMWare и VirtualPC. Большой недостаток всех этих эмуляторов — проблемы совместимости и, кроме того, падение производительности (примерно вдвое). Ко всему прочему, такие методы, по сути, не относится к методам кроссплатформенной разработки.

В дальнейшем мы рассмотрим Kylix с, так сказать, гуманитарной точки зрения. Подразумевается, что я не ставлю себе цели научить вас программировать — и, тем более, не собираюсь описывать пункты меню. Моя задача — показать вам, что в той или иной среде разработки может оказаться полезным и как с минимальным дискомфортом установить инструмент на свой компьютер. Остальное, как говорится, RTFM.

Kylix

Kylix — революционная для своего времени Delphi-подобная среда разработки для Linux и других систем, поддерживающих бинарные форматы Linux. Kylix совмещает в себе визуальные и текстовые возможности разработки приложений — так, как это принято в современных инструментах — и позволяет создавать приложения с графическим интерфейсом для Linux в сжатые сроки.

При ближайшем рассмотрении современный Kylix в третьей инкарнации содержит в себе две оболочки IDE: для разработки приложений на языке, который Borland именует «языком Delphi» и который известен также как объектный Паскаль. Кроме того, в Kylix можно разрабатывать программы на С++ в оболочке, воспроизводящей CBuilder. Следует признать, что работа по переносу стиля и ощущения Delphi/CBuilder была проделана немалая — с первого взгляда отличить Kylix от Delphi практически невозможно (не считая KDE widgets).

Построение переносимого кода

В основе переносимого кода Delphi-Kylix лежит независимый от платформы формат модулей и архитектура CLX. Последнее обозначает Borland Component Library for Cross-Platform. В результате компиляции строятся файлы в естественном для Linux формате ELF, а также в формате общих библиотек.so. Как и Delphi, Kylix использует прямую компиляцию в процессорные команды, то есть скорость приложений сопоставима с кодом на С++.

Как и в случае с Delphi, разработчик может (в ущерб переносимости) использовать системные функции, а также вызовы Linux API и других специфичных для платформы библиотек. Если вы разрабатываете компонент CLX, используя вызовы низкого уровня, и хотите сделать его универсальным,- можете использовать условную компиляцию, проверяя, определены ли символы LINUX и WIN32 соответственно c помощью предложения $IFDEF/#ifdef. Для абсолютных экстремалов по-прежнему существует возможность писать фрагменты кода на inline-ассемблере.

Для того чтобы писать переносимый код, предназначенный для обоих платформ, не следует использовать другие (кроме изоляции системных вызовов) особенности платформы: реестр Windows, вызовы оконных функций SendMessage и PostMessage и т.п. Не следует также забывать, что в Linux имена файлов и каталогов всегда учитывают регистр, так что следует обратить внимание на их правильное написание, в случаях когда имена задаются литерально.

Доступ к базам данных

Если под Windows возможно несколько методов доступа к базам данных, то для Linux единственным методом является прямое подключение к SQL-серверу через прилагаемый драйвер. Из компонентов доступа «на выбор» только dbExpress, через который поддерживаются распространенные базы данных: DB2, Informix, Interbase, MySQL, Oracle и PostgreSQL.

Фактически dbExpress — это очень тонкий и прозрачный уровень, непосредственно переводящий запросы в сервер. При запросах к базам данных dbExpress порождает локальные копии данных, освобождая сеанс с сервером. В процессе запроса предусмотрены трансформации данных, вычисляемые поля и запросы с параметрами. После запроса пользователь работает с полученной копией данных, внося изменения в удаленные таблицы в режиме пакетных транзакций. Для оптимизации трафика применяются режимы групповой пересылки обновлений, а также отложенная загрузка BLOB-объектов.

После получения локального набора данных значения столбцов поступают в привязанные к данным элементы управления по упрощенной схеме. То есть исключаются дополнительные передачи данных, как происходит в случае ODBC или ADO. Такой подход поощряет делать клиентскую часть приложений «тонкой», перенося бизнес-логику в хранимые процедуры на сервер баз данных. Это, в свою очередь, делает приложения эффективнее, снижает трафик и делает уровень бизнес-логики независимым от платформы.

Дополнительно к внешним источникам данных в Kylix входит персональная, основанная на XML база данных — MyBase. Таблицы этой БД хранятся полностью в памяти, поскольку она рассчитана на молниеносную производительность. Код поддержки MyBase встраивается в сам откомпилированный модуль и занимает около 300 Кб, так что не требует ни отдельных файлов, ни отдельной инсталляции. Тем не менее, эта «детка» понимает синтаксис SQL 92, сложные отношения между таблицами, декларативную целостность, триггеры и так далее. Полезной окажется также и возможность непосредственного создания таблиц MyBase как результата запроса к внешним данным.


Сетевые возможности

Встроенные в Kylix протоколы интернета широко и исчерпывающе представлены палитрами компонент Indy, которые названы так в честь независимых разработчиков. Палитр, ни много ни мало, целых пять:

  • Clients. С TCP, UDP, HTTP, POP3, SMTP все ясно. Не поленились реализовать также и, например, Gopher и IRC. Для приверженцев командной строки существуют telnet, rsh и rexec — так что опытный администратор может построить исключительно удобные для него инструменты удаленного администрирования;
  • Servers. Реализованы практически все распространенные в Сети серверы. На этой же палитре в наличии также два полезных компонента для построения туннельных подсетей — Tunnel Master и Tunnel Slave;
  • Misc. В эту категорию попали различные кодировщики, например MIME и UUEncode,- так же как и ряд дополнительных компонентов. Несколько компонентов упрощают организацию многопоточного выполнения, характерного для асинхронных сетевых запросов;
  • Intercepts. Перехватчики трафика, или фильтры, созданы для «навешивания» кода на другие протоколы с целью ведения журналов отладки, для кодирования-декодирования и сжатия трафика «на лету»;
  • IO Handlers. Смысл всех этих компонент — заменить чтение сокетов на более привычный асинхронный поточный ввод-вывод. Весьма полезным и интересным компонентом является ограничитель пропускной способности — на его основе можно строить качественные и надежные приложения.

Веб-программирование представлено двумя поколениями инструментов. Во-первых, это компоненты палитры Internet, представляющие традиционный для Delphi набор WebDispatcher + PageProducer. Несколько сложная на практике технология — в частности, из-за отсутствия встроенного визуального редактора шаблонов. В Kylix, что естественно, сервер приложений взаимодействует с сервером Apache. Хорошей новостью является тот факт, что такое приложение, перенесенное в среду Windows, станет работать и с Apache для Windows.

Второй подход к веб-программированию — компоненты, представленные на WebSnap.

BizSnap, WebSnap, DataSnap

Эти технологии напрямую связаны с такими вещами, как XML, SOAP и веб-сервисы. Несмотря на довольно прихотливую терминологию и наличие нескольких трудных мест, в основе веб-сервисов лежит несколько простых принципов: для представления данных и удаленных команд используется протокол HTTP, поверх которого передаются специально оформленные в формате SOAP блоки XML данных. Подобно тому как класс ActiveX или JavaBean способен самостоятельно перечислять свои методы и тип их параметров, точно так же Web Services, установленные на сервере, могут быть исследованы с помощью протокола WSDL. Таким же образом в виде XML организованы вызовы и возврат значений удаленных объектов в модели CORBA. Частным, но исключительно важным типом передаваемых в XML данных являются таблицы как результат запросов к СУБД — фактически многие SQL-серверы представляют результаты запросов именно в этом виде.

Из-за обширности темы на этом я и закончу, а всех, кто интересуется данными технологиями, отсылаю к документации по Snap’ам.

Инсталляция

Официальные требования к целевой платформе разработки следующие:

  • Intel Pentium II/500 МГц;
  • 256 Мб RAM (обратите на этот параметр особое внимание!);
  • CD-ROM;
  • SVGA;
  • мышь;
  • место на диске:
    -250 Мб Open Ed.,
    -350 Мб Pro Ed.,
    -500 Мб Enterprise Ed.

Система тестировалась на таких дистрибутивах:

  • Red Hat® Linux 7.2;
  • Mandrake™ 8.2;
  • SuSE® Linux 7.3.

Впрочем, вы можете установить Kylix практически на любой дистрибутив Linux и BSD, однако в некоторых случаях придется проделать установку библиотек и настройку путей вручную. Перед установкой системы можно убедиться, что ваш дистрибутив Linux удовлетворяет требованиям Kylix’а, а именно:

  • некоторые версии загрузчика libc могут привести к нарушению данных при загрузке и выгрузке общих объектов, в результате чего возникают ошибки сегментации в совсем других программах. Kylix тоже подвержен этой «болезни» и не станет инсталлироваться, если установлена эта версия libc. Эта проблема решена в libc 2.2 или в патче к 1.2.1;
  • Kylix и полученные приложения требуют glibc версии 1.2.1 или более поздней, ядро версии, как минимум, 2.2 и библиотеку libjpeg 6.2.

Все современные дистрибутивы Linux удовлетворяют этим условиям, но часто указанные библиотеки скрываются под различными типами инсталляции. Например, ASP Linux 7.3, установленный в режиме «экспресс-инсталляция», не обладает всеми необходимыми компонентами, и инсталляция вылетит с кодом ошибки 10. С другой стороны, Red Hat 7.1, установленный в режиме Workstation, не вызывает никаких проблем с Kylix.

Для проверки валидности вашей системы существует специальная утилита — borpretest — расположенная в одноименном каталоге на дистрибутивном диске. Для выполнения всех проверок в автоматическом режиме запустите командный файл /mnt /cdrom /borpretest /testsystem. Это не даст 100-процентной гарантии: на том же ASP данный тест выдает Looks Good, но инсталляция не завершается. Так что на тест надейся, но если что — придется устанавливать недостающие пакеты вручную.

В положительном случае вы увидите сообщения, подобные тем, что показаны на рисунке.

Если borpretest обнаружит какие-то проблемы, то с вопросом о том, как их решить, обращайтесь к файлу /mnt /cdrom /PREINSTALL. После проверки системы (или без таковой) запускаете /mnt /cdrom /setup.sh. Инсталляция предлагает на выбор несколько типичных опций (вроде путей инсталляции и устанавливаемых компонент) — но в основном отличается исключительной прямолинейностью. Фактически все сводится к тому, чтобы трижды ответить Ok.

Важное замечание: вы можете инсталлировать Kylix под административным (root) или пользовательским аккаунтом. В первом случае файлы приложения будут размещены в каталоге /usr /local /kylix3, причем примеры попадут только к вам в домашний каталог — и чтобы сделать их доступными другим, вам придется или скопировать, или назначить пользователям доступ к этим файлам в режиме чтения. Если Kylix устанавливается обычным пользователем, то все файлы, и программы и данные попадут в подкаталог домашнего каталога.

Вместе с Kylix’ом на диске (в каталоге /dev/cdrom/jre) находится также и инсталляция Java RunTime версии 1.3.1. Это пакет rpm.bin, предназначенный для установки через командный процессор sh. Обратите внимание: на самом пакете не установлен флаг исполнения, поэтому запустить установку с лазерного диска вы не сможете. Для инсталляции Java вам понадобится скопировать его куда-то:

Документация как основа успеха

Вопрос успешности того или иного продукта часто зависит от наличия доступной и удобной документации. Признаюсь откровенно: документация по Delphi очень долгое время была для меня главным источником информации по многим аспектам Windows. Думаю, многие скажут то же самое. Замечательный Delphi Help содержит в себе исчерпывающую и доступную информацию не только по Паскалю, но также и по Win API, Win32 и технологии OLE/COM. Вполне естественно было ожидать такого же качества и от Kylix. Понятно, что вы не найдете здесь описания Win32, но зато представлены сведения о доступных разработчику средствах из арсенала Linux — libc, XFree и, конечно, полные сведения о компонентах CLX. Справка Kylix Help выполнена в формате HyperHelp и внешне больше похожа на справку в Windows 3.11, но поскольку оглавление и поиск в наличии — то это не вызывает никаких неудобств.

Чего бы еще пожелать?

Создание моих первых приложений в Kylix прошло без проблем и неожиданностей. Камнем преткновения при создании реального приложения стало отсутствие современных средств для визуальной разработки и отладки отчетов и шаблонов веб-страниц. Было бы прекрасно создать такой инструмент — причем сделать его полиморфным для генерации как HTML-шаблонов, так и отчетов в распространенных форматах PDF, PostScript, TeX.

Другим крайне полезным инструментом мог бы стать интегрированный UML-редактор со встроенной поддержкой отображения как существующих, так и пользовательских CLX-классов, и автоматической генерацией кода и таблиц. Фактически многие UML-редакторы третьих производителей поддерживают CLX-классы, но встроенный инструмент мог бы работать на уровне максимальной интеграции.

Конечно, применение RAD провоцирует легкомысленное отношение к кодированию, так что вместе с Kylix в Linux придут и «кудесники от Access». Мы живем в эпоху массового производства, с этим уже поздно бороться — и все же: будете писать на Kylix — делайте это хорошо, плз!

Delphi & kylix

Введение
За последние несколько лет восприятие и использование Internet как очередной технологической «игрушки» закономерно трансформировались в осознание тех широчайших возможностей, которые Сеть способна предоставить пользователям в плане как человеческого общения, так и ведения бизнеса. Неизбежно возникший в результате подобной трансформации Internet-бум, безусловно, несколько исказил общее восприятие Internet как еще одного средства для построения информационной инфраструктуры коммерческого предприятия, поскольку все наперебой старались применить возможности Сети для малоподходящих целей. Однако сегодня ажиотаж вокруг Internet-технологий постепенно начинает спадать, уступая место пониманию действительно ценных возможностей Сети, а также путей их применения.
Безусловно, применение Internet-технологий для построения информационной инфраструктуры является относительно новым полем деятельности, однако к настоящему моменту в мире образовалось достаточно большое число компаний, поставляющих на рынок средства разработки и поддержки бизнес-приложений, использующих Internet-технологии. Многие из этих компаний создаются непосредственно под Internet-рынок, однако не меньше игроков — выходцы из области «классических» средств разработки. Одним из известнейших поставщиков средств разработки приложений долгое время была и остается компания Borland, известная своими RAD-инструментами для платформы Windows, такими как Borland Delphi, Borland C++Builder, а также кросс-платформенным средством разработки JBuilder, использующим технологии Java.
Исторически являющаяся одной из компаний-первопроходцев в различных направлениях разработки программного обеспечения, Borland вполне закономерно обратила свое внимание на набирающее рост направление Internet-технологий, представив различные средства для создания, внедрения и поддержки Internet-приложений.
В данной статье речь пойдет о поддержке разработки Internet-приложений в двух наиболее известных инструментах компании Borland: Delphi и Kylix.
Delphi — это интегрированная среда для быстрого создания приложений баз данных, настольных и Internet-приложений, построенная на основе разработанной Borland визуальной библиотеки компонентов (Visual Components Library, VCL), включающая в себя средства разработки интерфейса приложений с двусторонней связью с исходным кодом (Two-Way Tools), широкий спектр средств отладки приложений и различных вспомогательных средств.
За короткое время с момента выхода первой версии этого продукта, совершившего в некотором смысле революцию в области средств быстрой разработки приложений (Rapid Application Development) — за счет простоты использования, интуитивной понятности интерфейса и широкого набора средств разработки, Delphi собрал под свои знамена огромное число разработчиков со всего мира, что, безусловно, не могло не стимулировать появление поддержки данным продуктом Internet-технологий и разработки соответствующих приложений.
Kylix, Delphi для Linux — это аналог Delphi, предназначенный для разработки приложений для операционной системы Linux, которая в последнее время все более широко распространяется в мире1. Подобно своему Windows-аналогу — Delphi, Kylix имеет для своей платформы чрезвычайно важное значение хотя бы потому, что до настоящего времени для Linux не существовало средств разработки, сравнимых с Delphi по мощности и простоте использования, что, в свою очередь, привело к сужению круга разработчиков программного обеспечения для этой платформы и в значительной степени затормозило ее распространение в качестве настольной операционной системы, временно ограничив Linux лишь достаточно узкой областью серверной платформы и Internet-хостинга.
Однако с появлением Kylix ситуация вполне может кардинально измениться в лучшую сторону, поскольку теперь для множества разработчиков открывается возможность создавать приложения для Linux не менее быстро и эффективно, чем для Windows, а в перспективе, с выходом следующей версии Delphi, — и создавать кросс-платформенные приложения, переносимые с одной платформы на другую без переработки.
Подобно Delphi, Kylix базируется на аналогичной VCL технологии, получившей название CLX (произносится как «кликс») — Component Library for Cross Platform Development, а также на наборе средств разработки, аналогичных Delphi. При этом Kylix даже более ориентирован на разработку Internet-приложений, нежели Delphi, который в настоящее время является более универсальным продуктом. Текущая версия Kylix, точнее Kylix Server Developer, помимо средств разработки приложений баз данных, настольных приложений и «классических» Internet-приложений, то есть клиентов, использующих различные Internet-службы и протоколы, и серверов, применяющих технологии CGI (Common Gateway Interface), а также реализующих ответные, серверные части Internet-служб, включает в себя ряд средств для разработки расширений Web-сервера Apache, представляющего собой сегодня один из наиболее распространенных Web-серверов в мире.
Поскольку Kylix был официально анонсирован компанией Borland раньше новой версии Delphi, целесообразно начать наш обзор именно с этого продукта.
Итак, какие именно инструменты для разработки Internet-приложений имеет в своем арсенале Delphi для Linux?

Илон Маск рекомендует:  Как заставить окно быть всегда на переднем плане
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL