Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mein Vor-/Zurückfunktion funktioniert nicht (https://www.delphipraxis.net/12599-mein-vor-zurueckfunktion-funktioniert-nicht.html)

danielkussin 30. Nov 2003 18:29


Mein Vor-/Zurückfunktion funktioniert nicht
 
Liste der Anhänge anzeigen (Anzahl: 1)
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]

Christian Seehase 30. Nov 2003 20:24

Re: Mein Vor-/Zurückfunktion funktioniert nicht
 
Moin Daniel,

Zitat:

Zitat von danielkussin
Jedoch bricht das Programm immer ab

und mit welchem Fehler?

Zitat:

Zitat von danielkussin
oder reagiert einfach nicht auf meinen Befehl.

hängt das Programm dann, oder tut es nur nicht was es soll?
Du könntest auf jeden Fall mal einen Breakpoint setzen, und dann mal die fragliche Stelle im Einzelschrit durchgehen, ob der Ablauf wie geplant ist.

danielkussin 30. Nov 2003 20:52

Re: Mein Vor-/Zurückfunktion funktioniert nicht
 
Hi

Das Programm bricht nicht, im Sinne von einer Violation oder ähnlichem. Er tut einfach nur nicht, was er soll. Er erhöht einfach nicht weiter die Zahl bzw. reduziert sie, sondern springt immer von 1 auf 2 und zurück.

Ciao
Daniel

Christian Seehase 30. Nov 2003 21:05

Re: Mein Vor-/Zurückfunktion funktioniert nicht
 
Moin Daniel,

beides könnest Du mal durch eine Abarbeitung im Einzelschritt näher einkreisen.
Wie ist z.B. Dein Array deklariert?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz