1 кнопка прочитать список(те вывести в столбик в listbox все фамилии из файла по алфавиту).
2 кнопка добавить запись в файл вводим на форме в edit1(фамилия),edit2(имя),edit3(дата рождения),memo1(адрес) информацию.
3 кнопка удалить запись.
Также при щелчке на фамилию из списка в listbox подробная информация об этом человеке должна выйти в edit1(фамилия),edit2(имя),edit3(дата рождения),memo1(адрес)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Memo1: TMemo;
Button1: TButton;
ListBox1: TListBox;
Button2: TButton;
Button3: TButton;
Label5: TLabel;
procedure Button1Click(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
type
TPers = record
Fam, Name, Adr,Bir : String;
end;
var
Pers: Array of TPers;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var F: TextFile;
S: String; L:tstringlist;
n, m: Integer;
j,i: Integer;
begin ListBox1.Clear;
n := 0;
m := 0;
AssignFile(F, 'addreses.txt');
Reset(F);
while not Eof(F) do
begin
SetLength(Pers, n+1);
Readln(F, S);
case n mod 5 of
0: Pers[m].Fam := Copy(S, 1, Length(S));
1: Pers[m].Name := Copy(S, 1, Length(S));
2: Pers[m].Bir:= Copy(S, 1, Length(S));
3: Pers[m].Adr := Copy(S, 1, Length(S));
end;
n := n + 1;
m := n div 5;
end;
CloseFile(F);
for i := 0 to Length(Pers) - 1 do
ListBox1.Items.Add(Pers.Fam);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
f: Textfile;
begin
AssignFile(f, 'addreses.txt');
Append(f);
Writeln(f, Edit1.Text);
Writeln(f, Edit2.Text);
Writeln(f, Edit3.Text);
Writeln(f,Memo1.Text);
Closefile(f);
end;
procedure TForm1.Button3Click(Sender: TObject);
var st:TStringList;i: integer;
f: textfile;
begin
st:= TStringList.Create;
st.LoadFromFile('addreses.txt');
for i := 0 to st.Count - 1 do
if st=Edit1.Text then
begin
while st.Count<5 do
st.Delete(i);
end;
st.SaveToFile('addreses.txt'); st.Free;
end;
procedure TForm1.ListBox1Click(Sender: TObject);
begin
Memo1.Clear;
Edit1.Text:=Pers[ListBox1.ItemIndex].Fam;
Edit2.Text:=Pers[ListBox1.ItemIndex].Name;
Edit3.Text:=Pers[ListBox1.ItemIndex].Bir;
Memo1.Lines.Add(Pers[ListBox1.ItemIndex].Adr);
end;
end.
Не удаляет,добавляет записи нормально, если только в файле есть хотябы 1 запись