![]() |
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:
Ich hoffe einer kann mir helfen!
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; Daniel Kussin [edit=sakura] Delphi-Tags eingefügt. Mfg, sakura[/edit] |
Re: Mein Vor-/Zurückfunktion funktioniert nicht
Moin Daniel,
Zitat:
Zitat:
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. |
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 |
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 16:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz