Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Скорая помощь для вашего компьютера. Записная книга. Сохранение данных в файл


 Компьютерная помощь

   2011-12-07 18:16 

 Выпуск No 16. Скорая помощь для вашего компьютера. Записная книга. Сохранение данных в файл

 

 Здравствуйте, уважаемые подписчики!

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

 Используя среду разработки приложений Delphi 7 создадим простую программу "Записная книга". В форму будем вводить данные: фамилию, имя, отчество и телефон. При нажатии на кнопку "Применить" данные будут отображаться в текстовом поле. Добавим возможность сохранения в файлы. Приступаем! Загружаем среду разработки Delphi 7.

Cреда программирования Delphi 7

  На форму бросаем компоненты Label (метка) в количестве четырёх штук. Этот компонент расположен на вкладке "Standard" палитры компонентов.

Вкладка Standard палитры компонентов, компонент Label

  В свойстве Caption меток записываем "Фамилия" - для первой, "Имя" - для второй, "Отчество" - для третьей и "Телефон" - для четвёртой. Аккуратно располагаем метки одну под другой.

Аккуратное расположение меток Label

  Напротив меток на форму бросаем компоненты "Panel" и внутрь этого компонента "Панель" ставим компонент "Edit" - строка редактирования. Оба компонента располагаются в той же вкладке "Standard"

Компоненты Panel и Edit

  Теперь нужно изменить свойства этих компонентов. Кликаем один раз на панели, после этого её свойства сразу отобразятся в окне "Инспектора объектов" - Object Inspector. Свойство Caption у панели стираем (оставляем пустым). Изменяем свойство BevelInner выбираем "bvLowered". Теперь кликаем на строку редактирования. Свойство Text выбираем "bsNone". Теперь подгоняем размеры нашего экземпляра Edit1 к размерам панели Panel1. Должно получится примерно вот так, как на рисунке.

Строка редактирования внутри панели

  Строка редактирования внутри панели - так сделано специально для того, чтобы было более красиво. Можно просто кинуть на форму строку редактирования (Edit) и этим ограничиться. Всё же свойство Text у Edit нужно оставить пустым. По умолчанию оно равно Edit1, как и имя экземпляра класса TEdit - нашего компонента "Строки редактирования". Перемещение компонента и изменение его размеров при помощи мыши не всегда удобно! Для перемещения компонента по форме или одного компонента внутри другого (как например, Edit внутри Panel) используйте сочетание клавиш "Ctrl" и клавиш курсора, а для изменения размеров используйте сочетание "Shift" + клавиши курсора. Или можно просто поставить те размеры, которые получились у меня. В свойствах Panel1 поставьте ширину Width = 185 и высоту Height = 24. Для Edit1 те же свойства: Width = 182, Height = 21. Но ещё измените смещение от левого края родительского компонента Left = 2 и смещение сверху Top = 2. Родительский компонент для Edit1 - это Panel1. Аналогично, форма Form1 - это родительский компонент (экземпляр класса) для всех компонентов брошенных на форму, она (форма) их содержит.

  Далее, чтобы процесс был быстрее, можно выделить компонент Panel (аналогично можно сделать с несколькими компонентами), потом копируем сочетанием клавиш Ctrl + C и вставляем Ctrl + V. После вставки удобно двигать компоненты при помощи сочетания Ctrl + клавиши курсора! В результате должно получится примерно так.

Компоненты на форме скопированы и вставлены

  Заходим на вкладку Additional палитры компонентов.

Вкладка Additional палитры компонентов

  Располагаем эту кнопку на форме чуть ниже последней строки редактирования Edit4.

Кнопка BitBtn

  У кнопки BitBtn меняем свойство Kind на значение bkOK. В свойстве Caption напишем "Применить". Находим компонент Memo во вкладке Standard палитры компонентов и кидаем его ещё ниже на форму. Для усиления эффекта я сначала перетащил компонент Панель (Panel) поставил свойство Caption у него пустым, потом для BevelOuter в "Инспекторе объекстов" выбрал значение bvLowered. Далее положил на панель текстовое поле - компонент Memo. Для Мемо BorderStyle поставил bsNone, а свойство Align выбрал alClient, что дало возможность растянуть Memo по всей панели! Вот что получилось.

Вставили Memo в Panel со свойством Align = alClient

  Ещё чуть ниже кладём кнопку BitBtn. В "Инспекторе объектов" в свойстве Caption пишем "Загрузить в файл". Помимо этого находим свойство Glyph, нажимаем на кнопочку с многоточием, и появляется диалоговое окно выбора графического файла. Выбираем путь: "C:\Program Files\Common Files\Borland Shared\Images\Buttons", там находим файл "filesave.bmp", выбираем его. Данная папка с файлами должна быть у Вас на компьютере, поскольку среда разработки Delphi 7 Вами установлена. Чтобы было более красиво поставим значение свойства Margin для BitBtn2 равное 10. Но у нас рисунок и надпись на кнопке слиты вместе, чтобы сделать отступ, поставьте 5 пробелов перед записью "Загрузить в файл" в свойстве Caption. Должно стать "     Загрузить в файл".

  Кликаем по форме, переходим к окну инспектора объектов и ставим "Записная книга" в свойстве Caption. Мы оформили внешний вид нашей программы. Запускаем её на выполнение (клавиша F9). Смотрим, что получается.

