Разработка Windows-приложений в среде Borland Delphi

Условия эффективного использования интегрированной среды Delphi. Использование в программе базовых компонентов Delphi. Особенности использования стандартных диалоговых окон и буфера обмена. Добавление новых форм к проекту и использование WebBrowser.

Рубрика Программирование, компьютеры и кибернетика
Вид учебное пособие
Язык русский
Дата добавления 28.04.2016
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

if CFrame < Animate1.FrameCount Then Begin

CFrame:= CFrame + 1;

// вывести кадр

Animate1.StartFrame:= CFrame;

Animate1.StopFrame:= CFrame;

Animate1.Active:= True;

if CFrame = Animate1.FrameCount // текущий кадр - последний

then Button2.Enabled:=False;

End;

if CFrame > 1 then Button3.Enabled:= True;

15. Для кнопки К предыдущему кадру ввести код:

if CFrame > 1 then

begin

CFrame:= CFrame - 1;

// вывести кадр

Animate1.StartFrame:= CFrame;

Animate1.StopFrame:= CFrame;

Animate1.Active:= True;

if CFrame = 1 // текущий кадр - первый

then Form1.Button3.Enabled:= False;

end;

if CFrame < Animate1.FrameCount then Button2.Enabled:= True;

16. Проверить работу приложения.

17. Добавить на форму пункт меню Справка.

18. Присоединить к проекту форму для выдачи Справки, для этого:

1. выбрать в меню File / New/Other;

2. выбрать вкладку Forms, на ней выбрать About box.

19. Привести форму в соответствие с образцом:

20. Самостоятельно доработать приложение для вызова окна справки (пункт Справка) и скрытие окна (кнопка Ок)

21. Результат показать преподавателю.

ПРАКТИЧЕСКАЯ РАБОТА № 13

delphi среда программа буфер

Тема Программирование для Интернет

Цель работы: Получить навыки использования компонента WebBrowser.

Пояснения к работе

Начиная с пятой версии Delphi появился компонент WebBrowser который позволяет создать свой собственный браузер. Можно полностью поменять интерфейс, но принцип действия работы все равно будет, как у Internet Explorer.

Компонент WebBrowser находится на вкладке Internet, его основные свойства и методы приведены в таблице.

OffLine

Включить / выключить автономный режим

Navigate

Открыть HTML-документ

Refresh

Обновить

Stop

Остановить загрузку

GoHome

На домашнюю страницу

GoForward

Вперед

GoBack

Назад

Компонент StatusBar - строка состояния представляет собой управляющий элемент, который отображает текущую информацию о содержимом окна, контекстные подсказки по текущему состоянию.

Постановка задачи

Разработать приложение, реализующее основные функции WEB-браузера.

Порядок выполнения

1. Создать новый проект и сохранить его.

2. Добавить на форму компонент ToolBar (Win32), изменить значение свойств: Height= 28, ShowCaptions=True, Flat= True

3. Добавить на ToolBar 5 кнопок: Назад, Обновить, Стоп, Домашняя страница, Вперед, для этого повторить 5 раз следующую последовательность:

· щелкнуть правой кнопкой мыши на компоненте ToolBar;

· выбрать New Button;

· изменить размеры кнопки Width = 67,Height =21;

· вставить разделитель кнопок, щелкнув правой кнопкой на ToolBar и выбрав New Separator;

· изменить свойства Caption для кнопки.

4. Добавить на форму компоненты Edit, командную кнопку, OpenDialogs и WebBrowser.

5. Привести форму в соответствие с образцом.

6. Для того, чтобы компоненты размещались по местам после изменения размера формы, для процедуры FormResize ввести код:

Edit1.Left:= 0;

Edit1.Top:= ToolBar1.Height + 2;

Button1.Top:= Edit1.Top;

Button1.Left:= Form1.ClientWidth - Button1.Width - 2;

WebBrowser1.Left:= 0;

WebBrowser1.Top:= Edit1.Top + Edit1.Height + 2;

//меняем размеры некоторых компонентов

Edit1.Width:= Form1.ClientWidth - Button1.Width - 4;

Button1.Height:= Edit1.Height;

WebBrowser1.Width:= Form1.ClientWidth;

WebBrowser1.Height:= Form1.ClientHeight - (Edit1.Top + Edit1.Height + 2);

7. Для кнопки Открыть ввести код:

If OpenDialog1.Execute Then Begin

WebBrowser1.Navigate(OpenDialog1.FileName);

Edit1.Text:= OpenDialog1.FileName;

WebBrowser1.Navigate(Edit1.Text); //загрузка документа

