Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Goto (https://www.delphipraxis.net/98180-goto.html)

MasterTobi 22. Aug 2007 19:44


Goto
 
hey ich bins ma wida

also ich möchte gern ma wissen wie die goto funktion funzt?

Delphi-Quellcode:

//bsp//

if bla bla =1 then goto 3 else 4;


close;


label1.caption:=2;
so würd ich es denken
aber irgendwie geht das net!
kann mir einer helfen?

mfg
Tobi

mkinzler 22. Aug 2007 19:46

Re: Goto
 
Vergiss goto!!!

Delphi-Quellcode:
if bla bla =1 then
begin
    ...
end
else
begin
    close;
end;

MasterTobi 22. Aug 2007 19:50

Re: Goto
 
ja so mach ich es ja grad zurzeit
aber ich will halt net immer wida alles nochma schreiben bzw kopieren er soll z.b halt bla bla öffters kontrollieren deswegen will ich goto

mfg
tobi

mkinzler 22. Aug 2007 19:55

Re: Goto
 
Dann lagere den Code in eine Prozedur/Funktion aus. Ein Grund warum Herr Wirth Pascal erfunden hat, war das problematische goto.

Delphi-Quellcode:
procedure DerCode;
begin
   ...
end;
Delphi-Quellcode:
if bla bla =1 then DerCode else close;

FAlter 22. Aug 2007 19:57

Re: Goto
 
Hi,

Labels und GoTo gelten als veraltet und sollten nicht mehr verwendet werden. Für Schleifen gibt es break (zum vorzeitigen Abbbruch) und Continue (vorzeitige Fortsetzung), wofür früher goto verwendet wurde. Für deinen Fall - der kurze Text im Beispiel kann ruhig öfter geschrieben werden. Falls du längere Abschnitte hast, solltest du sie in eine eigene procedure auslagern.

Mfg
FAlter

Oh, da war wohl jemand schneller :stupid:

scrat1979 22. Aug 2007 19:57

Re: Goto
 
Wie schon mkinzler angedeutet hat, gehört die Goto-Anweisung (zumindest IMHO) eher zum schlechteren Programmierstil. Es gibt wesentlich kompaktere und v.a. übersichtliche Lösungen (Stichwort Switch, Case, etc.). Eventuell zeigst Du uns mal etwas mehr von Deinem Code und was genau Du lösen möchtest. Ich bin mir ganz sicher, daß wir eine passende(re) Lösung für Dich finden! Ich habe bisher auch in meinen größten Projekten (für MICH zumindest sind sie groß) noch niemals eine Goto-Anweisung benötigt und dennoch (kaum) redundanten Code benutzen müssen.

SCRaT

MasterTobi 22. Aug 2007 20:03

Re: Goto
 
ja ich weiß ja was ihr meint
so mach ich es ja grad.

aber ich brauche unbedingt goto, ich kann bloß nicht erklären warum :D

mfg
tobi

mkinzler 22. Aug 2007 20:07

Re: Goto
 
[Ironie]Es ist schlecht mit dem kopf gegen eine Wand zu rennen. Ich muß es aber, kann euch aber nicht erklären warum[/Ironie]

inherited 22. Aug 2007 20:12

Re: Goto
 
Was willst du denn machen?

scrat1979 22. Aug 2007 20:12

Re: Goto
 
Zitat:

Zitat von MasterTobi
ja ich weiß ja was ihr meint
so mach ich es ja grad.

aber ich brauche unbedingt goto, ich kann bloß nicht erklären warum :D

mfg
tobi

Okay, habe gerade mal meinen Freund Google bemüht. Auch wenn auf fast allen Seiten von der Verwendung abgeraten wird, möchte ich Dir aus paswiki.de das Beispiel nicht vorenthalten - Warum habe ich das Gefühl, daß Du Dir nicht weiterhelfen lassen möchtest?!? :cheers:

Delphi-Quellcode:
program labeltest;
uses crt;
label 1,2;

begin
writeln('Was kommt jetzt?');
goto 2;
1:writeln('Label1 wird nicht aufgerufen!');
2:writeln('Label2 ist sofort dran!');
readkey
end.
Viel Glück damit und hoffentlich weißt Du in 1 Jahr auch noch, wo in Deinem Programm hin- und hergesprungen wird. Ich verwette eine Kiste kaltes Bier, daß wir Dir eine vernünftigere Lösung präsentieren hätten können :thumb:

Liebe Grüße,

SCRaT


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:14 Uhr.
Seite 1 von 4  1 23     Letzte »    

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