bekomme in den zeilen 46, 46, 49, 49, 65, 65, 65, 65, 66, 66, 66, 66 und 74 den fehler array-typ erforderlich.
habe schon gegrübelt komme aber nicht darauf wie ich ihn beheben kann.
mir würde schon ein kleines beispiel an einer zeile reichen, da ich denke, dass ich ihn dann auch auf die anderen zeilen übertragen kann.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, jpeg;
type TForm1 = class(TForm) Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; Image6: TImage; procedure FormCreate(Sender: TObject); procedure Image1Click(Sender: TObject); private public end;
var Form1: TForm1; zweitekarte: boolean = true; karte1, karte2: integer; karte: array [1..3] of string; position: array [1..6] of integer; deckblatt1, deckblatt2: string;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); var anzahl, k, zufall, nummer: integer; karte: array [1..6] of string; begin
randomize; while anzahl > 0 do begin zufall := random(anzahl)+1; nummer[anzahl] := position[zufall]; for k := zufall to anzahl-1 do begin position[k] := position[k+1]; end; anzahl := anzahl -1; end;
image1.Picture.LoadFromFile('images/hansawappen.jpg'); image2.Picture.LoadFromFile('images/hansawappen.jpg'); image3.Picture.LoadFromFile('images/hansawappen.jpg'); image4.Picture.LoadFromFile('images/hansawappen.jpg'); image5.Picture.LoadFromFile('images/hansawappen.jpg'); image6.Picture.LoadFromFile('images/hansawappen.jpg');
karte[1]:= 'images/spieler1.jpg'; karte[2]:= 'images/spieler2.jpg'; karte[3]:= 'images/spieler3.jpg';
position[1]:= 1; position[2]:= 2; position[3]:= 3; position[4]:= 3; position[5]:= 2; position[6]:= 1; end;
procedure TForm1.image1Click(Sender: TObject); var i, k: integer; begin zweitekarte:= not(zweitekarte); i:= strtoint(timage(sender).name[6]); showmessage('position_'+inttostr(i)+' gedrückt'); timage(sender).Picture.LoadFromFile(karte[position[i]]); deckblatt1:= timage(sender).name; showmessage('deckblatt1'+'wurde ausgewählt');
if zweitekarte then begin karte1:= i; deckblatt1:= timage(sender).Name; end else begin karte2:= i; deckblatt2:= timage(sender).name; end;
if zweitekarte then if position[karte1] <> position[karte2] then begin messagedlgpos('gesehn?', mtconfirmation, mbyesnocancel, 0, 400, 400); for k:=0 to componentcount-1 do if (timage(components[k]).name=deckblatt1) or (timage(components[k]).name=deckblatt2) then timage(components[k]).Picture.LoadFromFile('hansawappen.jpg'); end end;
end. |
mfg..