11. Дважды щелкните на кнопке Save и введите следующую строку в качестве ее обработчика события OnClick: .

Memo1.Lines.SaveToFile( SaveDialog1.Filename);

12. Наконец, для кнопки Save As укажите следующее:

 WITH SaveDialog1 DO

 IF Execute THEN

 BEGIN

 Memo1.Lines.SaveToFile(Filename);

 Caption:='My Editor - ' +

 ExtractFilename(Filename);

End;

Мы создали простой текстовый редактор. Он позволяет загружать, редактировать и сохранять небольшие и средние файлы. Возможности этого редактора приблизительно такие же, как и у приложения Notepad (Блокнот) Windows. Можно вырезать, копировать и вставлять текст, используя стандартные комбинации клавиш Windows. Имя каждого открытого файла добавляется в список диалога открытия файла на случай, если вам потребуется открыть его снова. Этот проект нам еще понадобится, поэтому сохраним его. Назовем модуль MYEDITU.PAS, а главный проект - MYEDIT.PRJ.

Диалог выбора шрифта.

Загрузите опять проект MyEdit и поместите на форму компонент FontDialog. Переместите кнопку Exit вправо и вставьте кнопку с заголовком &Font между кнопками Save As и Exit. В обработчик события OnClick новой кнопки поместите следующий код:

WITH FontDialog1 DO

 IF Execute THEN

 BEGIN

 Memo1.Font:= Font;

Следующую строку поместите в обработчик события OnApply компонента FontDialog:

 Memo1.Font:= FontDialog1. Font;

Запустите программу и загрузите файл. С помощью кнопки Font выберите какой-нибудь шрифт. Используя все возможности, создайте самый необычный вариант. Содержимое файла будет отображаться выбранным вами шрифтом с применением указанного размера, стиля и цвета. Опять откройте диалог выбора шрифта и переместите его так, чтобы он не закрывал самого окна редактора. Внесите несколько изменений в окне диалога и щелкните на кнопке Apply (Применить). Изменения станут действительными немедленно, а диалог Font (Шрифт) не закроется. Это упрощает испытание различных возможностей. Обратите внимание, что в этом примере программы, после того как была использована кнопка Apply (Применить), вы никак не сможете отменить внесенные изменения. С другой стороны, это не такая уж и большая беда - если не устраивает только что выбранный шрифт, можно вернуть шрифт, использовавшийся раньше.

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

Компонент Memo не обладает способностью отображать больше одного шрифта сразу. Для этого существуют другие компоненты.

Добавим в свою программу диалог выбора цвета.

1. Поместите на новую форму диалог выбора цвета (компонент ColorDialog) и присвойте его свойству Color значение clWhite.

2. Установите свойство Ctl3D формы в False, а в качестве константы цвета также выберите clWhite.

3. Поместите на форму новую кнопку, назовите её Color.

В обработчик события OnClick формы поместите следующие строки:

IF ColorDialog1.Execute THEN

Form1.Color := ColorDialog1.Color;

4. Запустите программу.

Диалог выбора принтера.

Загрузите опять проект MyEdit и поместите на него диалог настройки принтера компонент PrinterSetupDialog). Компонент Bevel расположите таким образом, чтобы осталось место для второго ряда кнопок, где разместите две новые кнопки, оза-аавленные &Print... и P&rint Setup.... Создайте обработчик события OnClick кнопки Print Setup с единственной строкой кода:

 PrinterSetupDialog1.Execute;

Запустите программу и щелкните на кнопке Print Setup (кнопка Print пока еще делать ничего не может). Появится диалог.

 

Подготовка к печати.

Диалог Print Setup (Настройка принтера) используется для выбора и конфигурации принтера. Когда дело дойдет до печати, в действие вступит диалог Print (Печать).

В проект MyEdit добавьте компонент PrintDialog, оставив все его свойства со значениями, установленными по умолчанию. Дважды щелкните на кнопке Print, и замените пару begin-end следующим кодом:

VAR

 POutput: TextFile;

 N : LongInt;