Edit1.SetFocus; End;

8. Загрузить приложение, проверить работу кнопки Открыть.

9. Для кнопок панели ввести соответствующие коды:

WebBrowser1.GoBack //назад

WebBrowser1.Stop; //остановить загрузку

WebBrowser1.Refresh ; //обновить страницу

WebBrowser1.GoHome; //на домашнюю страницу

WebBrowser1.GoForward; //вперед

10. Проверить работу приложения.

11. Добавить на форму компонент StatusBar (Win32)и изменить значение его свойства SimplePanel= True.

12. Для компонента WebBrowser1 выбрать событие OnStatusTextChange и ввести код:

StatusBar1.SimpleText:= Text;

13. Добавить на форму компонент ProgressBar (Win32)и изменить значение его свойства Align=alButtom.

14. Для компонента WebBrowser1 выбрать событие OnProgressChange и ввести код:

ProgressBar1.Max:= ProgressMax;

ProgressBar1.Position:= Progress;

15. Проверить работу приложения.

16. Модернизировать приложение для реализации следующих функций:

· при изменении размера формы компоненты StatusBar и ProgressBar должны всегда отображаться на экране.

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

ПРАКТИЧЕСКАЯ РАБОТА №14

Тема: Разработка тестового приложения.

Цель работы: Закрепить навыки программирования в Delphi.

Постановка задачи:

Текстовый файл содержит несколько вопросов и 4 варианта ответа, из которых только один ответ верный(помечен символом +). Файл имеет следующую структуру:

Тема теста (дисциплина)

/вопрос 1

- ответ 1

+ ответ 2

- ответ 3

- ответ 4

/вопрос 2

+ вопрос 1

- вопрос 2

- вопрос 3

- вопрос 4

...

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

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

Предусмотреть вывод результат тестирования на экран

Порядок выполнения:

1. Загрузить Delphi;

2. Установить на форму следующие объекты и изменить им свойства (см. таблицу), объявить используемые переменные как глобальные.

объект

свойство

значение

Label

Name

Label1

WordWrap

True

RadioButton

Name

RadioButton1

Button

Name

Button1

Caption

Далее

OpenDialog

Name

OpenFile

3. Для формы выбрать событие Create и ввести код для создания массива радиокнопок и объявить необходимые переменные:

For i:=1 to 4 Do

Begin

otv[i]:= TRadioButton.Create(RadioButton1) ;

otv [i].Parent:= Form1;

otv[i].Left:= RadioButton1.Left;

otv[i].Top:= RadioButton1.Top+i*40;

otv [i].Visible:=true;

otv [i].Width:= RadioButton1.Width ;

otv [i].Height:= RadioButton1.Height ;

otv [i].Color:= RadioButton1.Color ;

otv[i].Checked:=false;

otv[i].Font:= RadioButton1.font;

end;

RadioButton1.Visible:=false;

4. Добавить на форму меню из двух пунктов Файл / Открыть и Выход

5. Для пункта Открыть ввести код:

If openfile.Execute Then

Begin

assignfile(f1,openfile.FileName);

reset(f1);

readln(f1,s);

form1.Caption:=s; {тема теста}

verno:=0;//кол-во верных ответов

n:=0; //номер текущего вопроса

button1.Enabled:=true;

label1.Caption:='';

for i:=1 to 4 do

begin

otv[i].Caption:='';

otv[i].Checked:=false;

end;

end;

6. Для кнопки Далее ввести код:

if n>0 then {проверим ответ на предыдущий вопрос}

for i:=1 to 4 do

if (otv[i].Checked =true) and (otv[i].tag=1) then verno:=verno+1;

if eof(f1) then {если тест закончен}

begin

showmessage(' кол-во верных ответов='+inttostr(verno));

closefile(f1);

button1.Enabled:=false;

exit;

end;

n:=n+1;

{ччитаем следующий вопрос}

readln(f1,s);

delete(s,1,1);

label1.Caption:=s;

for i:=1 to 4 do {варианты ответов}

begin

readln(f1,s);

otv[i].Checked:=false;

otv[i].Tag:=0;

if s[1]='+' then otv[i].Tag:=1;{запомним верный ответ}

delete(s,1,1);

otv[i].Caption:=s;

end;;

7. Проверить работу приложения.

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

9. Результат показать преподавателю.

ПРАКТИЧЕСКАЯ РАБОТА № 15

Тема Разработка приложения для базы данных

Цель работы: Получить навыки создания приложения для базы данных.

Пояснения к работе

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

Краткий обзор средств доступа к базам данных