Оформили внешний вид программы

 В правом верхнем углу есть средняя кнопка, рядом с крестиком (закрывает программу, окно), при нажатии на неё наша форма растянется по всему экрану. Давайте уберём эту возможность для пользователя! Возвращаемся к окну "Инспектора объектов". В свойстве формы BorderStyle выбираем bsSingle. Выше расположено свойство BorderIcons, если дерево не раскрыто, нажимаем на "плюсик" и выбираем biMaximize. Эти действия деактивируют раскрытие окна программы по всему экрану и его расширение с помощью мыши. Так же для свойства Position поставим poScreenCenter, это сделает показ нашего окна при запуске программы всегда по центру экрана монитора, как бы вы его не позиционировали во время проектирования интерфейса (внешнего вида).

  Кликаем два раза по кнопке BitBtn1 c надписью "Применить". В открывшемся окне для кода между begin и end записываем следующее:

   Memo1.Lines.Add(Edit1.Text);
   Memo1.Lines.Add(Edit2.Text);
   Memo1.Lines.Add(Edit3.Text);
   Memo1.Lines.Add(Edit4.Text);

   Memo1.Lines.Add('--');

  Это есть не что иное, как часть кода описывающее действия, которые будут происходить при нажатии пользователя на кнопку. Процедура procedure TFMain.BitBtn1Click(Sender: TObject); описывает событие нажатия на кнопку. Итак, что мы здесь делаем? Memo1 - текстовое поле. Поставив точку после имени экземпляра класса TMemo мы получаем доступ к его свойствам. Нас интересует свойство Lines типа TStrings. Ставим точку и получаем доступ к свойствам и методам Lines. Нас далее интересует метод Add, который добавляет строку в текстовое поле. Вообще метод - это некоторая процедура, выполняющая определённые действия над объектом.

  Memo1.Lines.Add(Edit1.Text); - это добавление в поле того что написано в первой строке редактирования для Фамилии. Edit1.Text - это свойство которое отображается в строке редактирования (его так же можно менять на этапе проектирования интерфейса через инспектор объектов). Следующей строкой мы добавляем "Имя", потом "Отчество", "Телефон" и, для отделения от следующей записи, добавляем новую строку '--' - это наш разделитель. Любая строка пишется в апострофах, например, можно определить переменную S типа String и присвоить ей строку вот так: S = 'Строка'. Это можно сделать так:

procedure TFMain.BitBtn1Click(Sender: TObject);
Var
   S: String;
begin
   S := 'Строка';
   Memo1.Lines.Add(S);
end;

Определяется переменная с помощью ключевого слова Var. Это делается перед begin.

  Пробуем, как работает наша программа. Потом добавим ещё иконку и дадим имя программе. Напоминаю, как это сделать. Выбираем пункт меню Project -> Options (Ctrl + Shift + F11)

Выбор меню свойства проекта

  В появившемся окне на вкладке Application пишем в Title "Записная книга", выбираем иконку нажатием кнопки LoadIcon.

Свойства проекта

  Файл для иконки book.ico можно будет потом взять из архива с файлами проекта в конце статьи или скопировать этот рисунок нажатием правой клавишей мыши по нему и выбором пункта меню "Сохранить рисунок как" (название может варьироваться в зависимости от браузера).

Иконка для проекта

  Отметим, что после того как мы двойным щелчком мыши кликнули по кнопке, в "Инспекторе объектов" во вкладке Events (События) у нас появилось событие BitBtn1Click. Кликнув два раза по нему в "Инспекторе объектов" мы так же попадаем в готовый шаблон кода для нашего события. Пробуйте!

  Далее сохраняем наш проект. Перед этим свойству Name формы присвоим FMain (это главная форма!). При сохранении модулю формы присвойте соответствующее название Main.pas, а проекту - имя NoteBook.dpr. Всё должно быть чётко. По умолчанию среда Delphi 7 предлагает имена Unit1.pas и Project1.dpr для файлов модуля и проекта соответственно.

  Продолжение следует...

Данная статья доступна по адресу: http://yerkhov.narod.ru/p9_2.htm.




WWW: http://yerkhov.narod.ru/

E-mail: yerkhov@yandex.ru

Copyright (C) 2010-2011 СКОРАЯ ПОМОЩЬ для ВАШЕГО КОМПЬЮТЕРА

Перепечатка любых материалов разрешена только при сохранении авторства и размещении активной ссылки на наш сайт.

Отправляя письма, Вы соглашаетесь с тем, что они могут быть опубликованы в рассылке.

--

 С уважением к Вам, Игорь.

 

 


В избранное