unit PUnit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids;
type
TForm1 =
class(TForm)
StringGrid1: TStringGrid;
procedure StringGrid1DblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure StringGridInit;
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
TPerson =
record
id: integer;
vorname:
string[20];
nachname:
string[30];
geburtstag: TDateTime;
end;
var
Form1: TForm1;
personen:
array[1..9]
of TPerson;
implementation
uses PUnit2;
{$R *.dfm}
procedure TForm1.StringGrid1DblClick(Sender: TObject);
begin
//Werte an Form2 übergeben (wie besser lösbar?)
form2.edit1.text := personen[StringGrid1.Row].vorname;
form2.edit2.text := personen[StringGrid1.Row].nachname;
form2.edit3.text := DateToStr(personen[StringGrid1.Row].geburtstag);
form2.Show;
end;
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 StringGrid1
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 StringGrid1
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;
end.