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

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

Добавление записей.

Для  добавления данных в файл необходимо заполнить все поля и нажать кнопку «Добавить».

Просмотр записей.

При нажатии на кнопку «просмотр»  данные из файла выведутся в таблицу.

Очистка формы.

Для очистки полей ввода и таблицы вывода необходимо нажать кнопку «Очистить».

Поиск записей.

Для поиска какой-либо записи в файле необходимо:

·  Выбрать соответствующий тип поиска(по фамилии, по телефону, по адресу);

·  Затем в поле ввода, соответствующее типу выбранного поиска, необходимо ввести данные целиком, либо какой-нибудь фрагмент;

·  Далее нужно нажать кнопку «поиск».

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

Редактирование записей.

Для активации кнопки «редактировать» необходимо в таблице выбрать необходимое вам поле записи. После редактирования полей записи нажмите кнопку «редактировать» для сохранения изменений в файле.

Удаление записей.

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

Сортировка записей.

В данной программе существуют два типа сортировки: по возрастанию и по убыванию. Для выбора метода  достаточно отметить необходимый вам тип сортировки путём нажатия ЛКМ. После чего надо нажать кнопку «Сортировать» и записи в файле будут отсортированы.

Для выхода из программы необходимо нажать кнопку «Выход»


Листинг программы.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, Grids, ExtCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Label1: TLabel;

Button1: TButton;

Button2: TButton;

Edit2: TEdit;

Label2: TLabel;

Label3: TLabel;

Edit3: TEdit;

Button3: TButton;

Button4: TButton;

Tab1: TStringGrid;

RadioGroup1: TRadioGroup;

Button5: TButton;

Button6: TButton;

Button7: TButton;

Button8: TButton;

Button9: TButton;

RadioGroup2: TRadioGroup;

Memo1: TMemo;

Label4: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure Button9Click(Sender: TObject);

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

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

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

var CanSelect: Boolean);

procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

private

{ Private declarations }

public

{ Public declarations }

end;

type

Anketa=record  //имя типа-запись

name:string[50];//поля записи

tel:string[50];

adr:string[50];

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

var

f:file of anketa;  //описываем файловую переменную

sp:array[1..10000] of anketa; //массив, содержащий записи типа anketa

spis,spi,spisok:anketa;//переменные типа запись

n:integer; z,k,i,j,g:word;

procedure TForm1.Button1Click(Sender: TObject); //создание файла

begin