Einzelnen Beitrag anzeigen

danielkussin

Registriert seit: 26. Nov 2003
Ort: Rellingen
16 Beiträge
 
#1

Mein Vor-/Zurückfunktion funktioniert nicht

  Alt 30. Nov 2003, 19:29
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]
Angehängte Dateien
Dateityp: exe malprogramm.exe (439,5 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat