![]() |
Goto Sprungmaken .... bekomms net hin :/
Hi leute ich versuch hier nen Sprungpunkt zu setzen und bekomms absolut net hin:
Habe hier ein Programm mit 2 verschiedenen procedure(n) ... und will nach beenden der beiden gerade einen Goto prgstart; ausführen ... diesen hab ich direkt vor end. gesetzt d.h. außerhalb beider prozeduren. das label prgstart; steht auch außerhalb beider prozeduren direkt unter implementation .... wenn ich dass programm jezz starten will bekomm ich nur den fehler: Declaration expected but 'GOTO' found. dieser markiert die Zeile wo dass Goto drinnen steht und der cursor ist direkt hinter GOTO Hoffe ihr könnt mir helfen Azrael |
Ausführbarer Code ist nur innerhalb von Prozeduren, Funktionen und im Hauptprogramm erlaubt.
Wenn du aus der Prozedur raus willst, nimm exit. |
Das GoTo gehört zum Spaghetti-Code und wird nur von VB Programmierern benutzt. Das Pascal dieses trotzdem Unterstützt ist eigentlich schon hirnrissig.
|
Wieso VB? VB ist genauso ereignisorientiert wie Delphi. Du meinst wohl Basic und diverse Derivate.
Noch zur Lösung:
Delphi-Quellcode:
procedure Wrapper;
begin DeineProzedur1 DeineProzedur2; Mach das was beim Goto-Label passieren soll; {Anweisung, Prozedur, Funktion} Anweisung1; Anweisung2; end; |
Hallo jbg,
ich kann mich an diese Diskussion um Spaghetti Code noch gut aus meiner Studienzeit erinnern. Letztlich würde ich nicht soweit gehen, Goto komplett zu verteufeln. Ich denke, dass Object Pascal insbesonder auch mit den try ... except bzw. try ... finally Konstruktionen gute zusätzliche Struturierungsmöglichkeiten anbietet, aber ein klitzekleines :mrgreen: GOTO macht ja aus einem Programm noch kein Nudelgericht. |
Aber sobald Sprung und Ziel nicht mehr auf einer Buildschirmseite sind oder gar verschachtelt sind.
Ich habe jetzt Code gesehen, da hat jemand mit Goto eine Schleife gebaut. Ich habe bestimmt eine Minute auf den Code gekuckt, bis ich kapiert haben, was da passiert. (Hinzukam es war schrecklich formatiert). Wer interesse hat: ![]() |
Zitat:
Zitat:
In Assembler könnte man ohne die ganzen goto Pendandts (jmp, jnz, jz, ...) gar nicht arbeiten ;) ...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 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