Немного не так. Там не номер строки, там просто поиск по файлу, например там два Editа фамилия и телефон и две кнопки поиска по фамилии и телефону, чтобы он ирскал по фамилии в тексте. Задание вообще звучало так:
Создается файл, в него записываются данные – фамилия, имя, номер телефона.
Предусмотрите возможность добавления данных или внесения новой информации с удалением содержимого файла, вывод содержимого файла, вывод данных по запрашиваемому номеру телефона, вывод данных по введенной фамилии (если в файле есть одинаковые фамилии – выводится список всех, имеющих эти фамилии).
Отсортируйте файл по «фамилия».
Пока вот что написал:
Код:
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm3 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button1: TButton;
Button5: TButton;
Button6: TButton;
Memo1: TMemo;
Button7: TButton;
procedure Button5Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button6Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure Label2Click(Sender: TObject);
procedure Label1Click(Sender: TObject);
procedure Label3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm3.Button5Click(Sender: TObject);
begin
Form3.Close;
Form1.Show;
end;
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Show;
end;
procedure TForm3.Button6Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
end;
procedure TForm3.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case key of
'0'..'9': key:=#0;
end;
end;
procedure TForm3.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
case key of
'0'..'9': key:=#0;
end;
end;
procedure TForm3.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
case key of
'А'..'Я','а'..'я','A'..'Z','a'..'z': key:=#0;
end;
end;
procedure TForm3.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (Key = #13) then begin
Key:=#0;
Perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TForm3.Label2Click(Sender: TObject);
begin
if Edit1.CanFocus then Edit1.SetFocus
end;
procedure TForm3.Label1Click(Sender: TObject);
begin
if Edit2.CanFocus then Edit2.SetFocus
end;
procedure TForm3.Label3Click(Sender: TObject);
begin
if Edit3.CanFocus then Edit3.SetFocus
end;
procedure TForm3.Button4Click(Sender: TObject);
var list:TextFile;
txt:string;
begin
txt:= 'ИМЯ: '+Edit1.Text+ #13#10 + 'Фамилия: ' +Edit2.Text+ #13#10
+ 'Номер телефона ' + Edit3.Text;
AssignFile(list,'memo.txt');//регистрация файла
Rewrite(list);
Writeln(list,txt);
CloseFile(list);
ShowMessage('Данные записаны в файл');
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
Memo1.Lines.LoadFromFile('memo.txt'); // загрузка
end;
procedure TForm3.Button7Click(Sender: TObject);
begin
Memo1.Lines.SaveToFile('memo.txt'); // сохранение
ShowMessage('Содержимое файла изменено');
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
memo1.Clear;
end;
procedure TForm3.Button2Click(Sender: TObject);
var
F:TStrings;
n2: Integer;
begin
f:=TStringList.Create;
F.LoadFromFile('memo.txt');
for n2:=0 to f.Count - 1 do
if pos(Edit2.Text,f.Strings[n2]) > 0 then ShowMessage(IntToStr(n2));
end;
end.