Реферат по предмету "Информатика, программирование"


Кроссплатформенное программирование для Linux

МОРДОВСКИЙГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИМЕНИ Н.П. ОГАРЕВА
Факультетсветотехнический
Кафедра светотехники
КУРСОВАЯ РАБОТА
КРОССПЛАТФОРМЕННОЕПРОГРАММИРОВАНИЕ ДЛЯ LINUX
Автор курсовой работы А.В. Богданов
Специальность 100101 сервис
Обозначение курсовой работы КР-02069964-100101-05-08
Руководитель работы С.Д. Шибайкин
Саранск 2008

МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИМЕНИ Н.П. ОГАРЕВА
Факультет светотехнический
Кафедра светотехники
ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ (ПРОЕКТ)
Студент______________________________________________________
1 Тема _______________________________________________________
2 Срок представления работы (проекта) кзащите___________________
3 Исходные данные для научного исследования(проектирования)__________________________________________________________________
4 Содержание курсовой работы (проекта)
4.1_________________________________________________________
4.2_________________________________________________________
4.3_________________________________________________________
4.4_________________________________________________________
Руководитель работы (проекта) _______________________________
подпись, дата, инициалы,фамилия
Задание принял к исполнению _________________________________
дата, подпись

Реферат
Дипломная работа содержит 26 страниц, 1 таблицу, 20использованных источников, 2 приложения.
ПРОГРАММИРОВАНИЕ, LINUX, DELPHI, KYLIX, CLX, ПРИЛОЖЕНИЕ.
Объектом исследования является способ создания приложенийдля Linux в среде Delphi.
Цель работы – проанализировать принцип созданияприложений для Linux на уровне пользователя и среды Delphi с целью выявленияосновных сходств и различий его c программированием для Windows.
Задачи: изучить состав стандартного проекта CLX икроссплатформенные элементы Репозитория, иерархию классов CLX, общие свойства иметоды компонентов, их отличия от компонентов VCL; особенностикроссплатформенного программирования, дополнительные возможностикроссплатформенных приложений.
Степень внедрения – частичная.

Содержание
Введение
1 ПроектCLX
1.1Общие сведения
1.2 Объектнаяконцепция кроссплатформенного программирования
1.3 Библиотекакомпонентов CLX
1.4 Сходстваи различия визуальных компонентов CLX и VCL
2 Особенностипрограммирования для Linux
2.1Общие сведения
2.2 Приложениябаз данных для Linux
2.3 Internet-приложениядля Linux
Заключение
Списокиспользованных источников
ПриложениеА
ПриложениеБ

Введение
Времена безраздельного господства операционных системWindows для домашних компьютеров и корпоративных рабочих станций подходят кконцу. Все большее число рядовых компьютеров работает под управлением другихоперационных систем. Среди них по праву выделяется операционная система Linux,сочетающая в себе открытость и хорошие возможности настройки.
В этих условиях, когда бывает необходимо разрабатыватьпрограммное обеспечение с одними функциями сразу для нескольких операционныхсистем, программистам была бы весьма полезна среда разработки, позволяющаяделать это по возможности с наименьшими затратами.
Существует вполне самостоятельный программный продуктKylix, который и предназначен для разработки программ для Linux. Delphi и Kylixочень схожи, но каждый из них работает в своей операционной системе и опереносе программ не может быть и речи.
Однако, Delphi 7 действительно позволяет писать программыдля Linux.
Теперь разработчик, использующий Delphi 7, можетсоздавать приложения, исходный код которых будет компилироваться без каких-либодополнительных усилий не только в Delphi для Windows, но и в Kylix для Linux.
Для этого необходимо выбрать в Delphi соответствующий типпроекта и затем написать приложение. При этом разработчику будут доступнымногие компоненты Палитры компонентов и соответственно возможности визуальногопрограммирования в Delphi.
Несомненное преимущество кроссплатформенногопрограммирования в Delphi заключается в том, что для совместного использованиядоступны не только обычные конструкции и операторы языка программирования, но имножество высокоуровневых компонентов для визуального программирования.
Кроссплатформенная разработка приложений в Delphi сталавозможной благодаря созданию специального варианта библиотеки VCL, котораяназывается Component Library for Cross Platform (CLX). В основе CLX лежитиерархия специально созданных базовых классов, обеспечивающих работоспособностьвизуальных компонентов – потомков сразу в двух операционных системах. Конечно,набор компонентов CLX не столь богат по сравнению с нынешним разнообразием VCL,однако вполне сравним с Палитрой компонентов Delphi или Delphi 2.
Конечно же, серьезное кроссплатформенноепрограммирование, включающее, например, взаимодействие с памятью, обработкупроцессов с учетом их приоритетов и т. д., потребует скрупулезной и вдумчивойработы. Но это неизбежно – совмещение возможностей двух операционных систем водной программе – дело нелегкое, и проблема здесь не столько в недостаткахсреды разработки, сколько в сложности самой задачи. Delphi берет на себя всезаботы по созданию интерфейса кроссплатформенной программы.
В моей работе рассматриваются следующие вопросы:
состав стандартного проекта CLX и кроссплатформенныеэлементы Репозитория;
CLX – библиотека компонентов кроссплатформенногопрограммирования;
иерархия классов CLX, общие свойства и методыкомпонентов, их отличия от компонентов VCL;
особенности кроссплатформенного программирования Windows– Linux;
дополнительные возможности кроссплатформенных приложений.

