Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi_списки2_методика.DOC
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
292.86 Кб
Скачать

Interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms,Dialogs, StdCtrls,Unit2;

type

TForm1 = class(TForm)

btnDeleteList: TButton;

lblListResult: TLabel;

lblVvodData: TLabel;

edtName: TEdit;

edtMarka: TEdit;

edtNumber: TEdit;

lblName: TLabel;

lblMarka: TLabel;

lblNumber: TLabel;

memListResult: TMemo;

btnCreate: TButton;

btnPrintFirst: TButton;

lblInformation: TLabel;

btnSearchNode: TButton;

lblNodeNumber: TLabel;

edtNodeNumber: TEdit;

btnAddAfterNode: TButton;

btnDeleteNode: TButton;

btnPrintLast: TButton;

procedure btnDeleteListClick(Sender: TObject);

procedure edtNameKeyPress(Sender: TObject;

var Key: Char);

procedure edtMarkaKeyPress(Sender: TObject;

var Key: Char);

procedure edtNumberKeyPress(Sender: TObject;

var Key: Char);

procedure btnCreateClick(Sender: TObject);

procedure btnPrintFirstClick(Sender: TObject);

procedure btnSearchNodeClick(Sender: TObject);

procedure edtNodeNumberKeyPress(Sender: TObject;

var Key: Char);

procedure btnAddAfterNodeClick(Sender: TObject);

procedure btnDeleteNodeClick(Sender: TObject);

procedure btnPrintLastClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

memo1: TMemo;

В таблице 6 приведены свойства основных компонентов:

Таблица 6

Объект

Свойство

Значение

Button1

Button2

Button3

Button4

Button5

Button6

Button7

Memo1

Edit1

Edit2

Edit3

Edit4

Label1

Label2

Label3

Label4

Label5

Label7

Caption

Name

Caption

Name

Caption

Name

Caption

Name

Caption

Name

Caption

Name

Caption

Name

Name

Name

Name

Name

Name

Caption

Name

Caption

Name

Caption

Name

Caption

Name

Caption

Name

Caption

Name

Удалить список

BtnDeleteNode

Построить список

BtnCreate

Печать списка сначала

BtnPrintFirst

Найти узел по номеру

BtnSearchNode

Добавить узел в середину

BtnAddAfterNode

Удалить узел из середины

BtnDeleteNode

Печать списка с конца

BtnPrintLast

MemListResult

EdtName

EdtMarka

EdtNumber

EdtNodeNumber

Протокол работы

LblListResult

Ввод данных

LblVvodData

Имя

EdtName

Марка

EdtMarka

Номер

LblNumber

Задайте номер узла

LblNodeNumber

Как видно из текста интерфейсной части модуля Unit1 в нем присутствуют процедуры-обработчики событий (Events) таких, как нажатие кнопок ButtonClick. Так при нажатии кнопки «Удалить список», как показано ниже, внутри процедуры btnDeleteListClick обработчика этого события выполняется вызов процедуры DisposeSpisok из модуля Unit2 :

procedure TForm1.btnDeleteListClick( Sender: TObject);

begin

DisposeList;

memListResult.Lines.Add('СПИСОК УДАЛЕН');

end;

Одновременно с этим, в окно компонента Memo1 эта же процедура выдает сообщение о том, что список удален. Аналогичным образом при нажатии кнопки «Построить список», процедура-обработчик btnCreateClick обеспечивает вызов процедуры CreateList также из модуля Unit2 и она же выдает на панель диалогового окна (Form1) сообщение о количестве узлов построенного списка через свойство компонента-метки lblInformation.Caption (как показано ниже).

procedure TForm1.btnCreateClick(Sender: TObject);

begin

CreateList;

lblInformation.Caption:='Число узлов в списке='

+IntToStr(L.Count);

end;

Следует отметить, что прежде чем создавать список, необходимо заполнить массив записей в каждый элемент которого заносится информация по одному владельцу автомобиля. Описание этого массива выполнено в модуле Unit2:

type TA=record { Автомобиль }

M: String[15]; { Ф.И.О. владельца }

N: String[10]; { Марка }

W: String[14]; { Номер }

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]