RSS

Создаем первое приложение в Delphi. Блокнот v1

Итак, приступим к разработке приложений в 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);
begin

end;

Это процедура на событие Click (нажатие кнопки). Нам необходимо между ключевыми словами begin и end  прописать следующую строчку — txt.Lines.LoadFromFile(ExtractFilePath(application.ExeName)+(‘\test.txt’));

procedure TForm1.OpenButClick(Sender: TObject);
begin
   txt.Lines.LoadFromFile(ExtractFilePath(application.ExeName)+(‘\test.txt’));
end;

txt – наш объект текстовое поле;
Lines – свойство которое содержит текстовые строки (мы его еще чистили от Memo1);
LoadFromFile – процедура загрузки строк из текстового файла;
ExtractFilePath(application.ExeName) – функция возвращает путь к каталогу из которого запущено наше приложение;
(‘\test.txt’) – собственно имя открываемого файла, который должен находиться с нашей программой.

Теперь пропишем код для кнопки «Сохранить».

procedure TForm1.SaveButClick(Sender: TObject);
begin
  txt.Lines.SaveToFile(ExtractFilePath(application.ExeName)+(‘\test.txt’));
end;

В этом случае отличие в процедуре SaveToFile, которая сохраняет содержимое Lines в файл test.txt

Полный листинг модуля exNotepad выглядит так:

unit exNotepad;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    txt: TMemo;
    OpenBut: TButton;
    SaveBut: TButton;
    procedure OpenButClick(Sender: TObject);
    procedure SaveButClick(Sender: TObject);
  private 
    { Private declarations }
  public
    { Public declarations }
  end;

var   Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.OpenButClick(Sender: TObject);
begin
     txt.Lines.LoadFromFile(ExtractFilePath(application.ExeName)+(‘\test.txt’));
end;

procedure TForm1.SaveButClick(Sender: TObject);
begin
    txt.Lines.SaveToFile(ExtractFilePath(application.ExeName)+(‘\test.txt’));
end;

end.

Вот и все.

Запускаем наше приложение, нажав на кнопку Run (F9):

Сначала введем какой-либо текст и нажмем сохранить. После чего, в папке с проектом появится файл test.txt

При следующем запуске приложения жмем «Открыть».

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

Прикрепленный файл: MyNotepad v1.zip