Вкладка

Data Access

Содержит основные компоненты доступа к данным, они общие для всех и могут использоваться совместно с другими группами компонентов

Вкладка

Data Controls

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

Вкладка

BDE

Содержит компоненты, позволяющие получать доступ к базам данных по технологии BDE (Borland Database Engine, разработана фирмой Borland). Эта технология хорошо работает с устаревшими типами баз данных: Paradox, dBase, FoxPro, в настоящее время фирма Borland ее не поддерживает.

Вкладка DBEXpress

Содержит компоненты, поддерживающие технологию DBEXpress, которая хорошо подходит для программирования клиент-серверных приложений, использующих базы данных Oracle, DB2, MySQL

Вкладка

ADO

Содержит компоненты, поддерживающие технологию ADO (Active Data Objects),разработанную Microsoft. Их желательно использовать при работе с базами данныхMS Access и MS SQL Server.

Компоненты вкладки BDE

Table

Обеспечивает доступ к таблицам БД, создает набор данных, который передает все данные из физической таблицы БД с помощью BDE

Query

Предназначен для формирования набора данных их физической таблицы в соответствии с определенным запросом на языке SQL

StopedProc

Делает доступными процедуры, хранимые на сервере

Database

Устанавливает связь с БД

BatchMove

Для групповых операций переноса данных из одного набора в другой

Session

Текущий сеанс работы с БД, для общего управления связью приложения с БД. Генерируется автоматически

Компоненты вкладки Data Access

DataSource

Источник данных, предназначен для связи компонентов типа Table и Query с компонентами отображения данных. Этот компонент исполняет роль посредника между элементами интерфейса приложения и наборами данных.

Остальные компоненты служат для связи с XML-документами, кеширования и работы с пакетами

Компоненты вкладки Data Controls

DBGrid

Сетка - для вывода таблицы с данными БД

DBNavigator

Навигатор - для управления работой БД

DBText

Надпись - для вывода строкового значения из поля таблицы БД

DBEDIT

Однострочный редактор - для вывода и редактирования строкового значения поля

DBMemo

Многострочный редактор - для вывода значения поля типа Memo

DBImage

Для вывода значения графического образа

DBListBox

Простой список - для вывода списка строковых значений поля

DBComboBox

Комбинированный список - для вывода списка строковых значений поля

DBCheckBox

Независимый переключатель - для вывода значения поля типа CheckBox

DBRadioGroup

Группа зависимых переключателей

DBLookupListBox

Простой список, формируемый по полю набора данных

DBRichEdit

Полнофункциональный текстовый редактор

DBCtrlGrid

Модифицированная сетка

DBChart

Диаграмма - для вывода графиков по данным БД

Компоненты ADO

ADOConnection

Для управления соединением с базой данных и передачи запросов поставщику данных

ADOCommand

Для управления информацией о запросе к базе или команде

ADORecordset

Содержит таблицу, которая является результатом запроса к базе данных

ADOField

Содержит описание поля в таблице, возращенной поставщиком данных.

Модуль данных (data modul) - это объект класса TDataModule, который, как и обычная форма, предназначен для размещения компонентов. Отличие состоит в том, что в них размещаются невизуальные компоненты. Это удобно для централизованного хранения в проекте компонентов Table и др. компонентов, используемых для организации доступа к базам данных.

Постановка задачи

В СУБД Access создана база данных «Телефонный справочник» (файл db_Telefon.mdb). База данных содержит одну таблицу, структура таблицы представлена на рисунке.

Используя технологию ADO, разработать приложение, которое будет работать с этой базой.

Порядок выполнения

1 часть

1. Создать новый проект, с вкладки dbGo поместить на форму компонент TADOConnection;

2. Настроить соединение с сервером:

· Дважды щелкнуть по компоненту ADOConnection

· В окне выбрать переключатель Use Connection String и щелкнуть Build (вызов мастера)

· На вкладке Поставщик данных выбрать драйвер доступа к данным Microsoft Jet 4.0OLE DB Provider и нажать Далее;

· На вкладке Подключение в строке Выберите или введите имя базы данных введите имя db_Telefon.mdb

Примечание: если база и исполняемый файл будут хранится в одной папке, путь указывать необязательно

· Щелкнуть по кнопке Проверить подключение. Если все указано верно, то выводится сообщение. Нажмите ОК.

· Закройте окно создания строки подключения Ок, закрыть редактор строки подключения ОК.

3. Продолжить настройку приложения:

· Для компонента ADOConnection отключить свойство LoginPromt - false(для того, чтобы при обращении к базе не запрашивался пароль)