BEGIN

 IF PrintDialog1.Execute THEN

 BEGIN

 AssingPrn (POutput);

 Rewrite (POutput);

 Printer.Canvas.Font: = Memo1.Font;

 FOR N: = 0 to Memo1.Lines.Count – 1 DO

 Writeln(POutput, Memo1.Lines [N]);

 CloseFile (POutput);

 END;

 END;

Перейдите в верхнюю часть модуля и добавьте Printers в оператор uses. (Найдите строку в начале файла, начинающуюся со слова uses. После этого слова добавьте имя модуля и запятую.) Выберите на форме компонент FontDialog и присвойте его свойству Device значение fdBoth, чтобы ограничить выбор шрифтами, которые годятся и для экрана, и для принтера.

Мы только что добавили в ваш редактор возможность печати. Этот редактор не позволяет печатать несколько копий или направлять их в подбор, но вы сможете распечатать содержимое редактора любым шрифтом. А с помощью диалога Print Setup (Выбор принтера) вы сможете выбрать принтер, ориентацию бумаги и параметры конфигурации, соответствующие вашему принтеру.

 

Диалог поиска и замены текста.

Загрузите проект MyEdit и установите свойство HideSelection компонента Memo в False. На форме разместите компоненты FindDialog и ReplaceDialog и выберите их оба. Дважды щелкните на свойстве Options и установите frHideMatchCase, frHideWholeWord и frHideUpDown в True. Добавьте во второй ряд кнопки с заголовками Fi&nd... и &Replace... Для события OnClick кнопки Find используйте следующую строку:

FindDialogl.Execute;

а для кнопки Replace следующую строку:

ReplaceDialogl.Execute;

