n:=messageDLG('Вы точно уверены,что хотите создать новый или переписать старый файл!!!',mtWarning,[mbYes,mbno],0);
if n=6 then begin
assignfile(f,'anketa'); //связываем файловую переменную
rewrite(f); //с файлом на диске
spisok.name:=edit1.Text; //ввод данных в переменную типа-anketa
spisok.tel:=edit2.Text;
spisok.adr:=edit3.Text;
button2.Visible:=true;button3.Visible:=true;
button4.Visible:=true;button5.Visible:=true;
button6.Visible:=true;
button8.Visible:=true;button9.Visible:=true;
radiogroup1.Visible:=true;radiogroup2.Visible:=true;
write(f,spisok); //запись данных в файл
closefile(f); //закрытие файла
end;
end;
procedure TForm1.Button2Click(Sender: TObject); //добавление в файл
begin
if (edit1.Text='')or(edit2.text='') then
messageDLG('Сначала заполните поля',mtWarning,[mbOk],0)
else
begin
assignfile(f,'anketa');
reset(f); //открываем файл для чтения
seek(f,filesize(f)); //уст. файловый указатель за посл.эл. файла
spisok.name:=edit1.Text;
spisok.tel:=edit2.Text;
spisok.adr:=edit3.Text;
write(f,spisok);
closefile(f);
end;
end;
procedure TForm1.Button3Click(Sender: TObject);//поиск записей в файле
var
frag:string; //строковая перем.,в кот. вводятся данные для поиска
begin
tab1.Visible:=true;
assignfile(f,'anketa');
reset(f);
j:=1; //перем.,определяющая №строки в таблице вывода
case radiogroup1.ItemIndex of
0: begin
frag:=edit1.Text;
while not eof(f) do
begin
read(f,spisok);
if pos(frag,spisok.name)<>0 then //ищем поз-ю вхождения в запись
begin // переменной frag
label4.Caption:=spisok.tel;
tab1.cells[0,j]:=spisok.Name;
tab1.cells[1,j]:=spisok.tel;
tab1.cells[2,j]:=spisok.adr;
j:=j+1;
end;
end;
closefile(f);
end;
1:begin
frag:=edit2.Text;
while not eof(f) do
begin
read(f,spisok);
if pos(frag,spisok.tel)<>0 then
begin
label4.Caption:=spisok.tel;
tab1.cells[0,j]:=spisok.Name;
tab1.cells[1,j]:=spisok.tel;
tab1.cells[2,j]:=spisok.adr;
j:=j+1;
end;
end;
closefile(f);
end;
2:begin
frag:=edit3.Text;
while not eof(f) do
begin
read(f,spisok);
if pos(frag,spisok.adr)<>0 then
begin
label4.Caption:=spisok.tel;
tab1.cells[0,j]:=spisok.Name;
tab1.cells[1,j]:=spisok.tel;
tab1.cells[2,j]:=spisok.adr;
j:=j+1;
end;
end;
closefile(f);
end;
end;
end;
procedure TForm1.Button4Click(Sender: TObject); //просмотр
begin
tab1.Visible:=true; //делаем таблицу видимой
assignfile(f,'anketa');
reset(f);
tab1.RowCount:=filesize(f)+1;//задаём кол-во строк в таблице
j:=1;
while not eof(f) do
begin
read(f,spisok);
tab1.cells[0,j]:=spisok.Name; //ввыводим данные в таблицу построчно
tab1.cells[1,j]:=spisok.tel;
tab1.cells[2,j]:=spisok.adr;
j:=j+1;
end;
closefile(f);
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
ASSIGNFILE(F,'anketa');
{$I-}
reset(f); //делаем проверку на наличие файла с данными
{$I+}
if ioresult<>0 then
begin
messageDLG('Файл не создан, создайте файл!!!',mtWarning,[mbOk],0);
button2.Visible:=false;button3.Visible:=false;
button4.Visible:=false;button5.Visible:=false;
button6.Visible:=false;
button8.Visible:=false;button9.Visible:=false;
radiogroup1.Visible:=false;radiogroup2.Visible:=false;
end;
tab1.Cells[0,0]:='Фамилия И.О.';
tab1.Cells[1,0]:='Телефон';
tab1.Cells[2,0]:='Адрес';
tab1.Visible:=false;
button6.Enabled:=false;button8.Enabled:=false;
memo1.Text:='Для активации кнопок "Редактировать" и "Удалить" нажмите кнопку просмотр и выберете какую-либо запись';
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
j:=1;//определяет строки в таблице
edit1.Text:='';edit2.Text:='';edit3.Text:=''; //очищаем форму
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.