Итак, приступим к разработке приложений в Delphi. Первый урок начнем с самого простого, но на этот раз будет не форма с надписью «Hello, World!», а простейший блокнот, способный загрузить текстовый файл, отредактировать его и сохранить. Уроков будет несколько. С каждым уроком мы будет что-то добавлять, убирать и расширять функционал нашего блокнота, пока не получим в результате что-то похожее на стандартный блокнот в системе Windows.
Первое с чего мы начнем это с проектирования интерфейса.
Построить стандартный интерфейс приложения в среде Delphi очень легко, достаточно хорошо владеть мышкой 🙂 Создание элементов интерфейса заключается в перетягивании и расстановке визуальных объектов. Для нашего первого блокнота понадобится:
- Компонент Button (кнопка)
- Компонент Memo (поле для ввода и редактирования текста)
Приступим!
Запускаем среду Delphi. После запуска, у нас уже будет открыта форма, готовая к творению :). Давайте сразу сохраним наш проект. При проектировании и кодинге, не забывайте чаще нажимать кнопку «Сохранить», особенно в моменты компиляции, иначе, в случае ошибки, рискуете потерять несохраненную часть проекта.
Жмем File->Save Project As…
Создадим каталог “MyNotepad v1” и в него сохраним модуль и файл проекта под следующими именами:
Модуль PAS
Файл проекта dpr
Внимание: Имена модуля и проекта должны отличаться!
Ну все. Теперь нам необходимо построить форму. Для этого на панели компонентов, во вкладке «Standart» выберите объект «Memo»
И щелкнув по свободной области формы, удерживая ЛКМ, нарисуйте текстовое поле следующим образом:
Также добавьте объекты Button.
Приблизительно вот так:
Вот и все проектирование. Конечно это примитив, но таким образом строится большинство прикладных приложений.
Давайте зададим нашей форме имя в строке заголовка окна. Назовем ее «MyNotepad v1». Для этого выделите форму, щелкнув по ней мышкой и в окне «Object Inspector», найдите свойство Caption и вместо «Form1» введите «MyNotepad v1»:
Теперь перейдем к кнопкам. Нам необходимо им так же дать смысловые метки «Открыть» и «Сохранить», а так же задать имя, более понятное, нежели Button1 и Button2. Как задать свойство Caption вы уже знаете, имя же задается в свойстве Name:
Присвоим имена для:
- Button1 – OpenBut
- Button2 – SaveBut.
И последний штрих, текстовое поле Memo. В поле по умолчанию отображается его имя:
Избавиться от него можно следующим образом, находим в «Object Inspector» свойство «Lines»
Жмем по «…» и все удаляем.
Далее, задайте полю Memo имя txt вместо memo1.
В итоге форма должна выглядеть приблизительно так:
Остается только прописать код нашим кнопкам. Для того чтобы это сделать необходимо щелкнуть два раза по кнопке.
Кликаем по кнопке «Открыть», после чего откроется окно редактора кода со следующим содержимым:
procedure TForm1.OpenButClick(Sender: TObject); end; |
Это процедура на событие Click (нажатие кнопки). Нам необходимо между ключевыми словами begin и end прописать следующую строчку — txt.Lines.LoadFromFile(ExtractFilePath(application.ExeName)+(‘\test.txt’));
procedure TForm1.OpenButClick(Sender: TObject); |
txt – наш объект текстовое поле;
Lines – свойство которое содержит текстовые строки (мы его еще чистили от Memo1);
LoadFromFile – процедура загрузки строк из текстового файла;
ExtractFilePath(application.ExeName) – функция возвращает путь к каталогу из которого запущено наше приложение;
(‘\test.txt’) – собственно имя открываемого файла, который должен находиться с нашей программой.
Теперь пропишем код для кнопки «Сохранить».
procedure TForm1.SaveButClick(Sender: TObject); |
В этом случае отличие в процедуре SaveToFile, которая сохраняет содержимое Lines в файл test.txt
Полный листинг модуля exNotepad выглядит так:
unit exNotepad; interface uses type var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.OpenButClick(Sender: TObject); procedure TForm1.SaveButClick(Sender: TObject); end. |
Вот и все.
Запускаем наше приложение, нажав на кнопку Run (F9):
Сначала введем какой-либо текст и нажмем сохранить. После чего, в папке с проектом появится файл test.txt
При следующем запуске приложения жмем «Открыть».
Продолжение следует….
Прикрепленный файл: MyNotepad v1.zip