· Для свойства Connected задать значение True, чтобы произошло соединение с базой

4. Для получения доступа к таблице базы:

· Установить на форме компонент ADOTable, изменить имя на BookTable

· Для свойства Connection из списка выбрать ADOConnection1

· В свойстве TableName выбрать имя таблицы

· Для свойства Active установить значение True

5. Для отображения данных из таблицы:

· Установить на форму компонент DataSource (вкладка Data Access),для свойства DataSet выбрать BookTable (указали какую таблицу отображать)

· Установит компонент DBGrid (вкладка Data Controls), для свойства DataSource Выбрать DataSource1.

6. Приложение готово. Запустите его, добавьте новые строки, отредактируйте существующие строки, удалите что-нибудь (Ctrl/Del). Для вставки строки используйте Ins.

Управление отображением данных

2 часть

7. Модифицировать таблицу в базе данных, добавив еще два поля Дата и Мобильник (файл взять у преподавателя).

8. Перенести компоненты доступа к базе в специальное окно:

· Выделить компоненты ADOConnection1, DataSource1 и BookTable и вырезать в буфер обмена (Edit /Cut)

· Выбрать в меню File/New/Other, выбрать категорию Delphi Files, выбрать Data Module, выполнить Edit/Paste

· Сохранить новый модуль под именем DataModuleUnit

9. Отобразить на экране менеджер проектов New / Project Manager

10. Вернитесь на главную форму, обратите внимание, что данных в сетке нет, т.к. потеряна связь с компонентами доступа к базе. Восстановим связь:

· Выбрать в меню File / Use Unit, выбрать в окне DataModuleUnit, Ок.

· Проверьте теперь в редакторе кода после слова Implementation появилась запись uses DataModuleUnit

· Для компонента DBGrid1 изменить свойство DataSource, выбрав DataSource1.

11. Перейти в модуль DataModuleUnit и настроить отображение данных:

· Дважды щелкнуть по BookTable, отобразиться окно для редактирования полей базы, пока оно пустое

· Щелкните в окне правой кнопкой мыши и выберите Add All Field

· Выделить поле Key1 и убрать у него видимость, перейдите на главную форму, убедитесь, что поле не отображается

· Отредактировать ширину колонок: выделить поле Фамилия, свойству DisplayWidth дать значение 15, сократите ширину для поля Имя.

· Выделите поле Дата, для свойства DisplayLabel укажите значение Дата рождения (имя поля не меняется, только подпись), для свойства DisplayFormat указать dddddd, для свойства EditMask указать маску ввода 99/99/99.

· Выделите поле Мобильник, для свойства DisplayValues указать значение Да;Нет

12. Просмотрите, как изменилось отображение данных.

Поисковые поля

3 часть

13. В поле Город отображается числовое значение (номер города), а пользователю нужно показывать название города. Создадим отдельную таблицу Справочник городов в нашей базе, включив в нее поля: Key1 (счетчик, ключевое поле) и Название города (текстовое поле размер 30). Базу данных взять у преподавателя.

14. В модуль DataModuleUnit добавитькомпонент DataSource (назвать TownSource) и ADOTable (назвать TownTable), у компонента TownSource в свойстве DataSet указать TownTable.

15. Настроить отображение справочника городов:

· В свойстве Connection указать компонент ADOConnection1

· В свойстве TableName указать таблицу Справочник городов

· Для свойства Active значение True

· Дважды щелкнуть по TownTable, добавить все поля, поле Key1 сделать невидимым.

16. Создать новую форму (name - TownBookForm )для редактирования справочника, сохранить ее в модуле под именем TownBookUntil

17. Подключить к новой форме модуль DataModuleUnit, выполнив File / Use Unit, выбрать DataModuleUnit, Ок

18. Добавить на форму сетку DBGrid, в свойстве DataSource указать таблицу Справочник городов - DataModule1.TownSource.

19. Доработать интерфейс формы Справочник городов:

· Добавить меню

Редактирование Назад

сохранить

добавить

удалить

· Для пункта Добавить ввести код

DataModule1.TownTable.Insert;

dbGrid1.SetFocus;

· Для пункта Сохранить ввести код

If DataModule1.TownTable.Modified Then

DataModule1.TownTable.Post;

· Для пункта Удалить ввести код

DataModule1.TownTable.Delete

20. Перейти на главную форму, создать меню:

Файл Редактирование Справочники Выход Справочник городов

21. Для пункта Справочник городов ввести код:

TownBookForm.ShowModal;

22. Загрузить программу, вызвать Справочник городов и добавить несколько строк. Закрыть программу.

