Реферат: Записная книжка на Delphi 7

Министерство науки иобразования Украины

ФТЛ при ХДТУ и ДНУ

Научно-исследовательская работа

по информатике:

«Записная книжка на Delphi7»

 

                                                                       Сделал:        ученик 10-Екласса   

                                                                                          Закревский Игорь

                                                                        Проверил:        учительинформатики

                                                                             НогаЛ.В.

                                                                                               

г. Херсон – 2005

Содержание

   I.   Вступление…………………………………………………………………………...…… 3

    II.  Оболочка главной программы «Записная книжка»

  1.Постановка задачи …………………………………………………………………………. 5

  2. Описаниесоздания главной программы …………………………………………………. 5

  3. Описаниепроцедур и функций компонентов, использованных в программе ………… 9

    III.Описание вспомогательных программ, использованных в программе «Записная книжка»

1.<span Times New Roman"">    

Программа «Справочникдрузей»

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

б) Создание интерфейса……………………………………………………………………… 14

в) Описание процедур ифункций, использованных компонентов ………………………… 14

2.<span Times New Roman"">    

Программа «Media Player»

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

б) Создание интерфейса……………………………………………………………………… 16

в) Описание процедур ифункций, использованных компонентов ………………………. 16

3.<span Times New Roman"">    

Программа «CD-Rom»

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

б) Создание интерфейса……………………………………………………………………… 17

в) Описание процедур ифункций, использованных компонентов ………………………. 17

4.<span Times New Roman"">    

Программа «Напомнить о…»

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

б) Создание интерфейса……………………………………………………………………… 17

в) Описание процедур исвойств, использованных компонентов ……………………….. 19

IV.<span Times New Roman"">           

Заключение …………………………………………………………………………… 22

V.<span Times New Roman"">              

Список использованной литературы ………………………………………………. 23

— 2 —

Вступление

Моя программа «Записная книжка» сделана на языкепрограммирования Delphi 7. В ней можно создавать какие то нужные вам заметки.Так как таких программ множество, то я в неё добавил несколькодополнительно  написанных  программ, для удобного пользования. С помощьюэтих программ, например, можно во время пользования «Записной книжкой»прослушать музыкальные композиции или записать в справочник информацию оком-то,   то есть: фамилию, имя, адрес,телефон. А так же при использовании программы «Напомнить о...» можно выставитьвремя, через которое будет высвечено сообщение, которое вы сами введёте, а также есть возможность выставления проигрывания музыкального файла и высвечиваниявашего сообщения. Есть программа, которая открывает и закрывает лоток CD-Rom’а,теперь не нужно каждый раз нагибаться к CD-Rom’у. Программа похожа на«Текстовый документ» О.С. Windows, как и в ней в моей программе можновыставлять шрифт и цвет написанного текста. Все параметры которые вы меняетесохраняются в INI– файл, который создаётся в Windows. Реализовалподдержку нескольких пользователей – сохраняя информацию каждого пользователя вфайл, что бы открыть нужный файл – просто нужно зайти Файл|Открыть. Естьфункция быстрого вставления в ваш текст сегодняшнюю  дату и время. Так же есть «Поиск» — можнонайти нужный вам текст или дату.

Так как программа написана на языке программированияDelphi, то несколько слов о этом языке программирования.

 Delphi – однаиз самых мощных систем, позволяющих на самом современном уровне создавать какотдельные прикладные программы Windows, так и разветвленные комплексы,предназначенные для работы в корпоративных сетях и в Интернет.

  Delphi– это система визуальногообъектно-ориентированного программирования, позволяющая решать множество задач,в частности:

    1.Создаватьзаконченные приложения для Windows самой различной направленности, от чистовычислительных и логических, до графических и мультимедиа.

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

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

    4.Создаватьмногозвенные распределенные приложения, основанные на различных технологиях.

    5.Создаватьприложения, которые управляют другими приложения, в честности, такимипрограммами Microsoft Office, как Word, Excel и др.

    6.Создаватькросс-платформенные  приложения, которыеможно компилировать и эксплуатировать как и в Windows, так и в системе Linux.

    7.Создаватьприложения различных классов для работы в Интернет и в интранет.     

    8.Создаватьпрофессиональные программы установки для приложений Windows,

