unit Unit1;
interface
uses
SysUtils, Classes, Controls, Forms, uConst, Grids, Unit2;
type
TForm1 =
class(TForm)
strngrd1: TStringGrid;
procedure strngrd1DblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
personen:
array[1..9]
of TPerson;
procedure StringGridInit;
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
//Felder mit beispielwerten füllen
for i := 1
to 9
do
begin
personen[i].id := i;
personen[i].vorname := '
Willi ' + IntToStr(i);
personen[i].nachname := '
Mustermann';
personen[i].geburtstag := StrToDate('
31.12.1999');
end;
StringGridInit;
end;
procedure TForm1.StringGridInit;
var
i: Integer;
begin
with strngrd1
do
begin
RowCount := length(personen) + 1;
Cells[0, 0] := '
ID';
Cells[1, 0] := '
Vorname';
Cells[2, 0] := '
Name';
Cells[3, 0] := '
Geburtsdatum';
end;
for i := 1
to length(Personen)
do
with strngrd1
do
begin
Cells[0, i] := IntToStr(personen[i].id);
Cells[1, i] := personen[i].vorname;
Cells[2, i] := personen[i].nachname;
Cells[3, i] := DateToStr(personen[i].geburtstag);
end
end;
procedure TForm1.strngrd1DblClick(Sender: TObject);
var
frm2: TForm2;
begin
frm2 := TForm2.Create(Self);
frm2.edt1.text := personen[strngrd1.Row].vorname;
frm2.edt2.text := personen[strngrd1.Row].nachname;
frm2.edt3.text := DateToStr(personen[strngrd1.Row].geburtstag);
case frm2.ShowModal
of
mrOk:
begin
personen[strngrd1.Row].vorname := frm2.edt1.text;
personen[strngrd1.Row].nachname := frm2.edt2.text;
personen[strngrd1.Row].geburtstag := StrToDate(frm2.edt3.text);
with strngrd1
do
begin
Cells[1, strngrd1.Row] := personen[strngrd1.Row].vorname;
Cells[2, strngrd1.Row] := personen[strngrd1.Row].nachname;
Cells[3, strngrd1.Row] := DateToStr(personen[strngrd1.Row].geburtstag);
end;
end
end;
frm2.Free;
end;
end.