Всем привет.
Есть две задачи:
1. Найти список сотрудников, чьи телефоны начинаются с заданной цифры;
2. Найти адрес сотрудника по номеру его телефона.
Вторую задачу решил таким образом:
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm4 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label3: TLabel;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm4.BitBtn2Click(Sender: TObject);
begin
Close;
end;
procedure TForm4.BitBtn1Click(Sender: TObject);
begin
label3.Caption := '';
i := 0;
if Kol <> 0 then
while i <> Form1.StringGrid1.RowCount do
begin
if Edit1.Text = Form1.StringGrid1.Cells[2,i] then
label3.Caption:=Form1.StringGrid1.Cells[3,i];
inc(i);
end;
if label3.Caption = '' then ShowMessage('Такого телефона не существует!');
end;
end.
Помогите пожалуйста с решением первой задачи, не могу сделать, попытался что то вроде такого, но ошибки при компиляции не выдает, при этом не работает:
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids;
type
TForm6 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label3: TLabel;
StringGrid2: TStringGrid;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm6.BitBtn2Click(Sender: TObject);
begin
Close;
end;
procedure TForm6.BitBtn1Click(Sender: TObject);
var
i : integer;
begin
for i := Form1.StringGrid1.FixedRows to Form1.StringGrid1.RowCount - 1 do
if Form1.StringGrid1.Cells[2, i] = Edit1.Text
then begin
StringGrid2.Rows[StringGrid2.RowCount - 1].CommaText := Form1.StringGrid1.Rows[i].CommaText;
StringGrid2.RowCount := StringGrid2.RowCount + 1;
end;
end;
end.