Выберите компонент FindDialog, перейдите на страницу Events и дважды щелкните на событии OnFind. Вставленную Delphi пару begin-end замените следующим блоком кода:

 VAR

 Buff, P, FT: Pchar;

 BuffLen : Word;

 begin

 WITH Sender AS TFindDialog DO

 BEGIN

 GetMem (FT, Length (FindText) + 1);

 StrPCopy (FT, FindText);

 BuffLen := Memo1.GetTextLen + 1;

 GetMem (Buff, BuffLen);

 Memo1.GetTextBuff (Buff, BuffLen);

 P: = Buff + Memo1.SelStart + Memo1.SelLength;

 P: = StrPos (P, FT);

 IF P = NIL THEN MessageBeep (0)

 ELSE

 BEGIN

 Memo1.SelStart: = P-Buff;

 Memo1.SelLength: = Length (FindText);

 END;

 FreeMem (FT, Length (FindText) + 1;

 FreeMem (Buff, BuffLen);

 END;

 end;

Когда закончите, щелкните на компоненте ReplaceDialog, перейдите на страницу Events в окне Object Inspector и щелкните на кнопке раскрытия списка обработчика события OnFind. Из появившегося списка выберите только что созданный обработчик события для FindDialog. Теперь создайте обработчик события OnReplace со следующими строками:

 WITH Sender AS TReplaceDialog DO

 WHILE True DO

 BEGIN

 IF Memo1.SelText <> FindText THEN

 FindDialodFind (Sender);

 IF Memo1.SelLength = 0 THEN Break;

 Memo1.SelText: = ReplaceText;

 IF NOT (frReplaceAll IN Options) THEN Break;

 END;

Сохраните программу, запустите ее и загрузите текстовый файл. Замените в нем все точки на восклицательные знаки и сохраните его.

Задание. Создайте форму для открытия графических файлов.

Лабораторная по Delphi. Работа с базами данных.

Работа с Database Form Expert.

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

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

1. Запустите Delphi.

2. Выберите Database/Database Form Expert из главного меню.

3. В первом диалоговом окне выберите Create a simple form и Great a form using TTable objects; нажмите Next.

4. В следующем диалоговом окне выберите DBDEMOS в секции Drive or Alias. Выделение DBDEMOS выводит список таблиц, составляющих базу данных, в панели списка слева.

5. Выберите EMPLOYEE.DB; щелкните мышью на Next.

6. Нажмите кнопку >>, чтобы указать, что вы хотели бы построить форму с отображением всех полей .

7.Продолжайте выбирать Next, принимая все по умолчанию до окончания процесса создания формы.

8.Выберите из меню Run/Run.

Это простейшее приложение дает пользователю полный контроль над таблицей, содержащей информацию о служащих. Чтобы манипулировать записями, вверху формы размещена панель управления базой данных. Каждая кнопка панели выполняет определенную функцию базы данных.

Поработав с этим простым пользовательским интерфейсом, выберите Close, чтобы завершить приложение.

Использование Database Desktop для создания новой таблицы

Создадим таблицу нового образца. Borland Database Desktop доступна в меню Tools в IDE Delphi. Выберите эту опцию для вызова рабочего стола.

Создание новой таблицы

1. Выберите опцию File/New/Table из главного меню. В этот момент появится диалоговое окно, запрашивая тип таблицы, которую вы хотите создать. При разработке новых приложений наиболее удобна простотой работы с ней база данных Paradox; поэтому выберите Paradox 7 и нажмите ОК.

2. Прежде всего вы должны решить, какие данные вы хотите хранить в вашей таблице и каков тип этих данных. В этом примере рассмотрим таблицу информации о студентах университета. Каждое поле должно быть занесено в раздел Field Roster (список полей) диалогового окна. Чтобы занести первое поле, введите SSN в колонке имени поля (Field Name). Это означает, что вы хотите добавить новое поле, названное SSN.

3. Следующая часть информации требует указания, какой тип данных будет храниться в поле. Номера Social Security (социальной страховки) хранятся как строки символов. Щелкните правой кнопкой мыши на поле Type, чтобы показать имеющиеся в наличии типы данных. Для строк Paradox использует тип Alpha. Выберите Alpha из списка типов данных.

4. Некоторые типы данных требуют указания размера. Это говорит базе данных о наибольшем объеме данных, который может храниться в поле. Что касается номеров страховки, то нам известно, что SSN состоит из 11 символов, включая тире, так что введем в это поле число 11. Некоторые типы данных, такие как Number (число), не используют понятия “размер поля”.

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

6. Чтобы определить следующее поле в таблице, нажмите Enter. Продолжайте определять поля, используя информацию из таблицы

Таблица .Определение полей таблицы и их атрибутов

Имя поля Тип Размер Ключ

SSN А 11 *

Name А 30

Class A 10

Phone A 8

GPA N


Информация о работе «Программирование. Delphi»
Раздел: Информатика, программирование
Количество знаков с пробелами: 36515
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
44688
14
5

... . И хотя, используя недокументированные возможности и определённые ухищрения, всё это можно реализовать и на VB; пользоваться этими трюками гораздо сложнее, чем, например, на Delphi. 4. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ ЗАДАЧ С ИСПОЛЬЗОВАНИЕМ ЯЗЫКА ПРОГРАММИРОВАНИЯ DELPHI   4.1 Задача 1. Примитивный калькулятор   1. Войдите в среду Delphi, дважды щелкнув мышью на пиктограмму Delphi или через меню “ ...

Скачать
24807
0
10

... инструмент полезен, когда программа находится в опытной эксплуатации - можно получить важную информацию при крушении системы. 4.                        Стандартные компоненты Для дальнейшего знакомства со средой программирования Delphi потребуется рассказать о составе первой страницы Палитры Компонент. На первой странице Палитры Компонент размещены 14 объектов (рис.8) определенно важных для ...

Скачать
49846
2
0

... панели клавишу, то никакого эффекта не должно быть, если не указано что-либо иное. --14-- ПРИЛОЖЕНИЕ В качестве примера по созданию пользовательского интерфейса, я прилагаю к реферату программу Anna 1.2, написанную мною в системе программирования Delphi 6. В ней использованы почти все основные принципы, приёмы, и законы создания пользовательского интерфейса. СТРУКТУРА ПРОГРАММЫ Программа Anna ...

Скачать
31284
0
16

... мотивации усвоения знаний за счет разнообразия форм работы, включения игрового момента, объективность и своевременность результатов теста. В связи с этим целью нашей курсовой работы стала разработка электронного пособия «программирование в Delphi», которое дает возможность комплексного изучения среды программирования Delphi 7. Этот учебник позволяет проводить лекционные и практические занятия, ...

0 комментариев


Наверх