Hi,
ich speichere geänderte reihen aus stringgrid in einem label und diese später wieder benutzten zu können. Da ich keine doppelten reihen zu lassen will, habe ich mir eine funktion gebastelt:
Delphi-Quellcode:
var
a:array of integer;
zahl:integer;
Delphi-Quellcode:
function TForm1.posproof(label_zahl,reihe:integer):boolean;
var zahl:integer;
begin
if label_zahl > 1 then
begin
zahl:=1;
while zahl < label_zahl do
begin
if reihe= a[zahl] then
begin
result:=true;
exit;
end
else zahl:=zahl+1;
end;
result:=false;
end
else result:=false;
end;
und hier die prozedur um die reihen zu speichern:
Delphi-Quellcode:
procedure TForm1.stringgrid1SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: Strin
g);
begin
if posproof(strtoint(label1.Caption),stringgrid1.Row) = false then
begin
setlength(a,2);
zahl:=strtoint(label1.Caption);
a[zahl]:=stringgrid1.Row;
label1.Caption:=inttostr(zahl+1);
end;
end;
Nun zu meinen problemen:
1) Die zweite zahl, die immer gespeichert wird, ist immer eine utopische (996855217). kA warum? habt ihr einen rat?
2) Es kommt immer ein Error: "zugriffverletzung...."
Stimmt irgentwas mit einem code nicht?
Plautzer