учитывающие всю специфику и все требования Windows.

— 3 -

    9. И многоедругое, включая создания отчетов, справочных систем, библиотек DLL, компонентовActiveX.

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

  Таким образом,Delphi 7 прекрасное средство создания приложений для Windows, Delphiпревращается в инструмент создания приложений для многозвенных распределенныхкросс-платформенных корпоративных информационных систем.

— 4 -

Главная программа «Записная книжка»

 Постановка задачи Главная формы будет похожа на программу «Текстовый документ» Windows, нос немного другим интерфейсом и новыми функциями. Будет реализована панельинструментов на которую выложим кнопки которые, на мой взгляд, будут частоиспользоваться пользователем. Также будут часы. При запуске программы будетзагружаться последний файл, который был открыт перед закрытием программы, атакже когда перед закрытием программы будет задаваться вопрос о сохранениефайла. При создании нового файла с заметками, сразу этот файл будет сохранятсяна жестком диске ПК. Будет стандартный набор для работы с текстом: копировать,вырезать, вставить, найти, отменить последние действие. Будет 4 программы:«Справочник друзей», «Media Player», «CD-Rom», «Напомнить о…»(см. выше).Создание главной формы Создаём новый проект: File | New | выбираем Application.

  В свойстве Captionформывведём текст: ‘Записная книжка’, а в свойстве формы Nameвведём имя формы: ‘MainForm’. В свойстве формы AutoSizeнужно выставить True,для то чтобы форма изменяларазмер вместе с компонентами.

  Переносим на пустую форму многострочное окноредактирования типа TMemo со страницы Standard палитрыкомпонентов, для этого выделите пиктограмму окна редактирования (она шестаяслева) и затем щёлкните курсором мыши на форму. На форме появится окноредактирования, которой Delphi присвоит имя по умолчанию – Memo1.Так как в Memo будет находится много текста, а он может выходит за границы Memo,то нужно выставить свойство ScrollBars в Инспекторе Объектов (рис.1.2)= ssVertical, а так же нужно выставить свойство Align = alClient,для того чтобы при развертывании главной формы на весь экран, Memoувеличивала свои размеры вместе с главной формой.

  Аналогичным образом перенесите на форму с тойже страницы Standard, палитры компонентов, главное меню MainMenu(онвторой слева). В главном меню будет реализовано процесс открытия, сохранения,правки текста в Memo + тут же будет вызываться все дополнительные программы.Delphi присвоит ему имя MainMenu1.

  Выделите на форме компонент MainMenu –главное меню. Кликнем два раза по нему. Нужно добавить разделы как показано нарис.1, новые разделы можно вводить, помещая курсор в рамку из точек, обозначающее  место расположения нового раздела,рис.1.1 

<img src="/cache/referats/19493/image002.jpg" v:shapes="_x0000_s1041"> 

   

   Рис.1.1

       Окноконструктора меню

— 5 -

  Что бынаписать надписи кнопок «Новый», «Сохранить» и т.д.,  кликнем на нужную кнопку и в ИнспектореОбъектов найти свойство Caption, как показано на  рис. 1.2

<img src="/cache/referats/19493/image004.jpg" v:shapes="_x0000_s1029">
           Рис.1.2

 ИнспекторОбъектов

     ObjectInspector

  Что бы сделать так чтоб вместо надписи былапросто линия, то надо в свойстве Caption написать  «-».

  В заголовке окна формы напишем «Записнаякнижка». Для этого  щёлкнем на форму, вокне Инспектора Объектов найдём свойство Caption формы и напишемв нём «Записная книжка» (без кавычек).

  Сейчас можно запустить проект, нажатие кнопкиF9, увидим нашу программу, которая похожа на текстовый редактор Windows.

  Кликнем два раза по MainMenu1, откроетсяокно конструктора меню (рис.1.1), в нём добавим названия меню: «Файл»,«Правка», «Экстра». Для каждого меню пишем названия подменю. Для «Файл»:должны были написать (смотреть выше):

