Создание типизированного файла – содержащего сведения о телефонах абонентов, страница 3

procedure TForm1.Button8Click(Sender: TObject);

Это процедура для удаления указанных записей из файла.

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

Затем все данные из массива переписываются в файл.

procedure TForm1.Button9Click(Sender: TObject);

Это процедура для сортировки записей в файле.

Сначала записи из файла переписываются в массив sp, предназначенный для хранения записей того же типа, что и записи в файле.

Далее в соответствии с тем, какая из радиокнопок выбрана выполняется сортировка массива либо по возрастанию,  либо по убыванию.

В основе алгоритма лежит обмен соседних элементов массива. Каждый элемент массива, начиная с первого, сравнивается со следующим, и если он больше(меньше, в случае сортировки по убыванию) следующего, то элементы меняются местами. Таким образом, элементы с меньшим(большим, в случае сортировки по убыванию) значением продвигаются к началу массива (всплывают), а элементы с большим(меньшим, в случае сортировки по убыванию) значением — к концу массива (тонут). Поэтому данный метод сортировки обменом иногда называют методом "пузырька".Эти действия выполняются в цикле размер массива минус один раз, который в свою очередь находится в цикле, который выполняется «размер массива» раз.

После того как массив отсортирован он переписывается в файл.

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

Данная процедура запрещает вводить в поле ввода Edit1 некорректную информацию. Если пользователь попытается ввести недопустимый в соответствии с условием символ, то раздастся звуковой сигнал и символ не введётся.

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);

Данная процедура запрещает вводить в поле ввода Edit2 некорректную информацию. Если пользователь попытается ввести недопустимый в соответствии с условием символ, то раздастся звуковой сигнал и символ не введётся.

procedure TForm1.Tab1SelectCell(Sender: TObject; ACol, ARow: Integer;

  var CanSelect: Boolean);

Данная процедура предназначена для определения номера выбранной пользователем ячейки.

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

Данная процедура определяет текущее положение курсора мыши и, в соответствии с тем над каким элементом в данный момент находится курсор, выводит в Memo-поле соответствующую справку по этому элементу.


Описание интерфейсной части программы.

 
 


Данная программа имеет простой и  «дружественный» пользователю интерфейс, т.е. она может подсказать пользователю, какие действия выполняет та или иная кнопка, предотвращает неправильные действия пользователя и выдаёт соответствующие сообщение об этом. Данные файла и поиска выводятся в наглядную таблицу. На все кнопки программы существует текст справки, который будет выводится в левом нижнем углу окна программы при каждом наведении курсора мыши на какую-либо кнопку.

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