Ich habe das mal einfach übernommen was ihr gemacht
habt nur etwas anders geschrieben
ich habe jetzt nur das problem ich kann die bilder nicht auslesen er sagt mir immer der Zeiger sei falsch gesetzt ich weiß jedoch nicht wo der fehler ist.
Delphi-Quellcode:
type
Tintegerarray = array of integer;
Tpicarray = array of Timage;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Image6: TImage;
Image7: TImage;
Image8: TImage;
Image9: TImage;
Image10: TImage;
var
Form1: TForm1;
implementation
{$R *.dfm}
function picload: Tpicarray;
var counter: integer;
i,j,t: integer;
begin
SetLength(result,10);
for counter := 1 to 10 do
begin
Result[counter] := TImage.Create(nil);
Result[counter].Picture.LoadFromFile('Symbolik_' + inttoStr(counter) + '.jpg');
end;
for counter := 1 to 10 do
begin
j := trunc(random(10))+1;
t := trunc(random(10))+1;
i := t;
Result[t]:= Result[j];
Result[j]:= Result[i];
end;
end;
function bedingung: Tintegerarray;
var
Generierer: array[0..3] of integer;
max, max2: integer;
begin
repeat
Generierer[0] := trunc(random(899))+100;
max := 999 - Generierer[0];
Generierer[1] := trunc(random(max))+10;
Generierer[2] := trunc(random(max))+10;
max := 999 - Generierer[1];
max2 := 999 - Generierer[2];
if max > max2 then
Generierer[3] := trunc(random(max2))+10
else
Generierer[3] := trunc(random(max))+10;
SetLength(result,9);
result[0] := Generierer[0];
result[1] := Generierer[1];
result[2] := Generierer[2];
result[3] := Generierer[3];
result[4] := Generierer[0] + Generierer[1]; //A2 + A1 = C1
result[5] := Generierer[2] + Generierer[0]; //B1 + A1 = C2
result[6] := Generierer[1] + Generierer[3]; //A2 + B2 = D1
result[7] := Generierer[2] + Generierer[3]; //B1 + B2 = D2
result[8] := Result[5]+Result[6]; //engergebnis
until(result[8] <= 999);
if (Result[8] = Result[4] + Result[7]) then
ShowMessage('Die Zahlen Stimmen ')
else
ShowMessage('Die Zahlen stimmen nicht');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
rec : TIntegerarray;
caller : Tpicarray;
begin
//Image1.Picture.LoadFromFile('Symbolik_1.jpg');
rec := bedingung ;
caller := picload;
Edit1.Text := InttoStr(rec[0]);
Edit2.Text := InttoStr(rec[1]);
Edit3.Text := InttoStr(rec[4]);
Edit4.Text := InttoStr(rec[2]);
Edit5.Text := InttoStr(rec[3]);
Edit6.Text := InttoStr(rec[7]);
Edit7.Text := InttoStr(rec[5]);
Edit8.Text := InttoStr(rec[6]);
Edit9.Text := InttoStr(rec[8]);
Image2 := caller[2]; // schätze mal hier fehlt was wieß nur nicht was
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
end;
end.
sobald ich die bilder aus dem array aufrufen will sagt er mir das der zeiger falsch sei