«Правка»:“Найти”, “-”,“Отменить”, “-”,“Копировать”,“Вырезать”, “Вставить”, “Очистить”, “-”, “Шрифт”, “-”, “Дата и время”.

«Экстра»:“Знакомые”, “Media Player”, “CD-Rom”, “Напомнитьо…”.

  Как должно всё это выглядеть на рис.1.3

<img src="/cache/referats/19493/image006.jpg" v:shapes="_x0000_s1044"><img src="/cache/referats/19493/image008.jpg" v:shapes="_x0000_s1042">   

                        Рис. 1.3

  Так должны выглядеть пункты меню после

правильногонабора. (Для меню «Файл» рис.1.1)

                     

<img src="/cache/referats/19493/image006.jpg" v:shapes="_x0000_s1043">


— 6 -

Информация о  каждом пункте подменю

                                                                    «Файл»

“Новый”- создание нового файла с нашими записями, а перед этим сохранение предыдущегофайла.

“Открыть”– открытие нужного файла с записями, ранее сохраненного на винчестере (жесткийдиск).

“Сохранить”– сохранение изменений открытого в данный момент файла с записями.

“Экспортданных” – сохранение открытого файла в текстовый документ.

“Выход”– сохранение изменений (при желании) и закрытие программы.

«Правка»

“Найти”– найти нужный текст в данном файле.

“Отменить”– отменить последние действие пользователя.

“Копировать”– копирование выделенного текста в буфер обмена.

“Вырезать”– вырезание выделенного текста в буфер обмена.

“Вставить”– вставка текста лежащего в буфере обмена.

“Очистить”– удалить весь текст в данном файле.

“Шрифт”– изменить шрифт написания слов.

“Датаи время” – вставить сегодняшнюю дату и время в окно редактирования.

«Экстра»

“Справочникдрузей” – программа в которой можно записывать информацию (адрес, телефон ит.д.) о своих друзьях, знакомых и т.д.

“MediaPlayer” – программа говорит сама за себя, в ней можно прослушать музыкальныекомпозиции и просмотреть видео-файлы.

“CD-Rom”– программа для открытия и закрытия лотка CD-Rom’а.

“Напомнитьо…” – программа для напоминания через заданное время.

  Для болеекрасочного интерфейса для каждой кнопки я поставил индивидуальную картинку,которая говорит о функции кнопки и её названии. Для этого сначала возьмемкомпонент ImageList с закладки Win32 и в негозагрузим нужные нам картинки. Для того чтобы добавить нужную картину кликнемдва раза по ImageList1 и нажмём кнопку Add, выбираемкартинку и нажимаем Ok. Под каждой картинкой написан её номер, он нужендля «прикрепления» её к кнопке. Когда все картинки загрузили, нажимаем один разна MainMenu1 и в Инспекторе Объектов выбираем свойство Images ииз списка выбираем ImageList1. Теперь кликнем два раза на MainMenu1,выбираем кнопку и в её свойстве ImageIndex пишем номернужной нам картинки.

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

— 7 -

  Для этогоберём с закладки Win32 компонент ToolBar, его имябудет ToolBar1. Добавляем кнопки на «Панель инструментов»нажатием правой кнопки на неё и нажатием команды New Button. Нам нужно13 кнопок: «Новый», «Открыть», «Сохранить», «Копировать», «Вставить»,«Вырезать», «Поиск», «Шрифт», «Дата и время», «MediaPlayer»,«CD-Rom»,«Знакомые», «Напомнить о…». Что бы отделить группы кнопоктаким знаком «|», нужно выбрать New Separator, в контекстном меню ToolBar’а.Будет 5 групп, то создаём 5 Separator’ов. Теперь для каждой новой кнопкивыставим ссылку на нужную кнопку. Это делается при помощи свойства кнопки ToolBar’а– MenuItem.  Кликнем нанужную кнопку и выбираем MenuItem, и из выпадающего списка  выбираем нужный номер кнопки, а что бпроверить под каким номером кнопка, например, кнопка «Новый» нужно в MainMenu1(рис.1.1) кликнуть на кнопку с надписью «Новый » и в Инспекторе Объектовпосмотреть номер кнопки (рис.1.4).