1 Проект CLX
1.1 Основные сведения
Создание кроссплатформенного приложения в Delphi требуетвыполнения абсолютно стандартных действий. Достаточно создать новый проект,выбрав для этого в Репозитории пункт CLX Application.
На первый взгляд новый проект ничем не отличается отобычного, но это не так. Среда разработки тоже претерпела некоторые изменения.В Палитре компонентов теперь представлены компоненты из библиотеки CLX, тойсамой, которую использует Kylix. Другие немногочисленные изменения в составепроекта также связаны с необходимостью совмещения с Kylix.
Проект CLX отличается от обычного типом файла,содержащего информацию о форме. Если в обычном проекте файл формы имеетрасширение *.dfm, то в проекте CLX это файл с расширением *.xfm, одинаковопонятный и для Delphi, и для Kylix, так как и те и другие файлы являютсяобычными текстовыми файлами и сведения о форме представлены в них в текстовомвиде. Примерно то же самое мы увидим, просматривая форму в текстовомпредставлении в окне Редактора Delphi (команда View as Text из всплывающегоменю формы) [1].
Форма и модуль CLX связываются при помощи директивы {$R*.xfm}.
Кроме этого, в проектах Delphi и Kylix различаютсярасширения файла опций проекта (в Delphi – *.dof, в Kylix – *.kof). Однако этоне принципиальная проблема и при отсутствии такого файла среда разработкисоздаст новый с настройками по умолчанию. Таким образом, всегда можно придуматькак минимум несколько способов перенести текстовое содержимое файла настроекпроекта.
По синтаксису и основным элементам исходный код неотличается от стандартного. Файл проекта содержит список модулей и секциюbegin, end. Файл модуля также обычен, за исключением списка используемыхмодулей в секции uses. Модули с непривычными названиями QControis, QForms и др.содержат базовые классы библиотеки CLX.
В остальном проект CLX подобен стандартному проектуDelphi и в нем можно использовать весь инструментарий среды разработки и приемывизуального программирования.
В подтверждение этого при помощи нескольких изменений впроекте VCL можно легко преобразовать проект VCL в CLX и обратно. Для этогопонадобится любой текстовый редактор. И конечно проект не должен содержатькомпонентов, которые не входят в состав библиотеки CLX.
В файле проекта в секции uses сылка на модуль Forms заменяетсяна QForms.
В файлах модулей заменяются ссылки на модули VCL намодули CLX. Например, секция uses может выглядеть так:
uses SysUtils, Types, Classes, QGraphics, QControls,QForms;
В файлах модулей заменяется директива {$R *.dfm} на {$R*.xfm}.
В файлах форм меняется расширение с dfm на xfm.
Сохранив сделанные изменения и открыв проект в средеразработки, можно убедиться, что Delphi приняла его за проект CLX, измениласоответствующим образом Палитру компонентов и с готовностью компилирует его.
При необходимости разработчик может добавлять к проектуновые шаблоны, используя для этого Репозиторий. При этом в Репозитории доступнытолько те шаблоны, которые можно использовать в проекте CLX (например, форма,модуль или модуль данных). Отсутствуют шаблоны, использование которых в Linuxневозможно или поддержку которых не обеспечивает библиотека CLX (например,шаблон однодокументного приложения или шаблоны печатных форм Quick Report).

