Смекни!
smekni.com

Кроссплатформенное программирование для Linux (стр. 3 из 3)

Так как в Linux отсутствует системный реестр, то для сохранения настроек приложения используется класс TMeminiFile, обеспечивающий сохранение переменных среды в INI-файле.

При создании кроссплатформенных приложений необходимо использовать только свойства и методы классов CLX. В библиотеке CLX также доступны для применения такие важные для написания бизнес-логики приложения классы, как TList, TStringList, TCollection, TAction и др.

Если это ограничение является слишком жестким, и в программе требуется использовать функции системных API, применяются директивы условного перехода:

{$IFDEF MSWINDOWS}

{код для Windows}

{$ENDIF}

{$IFDEF LINUX}

{код для Linux}

{$ENDIF}

2.2 Приложения баз данных для Linux

Главной составной частью любого приложения баз данных является механизм доступа к данным. Для традиционных приложений баз данных, создаваемых в Delphi, выбор способов доступа к данным достаточно широк. Однако про кроссплатформенные приложения этого сказать нельзя. По существу, разработчик может выбрать только набор компонентов dbExpress.

К сожалению, компоненты dbExpress ограничены по своим функциональным возможностям, обеспечивая однонаправленное перемещение курсора и просмотр данных в режиме «только для чтения».

Преимуществом этого способа доступа к данным является простота и отсутствие многомегабайтных вспомогательных библиотек. В частности, для каждого из четырех поддерживаемых dbExpress серверов баз данных необходима лишь одна динамическая библиотека Windows и только один разделяемый объект (shared object) Linux [5].

2.3 Internet-приложения для Linux

Для Internet-приложений вполне обычной является ситуация, когда клиентская часть должна работать на компьютерах с различными операционными системами, например Windows и Linux. В этом случае кроссплатформенное программирование клиентской части становится весьма привлекательным способом уменьшения затрат на процесс разработки.

В составе библиотеки CLX имеется достаточно большой набор компонентов для разработки Internet-приложений. Однако в Linux можно использовать только сервер Apache или CGI. Это накладывает существенные ограничения на вновь создаваемые кроссплатформенные приложения и требует серьезных усилий при переделке приложений Windows, использующих ISAPI или NSAPI.


Заключение

Кроссплатформенное программирование стало доступно в Delphi 7 благодаря использованию библиотеки компонентов CLX. Имея общее с библиотекой компонентов VCL ядро базовых компонентов, библиотека CLX обеспечивает совместимость приложений Delphi для Windows и Kylix для Linux.

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

Рассмотрены следующие вопросы:

состав стандартного проекта CLX и кроссплатформенные элементы Репозитория;

CLX – библиотека компонентов кроссплатформенного программирования;

иерархия классов CLX, общие свойства и методы компонентов, их отличия от компонентов VCL;

особенности кроссплатформенного программирования Windows – Linux;

дополнительные возможности кроссплатформенных приложений.


Список использованных источников

1. Шупрута, В.В. Delphi 2005. Учимся программировать: NT Press. – М., 2005.

2. Дарахвелидзе, И.В. Программирование в Delphi 7: BHV-СПб. – Санкт-Петербург, 2003.

3. Культин, С.Д. Delphi в задачах и примерах: BHV-СПб. – Санкт-Петербург, 2008.

4. Осипов, О.И. Delphi. Профессиональное программирование: Символ-Плюс. – М., 2006.

5. Фаронов В.В. Delphi4. Учебный курс. – М.: Нолидж, 1999.

6. Возневич Э. «Освой самостоятельно Delphi: Полное руководство для самостоятельного обучения. /Под ред. В. Тимофеева. – М.: Бином, 1996.

7. Гофман В.Э./ Хомоненко А.Д. Delphi 6. – СПБ.: БХВ, 1996.

8. Дарахвелидзе П.Г. Марков Е.П. Delphi – средства визуального программирования. – СПБ.: BHV – С-Петербург, 1996.

9. Конопка Р. Создание оригинальных компонент в среде Delphi: Пер. с англ. – Киев: DiaSoftLtd, 1996.

10. Сван Том. Основы программирования Delphi для Windows 95. Киев: Диалектика, 1996.

11. Зуев В. А.. Turbo Pascal 6.0, 7.0. М.: Веста; Радио и связь, 1998.

12. Коцюбинский А.О., Грошев С.В. Язык программирования Delphi 5 – М.: «Издательство Триумф», 1999.

13. Леонтьев В. Delphi 5 – М.: Москва «Олма-Пресс», 1999.

14. Немнюгин С.А. Программирование – М.: Питер, 2000.

15. Программирование под ред. В.В.Старлова – М: Питер, 1999

16. Ремизов Н. Delphi – М.: Питер, 2000.

17. Справочная система Delphi 5.0 Help.

18. Т.А. Ильина. Программирование на Delphi 6 – М.: Питер, 2000.

19. Фаронов В. В. Delphi 4. Учебный курс. М.: Нолидж, 1999.

20. Федоров А. Г. Создание Windows-приложений в среде Delphi. М.: ТОО «Компьютер Пресс», 1999.

21. Хендерсон К. Руководство разработчика баз данных в Delphi 2. Киев: Диалектика, 1998.

22. Ч. Куписевич. Программирования на Delphi. – М: Киев, 1986

23. Шапошников И. Delphi 5 – М.: Санкт-Петербург, 2001.


Приложение А

Программа «База данных Games»


Приложение Б

Исходный код программы «База данных Games»

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DBTables, DB, Grids, DBGrids, StdCtrls;

type

TForm1 = class(TForm)

DataSource1: TDataSource;

Table1: TTable;

DBGrid1: TDBGrid;

Label1: TLabel;

GroupBox1: TGroupBox;

Button1: TButton;

Edit1: TEdit;

Label2: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

if Table1.Locate('Game', Edit1.Text,[loCaseInsensitive, loPartialKey])

then Form1.Label2.Caption:=''

else Form1.Label2.Caption:='ничего не найдено.'

end;

end.