<img src="/cache/referats/19493/image010.jpg" v:shapes="_x0000_s1033">             Рис.1.4

  Номер кнопкив MainMenu

  Когда всессылки поставили можно выставить картинки на каждую кнопку, просто выбираемсвойство TollBar’a – Image и   выбираем ImageList1.Все картинки выставятся сами. Теперь можно разделить кнопки на группы,например:

1.<span Times New Roman"">    

«Новый», «Открыть»,«Сохранить»

2.<span Times New Roman"">    

«Копировать», «Вставить»,«Вырезать»

3.<span Times New Roman"">    

«Поиск»

4.<span Times New Roman"">    

«Шрифт»

5.<span Times New Roman"">    

«Дата и время»

6.<span Times New Roman"">    

«Media Player», «CD-Rom»,«Знакомые», «Напомнить о…»

  Так каккнопки расположены по порядку, то просто «перетащим» Separator на конецкаждой группы кроме последней.

  Перейдём ксозданию часов.

  Берём сзакладки Win32, палитры компонентов, компонент CoolBar  и перетащим его на форму. CoolBarавтоматически поднимется к ToolBar’ у. Перенесём с закладки Standard компонентLabel  на CoolBar иразместим её ближе к концу CoolBar’a.

<img src="/cache/referats/19493/image012.jpg" v:shapes="_x0000_s1046">  На этом создание интерфейса главной формызакончено можно скомпилировать и запустить проект, клавишей F9, должнобыть похоже на рис.1.5. 

Рис. 1.5

Скомпилированный и запущенный

  проект«Записная книжка»

— 8 -

Описание процедур и функций компонентов главной формыЗаполнениякомпонента MainMenu1.Меню «Файл»1.<span Times New Roman"">    “Новый”Так как при создании нового файла будет открываться окно для сохранениянового файла на жесткий диск, то нам нужен компонент SaveDialog  с закладки Dialogs. Заходим с главнойформы  Файл|Новый откроется ОкноРедактора Кода и в него вставляем следующий код с комментариями, после слова Begin: if savedialog1.Execute thenbegin  // Запустить окно сохранения файла memo1.Lines.SaveToFile(savedialog1.FileName+'.not'); //Сохранить предыдущий текст с                                                                       //именем которое ввели в окне сохранения файла memo1.Clear(); //Очистить компонент Memoот предыдущего текста

end;

s:=savedialog1.FileName+'.not'; // занести в переменную Sимя файла (для открытия файла, когда программу вновь запустят и для сохраненияв когда программа работает).

Настроимфильтр файлов (типы файлов в которые можно сохранять файлы), для это в SaveDialog1настроим свойство Filter: Filter Name: ‘Файлы программы’; Filter:‘*.not’.

2.<span Times New Roman"">    

“Открыть”

Дляоткрытия файлов в Delphi есть компонент OpenDialog. Перетащимэтот компонент с закладки Dialogs на форму и сразу пропишем его свойствоFilter  так как и в SaveDialog.Заходим Файл|Открыть и вставляем этот код, после слова Begin:

ifopendialog1.Execute then // Открыть окно открытия файла

memo1.Lines.LoadFromFile(Opendialog1.FileName);// Загрузитьв Memo1 файл

S:=OpenDialog1.FileName;// занести в переменную S — имя файла, для открытия когда                                                                                  

//программувновь запустят и для сохранения изменений в процессе выполнения                                                

                                                                                                                                   //программы

3.<span Times New Roman"">    

“Сохранить”

Вставитьэтот код в свойство OnClick кнопки:

memo1.Lines.SaveToFile(s);//сохранить содержания компонента Memo1 в файл с 

                                                                            //именем которогохранится в переменной S

4.<span Times New Roman"">    

“Экспорт данных…”

Для этого нужен ещё один компонент SaveDialog итак как файл будет сохраняться в «Текстовый документ», то в свойстве Filter,компонента SaveDialog2, нужно ввести: Filter Name: ‘Текстовыйдокумент’, а Filter: ‘*.txt’. Теперь вставить следующий код в кнопку:

if SaveDialog2.Execute then// запустить окносохранения файла

