diff options
Diffstat (limited to 'raetselunit.pas')
-rw-r--r-- | raetselunit.pas | 276 |
1 files changed, 138 insertions, 138 deletions
diff --git a/raetselunit.pas b/raetselunit.pas index 982d7ff..ad4a43a 100644 --- a/raetselunit.pas +++ b/raetselunit.pas @@ -15,7 +15,7 @@ type tButtonWithArrowKeys = class(tButton) private - procedure WMGetDlgCode(var Msg: TWMGetDlgCode); message WM_GETDLGCODE; + procedure wMGetDlgCode(var msg: tWMGetDlgCode); message wM_GETDLGCODE; end; tSmarterCheckBox = class(tCheckBox) @@ -23,11 +23,11 @@ type end; tZug = record - Position: integer; - Vorher: integer; + position: integer; + vorher: integer; vorherFarbe, nachherFarbe, - vorherMalFarbe: TColor; + vorherMalFarbe: tColor; end; tOnSetCaption = procedure(c: string) of object; @@ -36,12 +36,12 @@ type private besitzer: tForm; farbWahlFlaeche, - zeichenflaeche: tImage; + zeichenFlaeche: tImage; erzeugeBtn, speichernBtn, ladenBtn: tButtonWithArrowKeys; zufallSE: tSpinEdit; - progressbar1: tProgressBar; + progressBar1: tProgressBar; aktuelleFarbe: tColor; function besitzerHoehe: longint; dynamic; function besitzerBreite: longint; dynamic; @@ -63,7 +63,7 @@ type function passt(spalte,zeile: integer): boolean; dynamic; abstract; function geloest: boolean; dynamic; abstract; procedure randErzeugen; dynamic; abstract; - procedure startfelderFestlegen; dynamic; abstract; + procedure startFelderFestlegen; dynamic; abstract; procedure speichern(var datei: file); dynamic; procedure laden(var datei: file); dynamic; public @@ -83,8 +83,8 @@ type cursorPosition: longint; zellGroesze: extended; uebersetze: tAlphabetFunktion; - FeldFarben: array of tColor; - startfeld: array of boolean; + feldFarben: array of tColor; + startFeld: array of boolean; zuege: array of tZug; procedure anzSEsOnChange(sender: tObject); procedure onKeyDown(sender: tObject; var key: word; shiftState: tShiftState); override; @@ -99,7 +99,7 @@ type procedure relativeInhaltsAenderung(diff: longint); dynamic; abstract; function absoluteInhaltsAenderung(key: word): boolean; dynamic; abstract; procedure gesamtRaenderErzeugen; dynamic; abstract; - procedure startfelderfestlegen; override; + procedure startFelderFestlegen; override; procedure alsZugSpeichern; procedure speichern(var datei: file); override; procedure laden(var datei: file); override; @@ -121,8 +121,8 @@ type {$UNDEF interface} -function farbverlauf(wo: extended): tColor; -function RGB2TColor(R,G,B: Extended): TColor; inline; +function farbVerlauf(wo: extended): tColor; +function rgb2TColor(r,g,b: extended): tColor; inline; const spacing = 2; @@ -143,43 +143,43 @@ function buchstabenAlphabetFunktion(i: longint): string; {$UNDEF buchstaben} {$UNDEF alphabetFunktion} -function farbverlauf(wo: extended): tColor; +function farbVerlauf(wo: extended): tColor; const - R: array[0..6] of extended = (0.5,0.9,0.9, 0, 0,0.2,0); - G: array[0..6] of extended = ( 0,0.5,0.9,0.7,0.7,0.2,0); - B: array[0..6] of extended = (0.7, 0, 0, 0,0.7, 1,0); + r: array[0..6] of extended = (0.5,0.9,0.9, 0, 0,0.2,0); + g: array[0..6] of extended = ( 0,0.5,0.9,0.7,0.7,0.2,0); + b: array[0..6] of extended = (0.7, 0, 0, 0,0.7, 1,0); var i: integer; begin - wo:=wo*(length(R)-1); - I:=floor(Wo); - Wo:=Wo-I; - if I<0 then begin - result:=RGB2TColor(R[0],G[0],B[0]); + wo:=wo*(length(r)-1); + i:=floor(wo); + wo:=wo-i; + if i<0 then begin + result:=rgb2TColor(r[0],g[0],b[0]); exit; end; - if I>=(length(R)-1) then begin - result:=RGB2TColor(R[length(R)-1],G[length(R)-1],B[length(R)-1]); + if i>=(length(r)-1) then begin + result:=rgb2TColor(r[length(r)-1],g[length(r)-1],b[length(r)-1]); exit; end; - result:=RGB2TColor(R[I+1]*Wo+R[I]*(1-Wo), - G[I+1]*Wo+G[I]*(1-Wo), - B[I+1]*Wo+B[I]*(1-Wo)); + result:=rgb2TColor(r[i+1]*wo+r[i]*(1-wo), + g[i+1]*wo+g[i]*(1-wo), + b[i+1]*wo+b[i]*(1-wo)); end; -function RGB2TColor(R,G,B: extended): tColor; +function rgb2TColor(r,g,b: extended): tColor; begin - result:=max(0,min($FF,round(R*$100))) or - (max(0,min($FF,round(G*$100))) shl 8) or - (max(0,min($FF,round(B*$100))) shl 16); + result:=max(0,min($FF,round(r*$100))) or + (max(0,min($FF,round(g*$100))) shl 8) or + (max(0,min($FF,round(b*$100))) shl 16); end; -// tButtonWithArrowkeys ******************************************************** +// tButtonWithArrowKeys ******************************************************** -procedure tButtonWithArrowkeys.WMGetDlgCode(var msg: tWMGetDLGCODE);// message WM_GETDLGCODE; +procedure tButtonWithArrowKeys.wMGetDlgCode(var msg: tWMGetDlgCode);// message wM_GETDLGCODE; begin inherited; - msg.Result := msg.Result or DLGC_WANTARROWS; + msg.result := msg.result or DLGC_WANTARROWS; end; // tSmarterCheckBox ************************************************************ @@ -203,9 +203,9 @@ begin inherited create; randomize; besitzer:=aOwner; - zeichenflaeche:=tImage.create(besitzer); - zeichenflaeche.parent:=besitzer; - zeichenflaeche.onMouseDown:=@onMouseDown; + zeichenFlaeche:=tImage.create(besitzer); + zeichenFlaeche.parent:=besitzer; + zeichenFlaeche.onMouseDown:=@onMouseDown; farbWahlFlaeche:=tImage.create(besitzer); farbWahlFlaeche.parent:=besitzer; farbWahlFlaeche.onMouseDown:=@onFarbWahlMouseDown; @@ -242,29 +242,29 @@ begin zufallSE.value:=random(zufallSE.maxValue+1); zufallSE.showHint:=true; zufallSE.hint:='Nummer'; - progressbar1:=tProgressBar.create(besitzer); - progressbar1.visible:=false; - progressbar1.smooth:=true; - progressbar1.parent:=besitzer; + progressBar1:=tProgressBar.create(besitzer); + progressBar1.visible:=false; + progressBar1.smooth:=true; + progressBar1.parent:=besitzer; end; destructor tRaetsel.destroy; begin - zeichenflaeche.free; + zeichenFlaeche.free; farbWahlFlaeche.free; inherited destroy; end; function tRaetsel.besitzerHoehe: longint; begin - result:=zeichenflaeche.height+zeichenflaeche.top+spacing; + result:=zeichenFlaeche.height+zeichenFlaeche.top+spacing; end; function tRaetsel.besitzerBreite: longint; begin result:= max( - zeichenflaeche.width+zeichenflaeche.left, + zeichenFlaeche.width+zeichenFlaeche.left, ladenBtn.width+ladenBtn.left )+spacing; end; @@ -274,15 +274,15 @@ var i: tImage; begin i:=tImage.create(besitzer); - i.parent:=zeichenflaeche.parent; - i.left:=zeichenflaeche.left; - i.top:=zeichenflaeche.top; - i.width:=zeichenflaeche.width; - i.height:=zeichenflaeche.height; - i.canvas.font.size:=zeichenflaeche.canvas.font.size; - i.onMouseDown:=zeichenflaeche.onMouseDown; - zeichenflaeche.free; - zeichenflaeche:=i; + i.parent:=zeichenFlaeche.parent; + i.left:=zeichenFlaeche.left; + i.top:=zeichenFlaeche.top; + i.width:=zeichenFlaeche.width; + i.height:=zeichenFlaeche.height; + i.canvas.font.size:=zeichenFlaeche.canvas.font.size; + i.onMouseDown:=zeichenFlaeche.onMouseDown; + zeichenFlaeche.free; + zeichenFlaeche:=i; i:=tImage.create(besitzer); i.parent:=farbWahlFlaeche.parent; @@ -300,9 +300,9 @@ end; procedure tRaetsel.onFarbWahlMouseDown(sender: tObject; button: tMouseButton; shiftState: tShiftState; x,y: longint); begin - if Button<>mbLeft then + if button<>mbLeft then exit; - aktuelleFarbe:=Farbverlauf(X/farbWahlFlaeche.Width); + aktuelleFarbe:=farbVerlauf(x/farbWahlFlaeche.width); farbWahlFlaecheBemalen; end; @@ -310,15 +310,15 @@ procedure tRaetsel.onFarbWahlMouseMove(sender: tObject; shiftState: tShiftState; begin if not(ssLeft in shiftState) then exit; - aktuelleFarbe:=Farbverlauf(X/farbWahlFlaeche.Width); + aktuelleFarbe:=farbVerlauf(x/farbWahlFlaeche.width); farbWahlFlaecheBemalen; end; procedure tRaetsel.onFarbWahlMouseUp(sender: tObject; button: tMouseButton; shiftState: tShiftState; x,y: longint); begin - if Button<>mbLeft then + if button<>mbLeft then exit; - aktuelleFarbe:=Farbverlauf(X/farbWahlFlaeche.Width); + aktuelleFarbe:=farbVerlauf(x/farbWahlFlaeche.width); farbWahlFlaecheBemalen; end; @@ -372,13 +372,13 @@ procedure tRaetsel.farbWahlFlaecheBemalen; var i: integer; begin - farbWahlFlaeche.Canvas.Pen.Color:=aktuelleFarbe; - farbWahlFlaeche.Canvas.Brush.Color:=aktuelleFarbe; - farbWahlFlaeche.Canvas.Rectangle(0,0,farbWahlFlaeche.width,farbWahlFlaeche.height div 2); - For I:=0 to farbWahlFlaeche.width-1 do begin - farbWahlFlaeche.Canvas.Pen.Color:=farbverlauf(I/farbWahlFlaeche.Width); - farbWahlFlaeche.Canvas.Moveto(I,farbWahlFlaeche.height div 2); - farbWahlFlaeche.Canvas.Lineto(I,farbWahlFlaeche.height); + farbWahlFlaeche.canvas.pen.color:=aktuelleFarbe; + farbWahlFlaeche.canvas.brush.color:=aktuelleFarbe; + farbWahlFlaeche.canvas.rectangle(0,0,farbWahlFlaeche.width,farbWahlFlaeche.height div 2); + for i:=0 to farbWahlFlaeche.width-1 do begin + farbWahlFlaeche.canvas.pen.color:=farbVerlauf(i/farbWahlFlaeche.width); + farbWahlFlaeche.canvas.moveTo(i,farbWahlFlaeche.height div 2); + farbWahlFlaeche.canvas.lineTo(i,farbWahlFlaeche.height); end; end; @@ -401,8 +401,8 @@ begin inherited create(aOwner); uebersetze:=alphabetFunktion; cursorPosition:=-1; - setlength(spinEdits,anzInhTypen+1); - setlength(groeszen,length(spinEdits)-1); + setLength(spinEdits,anzInhTypen+1); + setLength(groeszen,length(spinEdits)-1); for i:=0 to length(spinEdits)-1 do begin spinEdits[i]:=tSpinEdit.create(besitzer); spinEdits[i].onKeyDown:=@onKeyDown; @@ -443,8 +443,8 @@ begin farbWahlFlaeche.left:=spacing; farbWahlFlaeche.top:=diagonalenCB.top+diagonalenCB.height+spacing; farbWahlFlaeche.height:=16; - zeichenflaeche.left:=spacing; - zeichenflaeche.top:=farbWahlFlaeche.top+farbWahlFlaeche.height+spacing; + zeichenFlaeche.left:=spacing; + zeichenFlaeche.top:=farbWahlFlaeche.top+farbWahlFlaeche.height+spacing; aktualisiereGroesze; end; @@ -467,15 +467,15 @@ end; procedure tFelderRaetsel.onKeyDown(sender: tObject; var key: word; shiftState: tShiftState); begin if ssCtrl in shiftState then begin - if (Key=ord('Z')) and (length(Zuege)>0) then begin - cursorPosition:=Zuege[length(Zuege)-1].Position; - inhalt[cursorPosition]:=Zuege[length(Zuege)-1].Vorher; - FeldFarben[cursorPosition]:=Zuege[length(Zuege)-1].VorherFarbe; - aktuelleFarbe:=Zuege[length(Zuege)-1].VorherMalFarbe; - setlength(Zuege,length(Zuege)-1); + if (key=ord('Z')) and (length(zuege)>0) then begin + cursorPosition:=zuege[length(zuege)-1].position; + inhalt[cursorPosition]:=zuege[length(zuege)-1].vorher; + feldFarben[cursorPosition]:=zuege[length(zuege)-1].vorherFarbe; + aktuelleFarbe:=zuege[length(zuege)-1].vorherMalFarbe; + setLength(zuege,length(zuege)-1); farbWahlFlaecheBemalen; end; - Zeichnen; + zeichnen; exit; end; @@ -529,13 +529,13 @@ begin groeszen[i]:=spinEdits[i+1].value; dim:=dim+groeszen[i]; end; - setlength(inhalt,dim*dim); - setlength(startfeld,dim*dim); - setlength(feldFarben,dim*dim); - setlength(rand,4*dim); + setLength(inhalt,dim*dim); + setLength(startFeld,dim*dim); + setLength(feldFarben,dim*dim); + setLength(rand,4*dim); - NSqrt:=round(sqrt(dim)); - sudokuCB.enabled:=Sqr(NSqrt)=dim; + nSqrt:=round(sqrt(dim)); + sudokuCB.enabled:=Sqr(nSqrt)=dim; if (not sudokuCB.enabled) and sudokuCB.checked then sudokuCB.checked:=false; @@ -550,7 +550,7 @@ var i: longint; begin aktuelleFarbe:=$000000; - setlength(zuege,0); + setLength(zuege,0); for i:=0 to length(inhalt)-1 do begin inhalt[i]:=-1; startFeld[i]:=true; @@ -567,13 +567,13 @@ var i,w: longint; begin p:=permutation(dim*dim); - progressbar1.step:=1; - progressbar1.min:=0; - progressbar1.max:=dim*(dim+4); - progressbar1.position:=0; - progressbar1.visible:=true; + progressBar1.step:=1; + progressBar1.min:=0; + progressBar1.max:=dim*(dim+4); + progressBar1.position:=0; + progressBar1.visible:=true; for i:=0 to length(p)-1 do begin - progressbar1.stepIt; + progressBar1.stepIt; application.processMessages; if inhalt[p[i]]<0 then continue; @@ -585,7 +585,7 @@ begin p:=permutation(dim*4); for i:=0 to length(p)-1 do begin - progressbar1.stepIt; + progressBar1.stepIt; application.processMessages; if rand[p[i]]<0 then continue; w:=rand[p[i]]; @@ -593,22 +593,22 @@ begin if anzLoesungen(-1)<>1 then rand[p[i]]:=w; end; - progressbar1.visible:=false; + progressBar1.visible:=false; end; procedure tFelderRaetsel.aktualisiereZeichenflaechenGroesze; begin - zeichenflaeche.canvas.font.size:=schriftGroesze; + zeichenFlaeche.canvas.font.size:=schriftGroesze; zellGroesze:= - 2*spacing + zeichenflaeche.canvas.pen.width + + 2*spacing + zeichenFlaeche.canvas.pen.width + max( - zeichenflaeche.canvas.textWidth(uebersetze(dim)), - zeichenflaeche.canvas.textHeight(uebersetze(dim)) + zeichenFlaeche.canvas.textWidth(uebersetze(dim)), + zeichenFlaeche.canvas.textHeight(uebersetze(dim)) ); - zeichenflaeche.height:=round((dim+2)*zellGroesze); - zeichenflaeche.width:=zeichenflaeche.height; + zeichenFlaeche.height:=round((dim+2)*zellGroesze); + zeichenFlaeche.width:=zeichenFlaeche.height; farbWahlFlaeche.height:=16; - farbWahlFlaeche.width:=zeichenflaeche.width; + farbWahlFlaeche.width:=zeichenFlaeche.width; zeichenFlaecheNeuKreieren; besitzer.height:=besitzerHoehe; besitzer.width:= @@ -617,7 +617,7 @@ begin sudokuCB.left+sudokuCB.width+spacing), spinEdits[length(spinEdits)-1].left+spinEdits[length(spinEdits)-1].width+spacing ); - progressbar1.width:=besitzer.width; + progressBar1.width:=besitzer.width; zeichnen; end; @@ -645,7 +645,7 @@ var s: string; begin s:=uebersetze(i); - with zeichenflaeche.canvas do begin + with zeichenFlaeche.canvas do begin brush.color:=$FFFFFF; if (x>=0) and (y>=0) and (x<dim) and (y<dim) and (diagonalenCB.checked and ((x=y) or (x+y=dim-1))) then brush.color:=brush.color - $181818; @@ -674,20 +674,20 @@ procedure tFelderRaetsel.zeichnen; var i: longint; begin - zeichenflaeche.canvas.brush.color:=$ffffff; - zeichenflaeche.canvas.rectangle(-10,-10,zeichenflaeche.width+10,zeichenflaeche.height+10); - zeichenflaeche.canvas.pen.width:=3-2*byte(sudokuCB.checked); - zeichenflaeche.canvas.pen.color:=$000000; + zeichenFlaeche.canvas.brush.color:=$ffffff; + zeichenFlaeche.canvas.rectangle(-10,-10,zeichenFlaeche.width+10,zeichenFlaeche.height+10); + zeichenFlaeche.canvas.pen.width:=3-2*byte(sudokuCB.checked); + zeichenFlaeche.canvas.pen.color:=$000000; if diagonalenCB.checked then for i:=1 to dim do begin - zeichenflaeche.canvas.brush.color:=$ffffff - $181818; - zeichenflaeche.canvas.fillRect( + zeichenFlaeche.canvas.brush.color:=$ffffff - $181818; + zeichenFlaeche.canvas.fillRect( round(i*zellGroesze), round(i*zellGroesze), round((i+1)*zellGroesze), round((i+1)*zellGroesze) ); - zeichenflaeche.canvas.fillRect( + zeichenFlaeche.canvas.fillRect( round(i*zellGroesze), round((dim-i+1)*zellGroesze), round((i+1)*zellGroesze), @@ -695,31 +695,31 @@ begin ); end; for i:=0 to dim do - with zeichenflaeche.canvas do begin + with zeichenFlaeche.canvas do begin pen.width:=3-2*byte(sudokuCB.checked and (i mod nSqrt <> 0)); moveTo(round((i+1)*zellGroesze),round(zellGroesze)); lineTo(round((i+1)*zellGroesze),round((dim+1)*zellGroesze)); moveTo(round(zellGroesze),round((i+1)*zellGroesze)); lineTo(round((dim+1)*zellGroesze),round((i+1)*zellGroesze)); end; - zeichenflaeche.canvas.pen.width:=3; - zeichenflaeche.canvas.pen.color:=$8080ff; + zeichenFlaeche.canvas.pen.width:=3; + zeichenFlaeche.canvas.pen.color:=$8080ff; if (cursorPosition>=0) and (dim>0) then begin - zeichenflaeche.canvas.brush.color:= + zeichenFlaeche.canvas.brush.color:= $ffffff - $181818 * byte( diagonalenCB.checked and ( (cursorPosition mod (dim+1)=0) or (cursorPosition mod (dim-1)=0) ) ); - zeichenflaeche.canvas.rectangle( + zeichenFlaeche.canvas.rectangle( round(((cursorPosition mod dim)+1)*zellGroesze), round(((cursorPosition div dim)+1)*zellGroesze), round(((cursorPosition mod dim)+2)*zellGroesze+1), round(((cursorPosition div dim)+2)*zellGroesze+1) ); end; - zeichenflaeche.canvas.brush.color:=$ffffff; + zeichenFlaeche.canvas.brush.color:=$ffffff; for i:=0 to dim-1 do begin schreibeZentriert(i,-1,rand[i]); schreibeZentriert(dim,i,rand[dim+i]); @@ -730,12 +730,12 @@ begin schreibeZentriert(i mod dim,i div dim,inhalt[i]); end; -procedure tFelderRaetsel.startfelderfestlegen; +procedure tFelderRaetsel.startFelderFestlegen; var i: longint; begin for i:=0 to length(inhalt)-1 do - startfeld[i]:=inhalt[i]>=0; + startFeld[i]:=inhalt[i]>=0; end; procedure tFelderRaetsel.alsZugSpeichern; @@ -764,32 +764,32 @@ begin b:=byte(sudokuCB.checked); blockWrite(datei,b,1); i:=length(groeszen); - blockWrite(datei,i,sizeof(i)); + blockWrite(datei,i,sizeOf(i)); if length(groeszen)>0 then - blockWrite(datei,groeszen[0],length(groeszen)*sizeof(groeszen[0])); + blockWrite(datei,groeszen[0],length(groeszen)*sizeOf(groeszen[0])); i:=length(inhalt); - blockWrite(datei,i,sizeof(i)); + blockWrite(datei,i,sizeOf(i)); if length(inhalt)>0 then - blockWrite(datei,inhalt[0],length(inhalt)*sizeof(inhalt[0])); + blockWrite(datei,inhalt[0],length(inhalt)*sizeOf(inhalt[0])); i:=length(rand); - blockWrite(datei,i,sizeof(i)); + blockWrite(datei,i,sizeOf(i)); if length(rand)>0 then - blockWrite(datei,rand[0],length(rand)*sizeof(rand[0])); - blockWrite(datei,dim,sizeof(dim)); - blockWrite(datei,nSqrt,sizeof(nSqrt)); - blockWrite(datei,cursorPosition,sizeof(cursorPosition)); + blockWrite(datei,rand[0],length(rand)*sizeOf(rand[0])); + blockWrite(datei,dim,sizeOf(dim)); + blockWrite(datei,nSqrt,sizeOf(nSqrt)); + blockWrite(datei,cursorPosition,sizeOf(cursorPosition)); i:=length(feldFarben); - blockWrite(datei,i,sizeof(i)); + blockWrite(datei,i,sizeOf(i)); if length(feldFarben)>0 then - blockWrite(datei,feldFarben[0],length(feldFarben)*sizeof(feldFarben[0])); + blockWrite(datei,feldFarben[0],length(feldFarben)*sizeOf(feldFarben[0])); i:=length(startFeld); - blockWrite(datei,i,sizeof(i)); + blockWrite(datei,i,sizeOf(i)); if length(startFeld)>0 then - blockWrite(datei,startFeld[0],length(startFeld)*sizeof(startFeld[0])); + blockWrite(datei,startFeld[0],length(startFeld)*sizeOf(startFeld[0])); i:=length(zuege); - blockWrite(datei,i,sizeof(i)); + blockWrite(datei,i,sizeOf(i)); if length(zuege)>0 then - blockWrite(datei,zuege[0],length(zuege)*sizeof(zuege[0])); + blockWrite(datei,zuege[0],length(zuege)*sizeOf(zuege[0])); inherited speichern(datei); end; @@ -816,32 +816,32 @@ begin blockRead(datei,i,sizeOf(i)); assert(length(groeszen)=i,'Falsche Anzahl freier Paraemeter in gespeichertem Spiel!'); if length(groeszen)>0 then - blockRead(datei,groeszen[0],length(groeszen)*sizeof(groeszen[0])); + blockRead(datei,groeszen[0],length(groeszen)*sizeOf(groeszen[0])); for i:=0 to length(groeszen)-1 do spinEdits[i+1].value:=groeszen[i]; blockRead(datei,i,sizeOf(i)); setLength(inhalt,i); if length(inhalt)>0 then - blockRead(datei,inhalt[0],length(inhalt)*sizeof(inhalt[0])); + blockRead(datei,inhalt[0],length(inhalt)*sizeOf(inhalt[0])); blockRead(datei,i,sizeOf(i)); setLength(rand,i); if length(rand)>0 then - blockRead(datei,rand[0],length(rand)*sizeof(rand[0])); - blockRead(datei,dim,sizeof(dim)); - blockRead(datei,nSqrt,sizeof(nSqrt)); - blockRead(datei,cursorPosition,sizeof(cursorPosition)); + blockRead(datei,rand[0],length(rand)*sizeOf(rand[0])); + blockRead(datei,dim,sizeOf(dim)); + blockRead(datei,nSqrt,sizeOf(nSqrt)); + blockRead(datei,cursorPosition,sizeOf(cursorPosition)); blockRead(datei,i,sizeOf(i)); setLength(feldFarben,i); if length(feldFarben)>0 then - blockRead(datei,feldFarben[0],length(feldFarben)*sizeof(feldFarben[0])); + blockRead(datei,feldFarben[0],length(feldFarben)*sizeOf(feldFarben[0])); blockRead(datei,i,sizeOf(i)); setLength(startFeld,i); if length(startFeld)>0 then - blockRead(datei,startFeld[0],length(startFeld)*sizeof(startFeld[0])); + blockRead(datei,startFeld[0],length(startFeld)*sizeOf(startFeld[0])); blockRead(datei,i,sizeOf(i)); setLength(zuege,i); if length(zuege)>0 then - blockRead(datei,zuege[0],length(zuege)*sizeof(zuege[0])); + blockRead(datei,zuege[0],length(zuege)*sizeOf(zuege[0])); inherited laden(datei); end; |