23. Для компонента DBGrid1 на главной форме для свойства Options / dgEditing установить значение False (редактирование данных запрещено).

24. В пункт меню Редактирование добавить подпункты: Добавить запись, Редактировать запись, Удалить запись

25. Создать панель с кнопками для быстрого доступа к пунктам меню

26. Создать новую форму для редактирования каждой записи, изменить свойства:

Name - EditFormUnit,

BorderStyle - bsSingle,

Position - poMainFormCenter

форму сохранить по именем EditFormUnit.

27. Подключить к новой форме модуль с данными

28. Привести форму в соответствие с образцом:

· Поля для ввода брать на вкладке Data Control.

· Чтобы компонент видел данные из нужного поля, указать у него в свойстве DataSource нужную таблицу (DataModule1.DataSource1, также как это делали с сеткой редактирования), в свойстве DataField указать поле, которое надо редактировать (самостоятельно).

· Для выбора города добавить компонент DBLookupComboBox, для свойства DataSource указать основную таблицу DataModule1.DataSource1, в свойстве DataField указать поле Город, в свойстве ListSource указать DataModule1.TownSource, свойстве ListField указать Название города, в свойстве KeyField указать поле Key1.

29. Для кнопки Сохранить ввести код:

If DataModule1.BookTable.Modified Then

DataModule1.BookTable.Post;

30. Для кнопки Отмена ввести код:

DataModule1.BookTable.Cancel

31. Перейти на главную форму и для пункта меню Добавить запись ввести код:

DataModule1.BookTable.Insert;

EditRecordForm.ShowModal;

32. Для пункта меню Редактировать запись ввести код:

EditRecordForm.ShowModal;

33. Загрузить программу, создать новую запись, в поле Город выбрав какое-нибудь значение из справочника, нажмите Сохранить. Просмотрите сетку.

34. Результат показать преподавателю

35. Для пункта меню Удалить запись ввести код:

If Application.MessageBox(PChar(`Вы действительно хотите удалить'+DataModule1.BookTableDSDesigner.AsString), `Внимание!!!', MB_OkCancel)=id_Ok then DataModule1.BookTable.Delete;

Примечание:

DataModule1 имя модуля

BookTableDSDesigner имя поля с фамилией (дважды щелкнуть по BookTable и смотреть свойство поля Фамилия, если имя отличается, скорректировать код)

AsString метод, возвращающий значение в виде строки

36. В сетке на главной форме город отображается в виде индекса строки в справочнике городов, исправим недостаток, для этого:

· Перейти в модуль DataModule1, выделить компонент

· Сделать его неактивным (Active False)и дважды по нему щелкнуть

· Создать новое поле: щелкнуть в окне, выбрать New Field

· В окне заполнить поля следующим образом:

Name - Town, Type - String,

FieldType - Lookup (поисковое поле),

KeyField - Город,

DataSet - TownTable (таблица, где нужно искать)

Lookup Keys - Key1 (по этому полю надо искать),

Result Field - Название города, нажать Ок

· Появилось новое поле, перетащить его ближе к полю Город

· Сделать таблицу BookTable вновь активной загрузить программу, просмотреть результат.

37. Сделать поле Город невидимым, чтобы не видеть числа, а над полем Town написать надпись Город (самостоятельно)

Сортировка и фильтрация данных

4 часть

Поиск данных и сортировка выполняются по индексным полям. В телефонном справочнике чаще ищут информацию по номеру телефона или фамилии. В таблице Справочник для полей Фамилия и Телефон свойство Индексированное поле имеет значение Да(допускаются совпадения).

38. Добавить в меню пункт Сортировка и подпункты По телефону, по Фамилии

39. для подпунктов ввести соответствующий код:

DataModule1.BookTable.IndexFieldMNames:='Фамилия';

DataModule1.BookTable.IndexFieldMNames:='Телефон';

40. Реализовать функцию поиска данных, для этого:

· добавить на форму панель, на нее метку Найти и TEdit с именем FindEdit

· ввести следующий код:

procedure TForm1.FindEditChange(Sender:TObject);

begin

if Length(FindEdit.Text)>0 then

DataModule1.BookTable.Filtered:=true

Else DataModule1.BookTable.Filtered:=false;

DataModule1.BookTable.Filter:='Фамилия>'''+FindEdit.Text+'''';

end;

41. Проверить работу программы.

Фильтры в ADO работают плохо, но в Delphi можно расширить возможности фильтрации.

42. Перейти в модуль DataModule1, для компонента BookTable выбрать событие OnFilterRecord и ввести код:

Accept:=false;

if copy(BookTableDSDesigner.AsString,1,Length(Form1.FindEdit.Text))=Form1.FINDedit.Text then

Accept:=true; {строка соответствует фильтру, ее можно отображать}

end;

43. Проверить работу программы.

ИНДИВИДУАЛЬНЫЕ ПРОЕКТЫ

Общие рекомендации по разработке

Разработка индивидуального проекта может быть одним из вариантов завершения изучения темы «Программирование в среде Delphi».

Цель- овладение умением обобщить и систематизировать теоретический курс по «Основам алгоритмизации и программирования» и умение применить его практически.

Работа над проектом ведется студентом самостоятельно и состоит из нескольких этапов:

Первый этап - подготовительный - имеет цели:

· самостоятельный выбор темы проекта, ознакомление с общими требованиями по разработке;

· утверждение варианта темы преподавателем в ходе собеседования;

· сбор исходных данных в соответствии с темой проекта, работа с литературой;

Второй этап - проектирование приложения.

Проектирование приложения включает в себя:

· разработку алгоритма;

· проектирование интерфейса приложения;

· программную реализацию;

· тестирование и отладку.

Третий этап - итоговый - предполагающий оформление отчета и защиту проекта.

Отчет должен включать:

· титульный лист и содержание;

· постановку задачи;

· описание интерфейса приложения;

· инструкцию пользователю;

· листинг программного кода с комментариями.

· заключение (дать характеристику разработанному приложению, указать возможную сферу применения).

· список использованной литературы;

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

Примерные темы индивидуальных проектов

Приложение «Морской бой»

Постановка задачи: Разработать приложение, реализующее алгоритм игры «Морской бой». Играют два игрока - пользователя. Каждый игрок выполняет расстановку своих кораблей: два трехпалубных, три двухпалубных, четыре однопалубных корабля. После проверки правильности расстановки кораблей, изображение кораблей «прячется» от противника. Разыгрывается право первого хода. Активный игрок выполняет ход, указывая координаты корабля противника. Переход ход происходит в случае «стрельба мимо». Выигрывает тот, кто первый «подобьет» корабли противника.

Приложение «Как стать миллионером»

Постановка задачи: Разработать приложение, реализующее алгоритм игры «Кто хочет стать миллионером?». Подготовить внешний файл, содержащий 14 вопросов и 4 варианта ответов на каждый из них. Приложение должно выводить очередной вопрос и варианты ответов. Переход к следующему вопросу происходит только в случае верного ответа. Реализовать возможность трех подсказок: 50 на 50, «помощь зала», звонок другу. Игрок имеет право на три несгораемых суммы.

Приложение «Арканоид»

Постановка задачи: Разработать приложение, реализующее алгоритм игры «Арканоид». На игровом поле расположена «кирпичная стенка». Игрок, управляя «лаптой», должен отбивать постоянно движущийся шарик и выбивать «кирпичи» в стенке. Если шарик не отбит лаптой, игрок теряет свои очки. Игрок выигрывает, если все «кирпичи» стали невидимы.

Приложение «Клавиатурный тренажер»

Постановка задачи: Разработать приложение, позволяющее тренировать навыки работы с клавиатурой. Предусмотреть несколько уровней сложности тренажера. Приложение должно сохранять лучшие результаты игроков.

Приложение «Крестики - нолики»

Постановка задачи: Разработать приложение, реализующее алгоритм игры «Крестики-нолики». В игре участвуют два игрока: пользователь и компьютер. В начале игры разыгрывается право первого хода. Выигрывает тот, кто первый построит линию из своих знаков.

Приложение «Будильник»

Постановка задачи: Разработать приложение, позволяющее имитировать работу будильника с двумя стрелками: часовой и минутной. Будильник должен показывать текущее время. Предусмотреть возможность настройки циферблата будильника (цвет, шрифт) и звуковой сигнал на определенное пользователем время.

Приложение «Шифрование текста»

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

Приложение «Построение графика функции»

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

Приложение «Обучающая программа по английскому языку»

Постановка задачи: Разработать приложение, позволяющее пользователю воспроизводить произношение некоторых английских слов и их перевод.

Приложение «Файловый менеджер»

Постановка задачи: Разработать приложение, позволяющее пользователю работать с файловой системой используемого компьютера:

· просмотр содержимого внешних носителей информации;

· просмотр дерева каталогов диска;

· просмотр содержимого выбранного каталога;

· удаление и переименование файла;

· определение объема свободной памяти диска.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. Голицына О.Л., Попов И.И., Основы алгоритмизации и программирования, Учебное пособие. М.: ИНФРА-М, 2002.

2. Аляев Ю.А., Козлов О.А, Алгоритмизация и языки программирования, Учебно-справочное пособие, М.: Финансы и статистика,2002.

3. Шпак Ю.А., Delphi 7 на примерах, Учебное издание, К.: Изд. Юниор, 2004.

4. Климова Л.М., Delphi Основы программирования. Решение типовых задач, Самоучитель, М.: КУДИЦ-ОБРАЗ, 2004.

5. Зубов А., Программирование на Delphi. Трюки и эффекты, СПб.: Питер, 2005.

6. Ремнев А.А., Федотов С.В., Курс Delphi для начинающих. Полигон нестандартных задач., М.: СОЛОН-ПРЕСС, 2006.

ПРИЛОЖЕНИЕ 2

Процедуры и функции Delphi

(краткое изложение)

Математические

Назначение

Пример

использования

ABS

Возвращает абсолютное значение

Y:=ABS(X);

ROUND

Округление к ближайшему целому

Y:=ROUND(X)

TRUNC

Округление в меньшую сторону

Y:=TRUNC(X)

INT

Возвращает целую часть вещественного числа

Y:=INT(X)

FRAC

Возвращает дробную часть числа

Y:=FRAC(X)

SQR

Возвращает квадрат указанного значения

Y:=SQR(X)

SQRT

Возвращает квадратный корень

Y:=SQRT(X)

RANDOM

Возвращает случайное число из области, ограниченной заданным значением

Y:=RANDOM(100)

RANDOMIZE

Позволяет задать случайное начальное значение для функции RANDOM

RANDOMIZE

TAN

Возвращает тангенс указанного числа

Y:=TAN(X)

Для работы с датами и временем

Назначение

Пример использования

CurrentYear

Возвращает текущий год

Label2.Caption:= IntToStr(CurrentYear)

Date

Возвращает текущую дату

Label2.Caption:= DateToStr(Date)

DayOfWeek

Возвращает число от 1 до 7,которое определяет день недели

If DayOfWeek(Date)=1 then Label2.Caption:='воскресенье';

DecodeDate

Преобразует дату в раздельные составляющие: год, месяц, день

DecodeDate(Date,Year,Moth,Day);

Time

Возвращает текущее время в формате TDateTime

Label2.Caption:=TimeToStr(Time);

DecodeTime

Преобразует время в раздельные составляющие: час, минуту, секунду, миллисекунду

DecodeTime(Time,H,M,Sec,MSec);

IncMonth

Возвращает дату, отстоящую от заданной даты на указанное число месяцев

s:=IncMonth(Date,4);

Диалоговые

Назначение

Пример использования

ShowMessage

Позволяет отобразить информационное окно с предустановленной кнопкой Ok

ShowMessage(`Error ')

InputBox

Позволяет создавать окно диалога для ввода пользовательской информации

S:=InputBox('Вход в систему','Ваш пароль','777');

MessageDlg

Позволяет отобразить информационное окно с набором кнопок

If MessageDlg('Вы уверены? ',mtConfirmation,[mbYes,mbNo],0) = mrYes Then Exit;

Преобразование типов

Назначение

Пример использования

VAL

Преобразование строки в целое или вещественное число

VAL(STROKA,Y,CODE)

STR

Преобразование целого или вещественного числа в строку

STR(Y,STROKA)

DateToStr

Преобразование даты в строку

Label2.Caption:= DateToStrDate(Date)

StrToDate

Преобразование строки в дату

S:=StrToDate(Edit1.text);

TimeToStr

Преобразование строки во время

Label2.Caption:=TimeToStr(Time);

Для работы с символами и строками

Назначение

Пример использования

CHR

Возвращает символ по указанному коду ASCII

S:=CHR(X)

INSERT

Позволяет вставить одну строку в другую, начиная с заданного символа

Insert(context,stroka,3)

COPY

Возвращает заданную часть строки

S:=COPY(stroka,1,5)

LENGTH

Возвращает число символов строки

K:= LENGTH(stroka)

POS

Возвращает позицию вхождения указанной последовательности символов в заданную строку

K:=POS(context,stroke)

UpperCase

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

S2:= UpperCase(S1)

LowerCase

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

S2:= LowerCase(S1)

DELETE

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

DELETE(stroka,2,4)

TRIM

Возвращает строку, в которой удалены пробелы с обеих сторон

S2:=TRIM(s1)

ПРИЛОЖЕНИЕ 3

Именованные константы в Delphi

Именованные константы тип TColor

Константа

Цвет

Константа

Цвет

clBlack

Черный

clSilver

Серебристый

clMaroon

Каштановый

clRed

Красный

clGreen

Зеленый

clLime

Салатный

clOlive

Оливковый

clBlue

Синий

clNavy

Темно-синий

clFuchsia

Ярко-розовый

clPurple

Розовый

clAqua

Бирюзовый

clTeal

Зелено-голубой

clWhite

Белый

clGray

Серый

Именованные константы, определяющие стиль линии

Константа

Вид линии

psSolid

Сплошная линия

psDash

Пунктирная линия, длинные штрихи

psDot

Пунктирная линия, короткие штрихи

psDashDot

Пунктирная линия, чередование длинного и короткого штрихов

psDashDotDot

Пунктирная линия, чередование одного длинного и двух коротких штрихов

psClear

Линия не отображается (используется, если не надо изображать границу области, например, прямоугольника)

Именованные константы, определяющие стиль заполнения замкнутого контура

Константа

Тип заполнения (заливки) области

bsSolid

Сплошная заливка

bsClear

Область не закрашивается

bsHorizontal

Горизонтальная штриховка

bsVertical

Вертикальная штриховка

bsFDiagonal

Диагональная штриховка с наклоном линий вперед

bsBDiagonal

Диагональная штриховка с наклоном линий назад

bsCross

Горизонтально-вертикальная штриховка, в клетку

bsDiagCross

Диагональная штриховка, в клетку

Размещено на Allbest.ru


Подобные документы

  • Разработка головоломки на основе гравюры Альбрехта Дюрера "Магический квадрат". Главные составные части среды программирования Delphi, особенности ее стандартных компонентов и процесса сохранения программы. Компоненты и алгоритмы создаваемой программы.

    курсовая работа [147,1 K], добавлен 05.02.2015

  • Особенности среды визуального проектирования Borland Delphi 7.0. Этапы разработки программы и составления блок-схемы алгоритмов. Способы вычисления кусочно-заданной функции одной переменной. Рассмотрение компонентов среды Delphi, ее предназначение.

    контрольная работа [703,8 K], добавлен 24.09.2012

  • Borland Delphi 7 как универсальный инструмент разработки, применяемый во многих областях программирования, функции: добавление информации об абитуриентах в базу данных, формирование отчетов. Рассмотрение и характеристика основных компонентов Delphi.

    контрольная работа [3,6 M], добавлен 18.10.2012

  • Delphi как среда разработки программ, ориентированных на работу в Windows. Назначение и преимущество использования электронных учебников. Описание возможностей среды Delphi 5 для разработки электронного учебника. Варианты применения служб Internet.

    дипломная работа [3,6 M], добавлен 13.07.2011

  • История интегрированной среды разработки, версии Delphi. Организация библиотеки компонентов. Страница Additional, ряд часто используемых компонентов общего назначения. Исполняемый файл программы "Архиватор текстовых файлов", интерфейс приложения.

    курсовая работа [1019,0 K], добавлен 16.05.2017

  • Основные приемы работы в среде программирования Delphi. Особенности технологии создания простейших приложений. Работа с компонентами среды разработки приложений. Ввод, редактирование, выбор и вывод информации. Аспекты использования структуры ветвления.

    методичка [619,9 K], добавлен 17.11.2011

  • Эффективные средства разработки программного обеспечения. Технология визуального проектирования и событийного программирования. Конструирование диалоговых окон и функций обработки событий. Словесный алгоритм и процедуры программы Borland Delphi 7 Studio.

    дипломная работа [660,2 K], добавлен 21.05.2012

  • Ознакомление с историей создания и особенностями объектно-ориентированного языка программирования Delphi. Разработка приложения, фиксирующего количество повторений какого-либо слова в тексте, введённом в поле MEMO. Описание интерфейса программы.

    курсовая работа [880,1 K], добавлен 21.04.2015

  • Теоретические основы применения технологии ADO в среде Delphi. Основные понятия и определения теории баз данных. Компоненты Delphi для создания приложений, оперирующих с базами данных. Общий вид и основные особенности работы приложения "Аптека".

    курсовая работа [1,4 M], добавлен 09.08.2012

  • Программа поиска в базе данных в среде Borland Delphi 7.0 Enterprise. Условия и блок-схемы задач. Ввод массива. Текст программ в Delphi, в Паскаль. Текст программы поиска в базе данных. Кодирование материала. Изготовление реляционной базы данных.

    практическая работа [27,6 K], добавлен 11.10.2008

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.