— 9 —

memo1.Lines.SaveToFile(Savedialog2.FileName+'.txt');//сохранить файл срасширением          

                                                                                                                                             //txt

5.<span Times New Roman"">    

“Выход”

Для закрытия программы в Delphi есть один оператор CLOSE.Вставим этот оператор в кнопку.

Настройка меню «Файл» — закончена.

Меню «Правка»

1.<span Times New Roman"">    

“Найти”

Для поиска нужного текста в Delphi есть компонент FindDialog.Перенесём этот компонент с закладки Dialogs.

Вставляем следующий код в OnClick кнопки:

Spos:=memo1.SelStart; //Запоминание позиции курсора

with finddialog1 do begin

{Начальное значение поиска текста, выделенный вМемо}

findtext:=memo1.SelText;

// позиционирование окна диалога внизу Memo

position:=point(mainform.Left,mainform.Top+memo1.Top+memo1.Height);

// удолнеия из диалога кнопок “Вверх”, “Вниз”, “Толькослово цылеком”

options:=options + [frhideupdown,frhidewholeword] ;

execute; //запуск диалога

end;

end;

Теперь в OnFind компонента FindDialog1 вставляемследующий код:

with finddialog1 do begin

 iffrmatchcase in options

//поиск с учётом регистра 

then Memo1.SelStart:=pos(findtext,copy(memo1.Lines.Text,spos+1,Length(memo1.Lines.text)))+spos-1

    else

//поиск без учета регистра

Memo1.SelStart:=pos(ansilowercase(findtext),ansilowercase(copy(memo1.Lines.Text,spos+1,Length(memo1.Lines.text))))+spos-1;

        if memo1.SelStart>=spos

         thenbegin

     //выделение найденного текста

        memo1.SelLength:=Length(findtext);

   //изменение начальной позиции поиска     

 spos:=memo1.SelStart + memo1.SelLength+1;

       end

     else

— 10 -

    if messagedlg('Текст"'+findtext+'"ненайден',mtconfirmation,[mbok],0)<>mrok

   then

  closedialog;

 memo1.SetFocus;

end;

Теперь нужно объявить переменную Spos, вверху окнаредактора кода нужно найти оператор VAR, перед всеми процедурами ифункциями и написать после него Spos:integer;

Переменная Spos сохраняет позицию, начиная с которойнадо проводить поиск.

2.<span Times New Roman"">    

“Отменить”

  Для отменыпоследнего изменения текста, компонент Memo имеет процедуру Undo.

Этот код нужно вставить в кнопку:

Memo1.Undo;//отменить последние действие

3.<span Times New Roman"">    

“Копировать”

  Длякопирования, в буфер обмена, выделенного текста в компоненте Memo естьпроцедура CopyToClipboard. Эту процедуру надо вставить в кнопку:

Memo1.CopyToClipboard; // скопировать текст вбуфер обмена

4.<span Times New Roman"">    

“Вырезать”

  Для вырезаниявыделенного текста, в буфер обмена, в компоненте Memo есть процедура CutToClipboard.Эту процедуру надо вставить в кнопку:

Memo1.CutToClipboard;// вырезание текста в буферобмена

5.<span Times New Roman"">    

“Вставить”

Для вставки текста который лежит в буфере обмена в компоненте Memo естьпроцедура PasteFromClipboard. Эту процедуру надо вставить в кнопку:

Memo1.PasteFromClipboard;// вставить текст из буфераобмена

6.<span Times New Roman"">    

“Очистить”

  Для тогочтобы очистить окно Memo от текста, этот компонент имеет процедуру Clear.

 Эту процедурувставляем в кнопку:

Memo1.Clear;// очистить Memo от текста

7.<span Times New Roman"">    

“Шрифт”

  Дляизменения шрифта в Delphi есть компонент FontDialog. Через егосвойство Font

— 11-

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

компонента Memo. Переносим этоткомпонент с закладки Dialogs на форму и в процедуре OnClickкнопки пишем следующий код:

if FontDialog1.Execute then begin// запустить окно FontDialog1

Memo1.Font:=Fontdialog1.Font;// присвоить значения FontDialog1  компоненту Memo1

