Thema: Delphi Array of Tpicture?

Einzelnen Beitrag anzeigen

Kuehter

Registriert seit: 14. Okt 2014
59 Beiträge
 
Delphi 7 Professional
 
#4

AW: Array of Tpicture?

  Alt 15. Okt 2014, 07:54
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
nicht nur Delphi sondern auch Java und C# formen die Welt

Geändert von Kuehter (15. Okt 2014 um 07:56 Uhr)
  Mit Zitat antworten Zitat