1.2 Объектная концепция кроссплатформенного программирования
Программирование в Delphi подразумевает использование техили иных классов, будь то формы, невизуальные компоненты или списки. Концепциякроссплатформенного программирования в рамках одной среды разработки имеет ввиду наличие общего ядра, обеспечивающего функционирование зависимой отоперационной системы программной надстройки. В Delphi таким ядром сталабиблиотека времени выполнения (RunTime Library – RTL), с использованием классовкоторой созданы библиотеки компонентов VCL и CLX.
В соответствии с этим для обеспечения кроссплатформеннойразработки в исходные коды базовых классов Delphi были внесены изменения. Общимядром библиотек компонентов VCL и CLX является иерархия классов TObject – TFersistent– TComponent, которые входят в состав RTL. Это позволяет среде разработки легкоинтегрировать кроссплатформенные проекты и работать со стандартными проектамидля Windows.
Расхождения двух ветвей начинаются с класса TControl,который обеспечивает функциональность всех визуальных компонентов. Начиная сэтого класса и далее, библиотеки компонентов имеют собственные исходные коды.Многие модули CLX имеют названия, аналогичные модулям VCL, но с добавлениемпервой буквы Q, например QControls.pas.
В библиотеке VCL классы TControl и Twincontrol являютсяпредками всех компонентов, которые должны уметь отображать себя на экране припомощи графических средств операционной системы. В библиотеке CLX аналогичнуюзадачу выполняют классы TControl и TWidgetControl. Они обеспечиваютработоспособность компонентов-потомков в качестве экранных объектов widget.
Большинство свойств и методов классов Twincontrol иTWidgetControl совпадают. Однако есть и различия, вызванные особенностямиграфических интерфейсов операционных систем Windows и Linux.
Для обеспечения работоспособности кроссплатформенныхклассов CLX применяется динамическая библиотека Qt. Для использования ееметодов в классах CLX в составе Delphi имеется заголовочный файл Qt.pas. Присоздании объекта CLX конструктором create в исходном коде или переносом компонентана форму автоматически создается специальный объект – widget. Widget связан собъектом CLX, обеспечивает взаимодействие объекта CLX с операционной системой иуничтожается вместе с ним.
Widget может быть создан и напрямую. Такая ситуация можетвозникнуть, к примеру, при создании собственных компонентов. Для этогоприменяется функция QWidget_Create динамической библиотеки Qt. В этом случаеwidget не привязан к объекту CLX и, соответственно, не уничтожается вместе сним [2].
1.3 Библиотека компонентов CLX
Библиотека компонентов CLX более бедна по сравнению сVCL. Тем не менее, ее компоненты позволяют создавать полноценные приложения. Вцелом состав компонентов CLX напоминает Палитру компонентов ранних версийDelphi. Библиотека CLX загружается в Палитру компонентов при открытиисуществующего или создании нового проекта CLX.
Все компоненты CLX, имеющие аналоги в VCL, а такихбольшинство, имеют те же имена, что и компоненты VCL. Так как при переносекомпонентов из Палитры компонентов на форму соответствующие модули подключаютсяв проект автоматически.
Исходные модули библиотеки CLX содержатся в папке\Delphi7\Source \С1х [3].
Первые три страницы Палитры компонентов (Standard,Additional, Common Controls), а также страница Dialogs содержат визуальные иневизуальные компоненты для конструирования пользовательского интерфейсаприложения.
Из-за некоторых различий стандартов пользовательскогоинтерфейса Windows и Linux часть визуальных компонентов CLX имеютнесвойственные для Windows дополнительные функции.
Большинство компонентов на этих страницах хорошо знакомыразработчикам (правда, некоторые из них перекочевали из других страниц VCL –например TTimer и TSpinEdit). Однако существуют некоторые новинки. Этокомпоненты TLCDNumber, TTextviewer и TTextBrowser. Их краткая аннотацияпредставлена в таблице 1.
Таблица 1 – Уникальные визуальные компоненты CLX Компонент Страница палитры компонентов Описание TLCDNumber Additional Компонент отображает совокупность символов (букв и цифр), которые можно представить в режиме цифрового дисплея. Соответственно, не все буквы можно показать в этом компоненте. Например, буквы J, Q, Z и т. д. Строка символов содержится в свойстве Value TTextviewer Common Controls Компонент является аналогом компонента VCL TRichEdit. Предназначен для редактирования текстов TTextBrowser Common Controls Компонент развивает возможности компонента TTextviewer, предоставляя функции гипертекстовой разметки
Дополнительные возможности по созданию кроссплатформенныхприложений баз данных дают компоненты на страницах Data Access, DataControIs,DBExpress, InterBase. Безусловно, механизмы доступа к данным, используемыетакими приложениями, в значительной степени зависят от операционной системы.Поэтому выбор способов доступа к данным сравнительно невелик.