8.<span Times New Roman"">    

“Дата и время”

  Для тогочтобы вставить в Memo1 дату и время есть процедура DateTimeToString.Вставим следующий код в процедуру кнопки OnClick:

   var TD:String; //переменная в которую занесётся дата и время

   begin

  {Заносим впеременную TD  дату с параметрами: «Дата»«Месяц» «Год» и время с парамтрами «Часов» «Минут» «Секунд»}

   DateTimeToString(TD,'ddmmmm yyyyyy «г.» hh:nn:ss ',Now);

   Memo1.SelText:=TD; // вставить на место курсора дату и время которое лежит в TD

Настройка главного менюзакончено.

Меню: «Экстра» оставляемнезаполненным, т.к. нужно создать нужные  программы.

Создание часов наглавной форме

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

ПереносимTimer  на форму и вего  процедуре OnTimer нужно вставить следующий код:

Label1.Caption:=FormatDateTime('Сейчас:'+' hh:mm:ss AM/PM', Now());{Изменяем надпись на Label1 на: “Сейчас: ‘Часы’:‘Минуты’:‘Секунды’‘AM’ или ‘PM’ ”}

Сохранение настроек программы

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

uses inifiles;

var

  IniFile: TIniFile;

begin

IniFile :=TIniFile.Create('Notebook.ini'); // создание ini файла, если его не существует

IniFile.WriteString('MainOptions','Base',s);// записатьзначение переменной S

{Сохранитьимя шрифта, компонента Memo1}

IniFile.WriteString('MainOptions','Name font',memo1.Font.Name);

{Сохранитьразмер шрифта, компонента Memo1}

IniFile.WriteInteger('MainOptions','Size', memo1.Font.Size);

{Сохранитьцвет шрифта, компонента Memo1}

IniFile.WriteInteger('MainOptions','Color',memo1.Font.Color);

inifile.Free; // освободить память

— 12 -

Длятого чтобы пользователь не забыл сохранить изменения, в OnCloseформы, после inifile.free, вставим код, который будет выводить окно с запросом о сохранениеизменений:

{вывестисообщение о подтверждении сохранение изменений в файле: «Да» или «Нет»}

casemessagedlg('Сохранить изменение ?',mtconfirmation,[mbyes,mbno],0)of

 mryes: memo1.Lines.SaveToFile(s); // если «Да», то сохранить сименем S

end;

Загрузка настроек программы

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

var IniFile: TIniFile;

 begin

IniFile := TIniFile.Create('Notebook.ini');// читаем или создаём файл ini

s:=IniFile.ReadString('MainOptions','Base', '');//заносимв переменную S значение

{выставляемимя шрифта для Memo1}

memo1.Font.Name:=IniFile.ReadString('MainOptions','Name font','');

{выставляемразмер шрифта для Memo1}

memo1.Font.Size:=IniFile.ReadInteger('MainOptions','Size',0);

{выставляемцвет шрифта для Memo1}

memo1.Font.Color:=IniFile.ReadInteger('MainOptions','Color', 0);

inifile.Free;

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

memo1.Lines.LoadFromFile(s);//загрузить файл с именем S

Таккак, если нужно будет изменить шрифт текста то при запуске окна настройкишрифта там будет все настройки по умолчанию и пройдется менять все параметры, ачтоб этого не делать нужно присвоить значения от Memo1к FontDialog. Вставим следующий код, после Memo1.Lines.LoadFromFile(s):

FontDialog1.Font:=Memo1.Font;{присвоитьвсе параметры которые находятся в свойстве Font}

На этом создание главной формы закончено. Можно скомпилировать и запустить проект, и есливсё сделано правильно, то ошибок не каких быть не должно.

— 13 -

Описание вспомогательных программ, использованных впрограмме «Записная книжка»

«Справочник друзей»

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

 

  Так как в программе «Справочник друзей» нужно будет записывать телефон,адрес, фамилию и имя человека то нужен компонент который мог бы это разрешить.Можно использовать базу данных для этих целей, но Delphi имеет компонент StringGrid. Для StringGrid’а ненужнодополнительных компонентов, а для работы с базами данных нужно несколькокомпонентов, которые лишь увеличивают размер программы. На форме будет 3кнопки: «Добавить» (добавить строку), «Удалить » (удалить выделиную строку),«Выйти» (сохранить и закрыть программу).

Создание интерфейса

 

Всвойстве Captionформы введём текст: ‘Справочникдрузей’, а в свойстве формы Nameвведём имя формы: ‘Dryzi’. Всвойстве формы AutoSizeнужно выставить True,для то чтобы форма изменяла размер вместе с компонентами.

Перенесёмс закладки Additionalкомпонент StringGridна форму. Выставляем следующиесвойства этого компонента:

1.ColCount = 6 (количество столбцов)

2.FixedCols = 0 (зафиксировать(нельзя изменять) первыйстолбец)

3.FixedRows = 1 (зафиксировать(нельзя изменять) первуюстроку)

4.RowCount = 2 (количество строк)

5.SrollBars = ssVertical (ползунок вертикального типа)

  Перенесём на форму 3 кнопки BitBtn. Эти кнопки даёт возможноприкепить к ним пиктограмму. Назовем кнопки: 1. «Добавить»

                                                2. «Удалить»

                                                3. «Выйти»

  Поместим эти 3 кнопки сверху StringGrid1.

Описание процедур и функций

 

  Начнём с кнопок. В кнопку «Добавить» вставляемследующий код:

StringGrid1.RowCount:=StringGrid1.RowCount+1;(добавить строку)

  В кнопку «Удалить» вставляем код:

var

  i,j: Integer;

begin

  j:=StringGrid1.Row;// строка с выделением

  StringGrid1.Rows[j].Clear; //очистить выдилиную строку

  for i:=j to StringGrid1.RowCount-2 do //цикл нахождения выделиной строки

— 14-

   StringGrid1.Rows[i].Assign(StringGrid1.Rows[i+1]); //

  StringGrid1.RowCount:=StringGrid1.RowCount-1; // удалить строку

  В кнопку «Выйти» просто вставим одиноператор: ‘Close’.

  Для каждой кнопки нужно подобрать пиктограму,для этого нужно использовать свойство Glyph.

 Так как это справочник, то нужно чтобы всезаписи сохранялись, при выходе, и загружались, при запуске программы. Для этогов Окне Редактора Кода между словами Typeи где объявляютсядругие процедуры нужно написать: ‘ProcedureSaveGrid;’, а послесловаimplementation нужно вставить следующий код:

procedureTBaseForm.SaveGrid; //имя процедуры

var

  f: textfile;

  x, y: integer;

begin

  assignfile(f, 'Base.zap');// открыть файл ‘Base’

  rewrite(f); //переписать файл

  writeln(f, StringGrid1.colcount); //просмотр  значения столбцов

  writeln(f, StringGrid1.rowcount);// просмотр  значения строк

  for X := 0 to StringGrid1.colcount — 1 do //начало цикла записи значениякаждой ячейки

    for y := 0 to StringGrid1.rowcount — 1 do

      writeln(F, StringGrid1.cells[x, y]);

  closefile(f);//закрыть файл

end;

А длязагрузки: аналогичным способом объявим процедуру загрузки: ‘ProcedureLoadGrid’, а процедура загрузки имеет следующий код:

procedureTBaseForm.LoadGrid;

var

  f: textfile;

  temp, x, y: integer;

  tempstr: string;

begin

  assignfile(f, 'Base.zap'); // открыть файл ‘Base’

  reset(f); // Сбить файл

  readln(f, temp); //Прочитать файл

  StringGrid1.colcount := temp; //выставить количество столбцов

  readln(f, temp); // прочитать файл

  StringGrid1.rowcount := temp; //выставить количество строк

  for X := 0 to StringGrid1.colcount — 1 do // начало цикла заполнения каждойячейки

    for y := 0 to StringGrid1.rowcount — 1 do

    begin

      readln(F, tempstr);

      StringGrid1.cells[x, y] := tempstr;

    end;

  closefile(f); // закрыть файл

end;

— 15 -

  Для загрузки нужно в свойство <s

еще рефераты
Еще работы по программированию, базе данных