Einmal mehr guten Abend!
Bald hab ich keine Lust mehr auf Delphi irgendwie klappt hier nichts mehr!
Kurze Erläuterung: Also ich bin dabei ein einfaches Malprogramm zu programmieren, mein Problem liegt nun darin, dass ein verschiedene Ebenen durch verschiedene Arrays darstelle, d.h. ich sehe immer nur eine Ebene arbeite mit der, und ruf dann die nächste auf. Eine weitere Funktion ermöglicht mir dann, alle Ebenen zusammen zu fügen, und alle zusammen anzusehen.
Das Problem liegt nun darin, dass ich zwar eine Ebene vor gehen kann, und die auch wieder zurück, aber eigentlich soll es möglich sein, 300 Ebenen zu nutzen. Jedoch bricht das Programm immer ab oder reagiert einfach nicht auf meinen Befehl.
Ich hab jetzt 'mal einen Ausschnitt aus dem Programm mitgepostet, angehängt hab ich dann noch das komplette Programm, sowie Aufgabenstellung und Beispielprogramm.
Ausschnitt mit Erläuterungen:
Delphi-Quellcode:
procedure ArrayVergroessern;
begin
ArrayPos := ArrayPos + 1; <-- Die aktuelle Max-Ebene wird um ein Array erhöht.
end;
procedure ResetPaintBox;
begin
HFRecords.HUPaintBox.Canvas.Brush.Color := cPaintBoxFarbe;
HFRecords.HUPaintBox.Canvas.Rectangle(0,0,cPaintBoxBreite,cPaintBoxHoehe);
end;
procedure ArrayBewegungen(Erhoehen, Verkleinern : integer; var ArrayPosition : integer);
begin
if getArrayPos = 1 then <-- getArrayPos : Die aktuelle ArrayPosition wird eingelesen.
begin
HFRecords.HUButtonZurueck.Enabled := false;
ArrayPosition := 1;
end;
if Erhoehen = 1 then
ArrayVergroessern; <-- Array vergrössern!
ArrayPosition := ArrayPosition + Erhoehen - Verkleinern; <-- Hier wird die Richtung
entschieden, in die man sich auf dem
Array bewegt. (Links/Rechts)
if ArrayPosition > 1 then
HFRecords.HUButtonZurueck.Enabled := true <-- Die Taste "Zurück" wird freigegeben.
else
begin
HFRecords.HUButtonZurueck.Enabled := false; <-- Die Taste "Zurück" wird gesperrt.
ArrayPosition := 1;
end;
end;
procedure THFRecords.HUButtonVorClick(Sender: TObject);
var
ArrayPosition : integer;
begin
ResetPaintBox;
ArrayBewegungen(1,0,ArrayPosition); <-- 1 : steht für ArrayPosition um Eins erhöhen,
0 : steht für ArrayPosition um Null erhöhen,
ArrayPosition : Aktuelle ArrayPosition wird eingelesen.
ElementAnzeigen(ArrayPosition); <-- Aktuelles Element wird gezeichnet.
end;
procedure THFRecords.HUButtonZurueckClick(Sender: TObject); ( : Beschreibungen wie oben!)
var
ArrayPosition : integer;
begin
ResetPaintBox;
ArrayBewegungen(0,1,ArrayPosition);
ElementAnzeigen(ArrayPosition);
end;
Ich hoffe einer kann mir helfen!
Daniel Kussin
[edit=sakura] Delphi-Tags eingefügt. Mfg, sakura[/edit]