1.4 Сходства и различия визуальных компонентов CLX и VCL
Большинство свойств и методов компонентов VCL и CLXидентичны. А существующие различия вызваны необходимостью использованияспециальных объектов – widget и особенностями представления визуальных элементовв Linux.
Базовые классы CLX – TControl и Twidgetcontrol дляобеспечения прорисовки обращаются к динамической библиотеке Qt череззаголовочный файл Qt.pas.
Таким образом, разработчик избавлен от необходимостиработы с графическим интерфейсом Linux на низком уровне.
Для компонента CLX существует свойство property Handle:QWidgetH; которое является указателем на связанный объект widget и позволяетвызывать его методы напрямую.
Если экземпляр widget не создан, метод procedureCreateHandle; virtual; не только создает и инициализирует widget, но иустанавливает указатель Handle, создает объекты-перехватчики (см. ниже) изадает настройки по умолчанию для этого визуального компонента. Принеобходимости в классах-потомках метод CreateHandle перекрывается и в негодобавляется новая функциональность.
Уничтожение созданного widget осуществляется методом procedureDestroyHandle; который уничтожает все дочерние widget и объекты-перехватчики, атакже обнуляет свойства Handle И Hooks.
При необходимости для простого создания и инициализацииwidget можно использовать метод procedure CreateWidget; virtual; которыйсделает это, вызвав внешнюю функцию Qwidget_Create, и метод procedure InitWidget; virtual; которыйопределяет визуальные параметры widget.
Также в классах CLX доступен указатель на родительскийwidget за счет использования свойства property ParentWidget: QWidgetH;
Если это свойство не определено, можно использоватьсвойство property ChildHandle: QWidgetH; родительского класса, например, такимобразом:
if Not Assigned(ParentWidget) then ifAssigned(Parent) then
Result := Parent.ChildHandle;
В классах CLX иначе реализована обработка событий. ВLinux все события делятся на два вида – системные и события widget. Системныесобытия обрабатываются процедурой – аналогом процедуры wndProc для компонентовVCL.
События, генерируемые widget, перехватываются иобрабатываются специальными объектами, взаимодействующими с объектом widget.Затем они передаются связанному объекту CLX, который вызывает необходимыеобработчики событий.
Объекты-перехватчики создаются при вызове метода
procedure HookEvents; virtual;
а непосредственно для создания перехватчиков используетсябиблиотечная функция Qwidget_hook_create. Метод HookEvents вызываетсяавтоматически при создании widget.
Доступ к объекту-перехватчику возможен при помощисвойства
property Hooks: QWidget_hookH;
которое объявлено в секции protected и может бытьиспользовано только при создании новых компонентов.
Классы CLX имеют очень интересное и важное свойство
property Style: TWidgetStyle;
которое позволяет управлять внешним видом и процессомотрисовки компонента.
Свойство
type TDefaultStyle = (dsWindows, dsMotif, dsMotifPlus,dsCDE, dsQtSGI, dsPlatinum, dsSystemDefault); property DefaultStyle:TDefaultStyle;
класса TWidgetStyle определяет стиль визуальногокомпонента, задающий его внешний вид по умолчанию. Естественно, операционнаясистема должна поддерживать выбранный стиль.
Кроме того, класс Twidgetstyle определяет некоторыенаиболее общие параметры визуальных компонентов и обладает огромным числомобработчиков событий, которые вызываются при отрисовке всех возможныхкомпонентов и экранных элементов.
Таким образом, свойство style является прекрасныминструментом для создания собственных компонентов с нестандартнойфункциональностью.
Для использования в Linux модернизирована системаконтекстной помощи для компонентов CLX. Теперь статья подсказки для визуальногокомпонента может быть вызвана двумя способами.
Традиционно, путем определения уникального номера статьив свойстве
property HelpContext: THelpContext;
и дополнительно, путем определения ключевого словаподсказки в свойстве
property HelpKeyword: String;
Способ вызова помощи определяется свойством
type THelpType = (htKeyword, htContext);
property HelpType: THelpType;
Свойства контекстной подсказки являются новыми в Delphi 7и имеются у компонентов CLX и VCL.
Кроме того, отдельные компоненты CLX имеют дополнительныесвойства и методы, определяющие их дополнительную функциональность в Linux.
В то же время некоторые привычные для программирования вWindows свойства компонентов отсутствуют в компонентах CLX. Это свойстваобрамления компонента (BevelEdges, Bevellnner, BevelKind, BevelOuter); возможностьдвунаправленной печати текстов (свойство BioiMode); свойства для обратнойсовместимости с Windows 3.x (Ctl3D и ParentCtl3D); механизм присоединения исвойства Drag-and-Drop, хотя сам механизм Drag-and-Drop остался (свойстваDockSite, DragKind, DragCursor). [4]

2 Особенности программирования для Linux
2.1 Общие сведения
Операционные системы Windows и Linux имеют достаточносерьезных различий, чтобы сделать кроссплатформенную разработку делом сложным икропотливым. В первую очередь необходимо хорошо знать обе операционные системыи иметь опыт работы с ними.
Создание исходного кода для кроссплатформенных приложений– это трудоемкий процесс, который усложняется по мере использованияспецифических возможностей операционных систем. Простейшим путем в данномслучае будет применение только стандартных свойств и методов компонентов CLX.Но такой путь возможен для сравнительно несложных приложений.
Большинство приложений имеют функции для работы сфайлами. Файловые системы Windows и Linux отличаются настолько, чтокроссплатформенная реализация любых сложных операций с файлами требуетсерьезного внимания и усилий.
Linux чувствительна к регистру символов в именах файлов ипутях, поэтому не стоит использовать в исходном коде имена файлов напрямую, апри необходимости делать это нужно аккуратно. Во многих компонентах для решенияпроблемы заглавных и строчных букв можно использовать свойство
property CaseSensitive: Boolean;
После присвоения свойству значения True компонентпроизводит все строковые операции с учетом регистра символов.
Для формирования полного пути файла используются константыиз модуля SysUtils. Это PathDelim (символ разделителя каталогов в пути файла),DriveDelim (символ логического диска), pathsep (символ разделителя междунесколькими путями файлов в одной строке).
При работе с текстовыми файлами необходимо помнить оразличии управляющих символов в Windows и Linux. Для обозначения конца строки вWindows используются символы CR/LF, а в Linux – только символ LF. В Windowsокончание текста определяется символом Ctrl-Z, а в Linux – просто концом файла[4].
Так как в 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.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.