Autor Beitrag
teamrocket0
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 168
Erhaltene Danke: 1

Win ME, Win XP, Win 7, Win 10
Delphi 7, 10.2 Tokyo
BeitragVerfasst: Mi 17.10.18 21:27 
Guten Abend Entwickler-Ecke-Spezies.

Ganz kurz zur Sache. Ich weiß, das man den "GoTo" Befehl nicht benutzen soll. Für mein Unterfangen wäre es aber ganz nützlich.
Ich kann ein Label nur innerhalb einer abgeschlossenen Prozedur deklarieren, vergeben und benutzen. Mit dem GoTo-Befehl. Das ist aber an und für sich total unnütz.

Ich möchte mit einem Label eine Prozedur verlassen um am Ende das interessanten Programmcode den langweiligen, uninteressanten zu verstecken.
Ich habe einen Aufruf:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
  if FileExists(ExtractFilePath(ParamStr(0)) + SaveFilePath + 'Genre.txt')=false  then
  begin
    case Form1.Radiogroup1.ItemIndex of       //Genre Startwerte schreiben
    1:Begin
      GoTo CreatListBoxMusik;
      end;
    2:Begin
      GoTo CreatListBoxGames;
      end;
    end;
end;


Diese CreatListBox-Prozeduren sollen nur eine menge Zeug in eine Listbox schreiben. Nur für den Just-In-Case-Fall das die entsprechende Textdatei nicht mehr vorhanden sein sollte.

Und da das eine Menge Zeilen sind, die meinen ach so ordentliche Programmcode unnötig auseinanderreißen würden, möchte ich der Ordnung halber den ganzen Mist ans Ende haben. Das ist mein Vorhaben. Nun die wichtige Frage.

Wie stelle ich es an, eine Prozedur zu verlassen, an eine andere Stelle meines Programmcodes zu springen (in meinem Fall ans Ende) und dann wieder in meine Unterbrochene Prozedur zurückzukehren!?

Danke, falls jemand einen Vorschlag hat. :)

mit besten Grüßen

teamroket0

_________________
To be forgotten is worse than death!
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Quizmaster
Beiträge: 2615
Erhaltene Danke: 1421

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Mi 17.10.18 21:51 
Hallo,
Das einfachste wird wohl sein, dass du CreatListBoxMusik und CreatListBoxGames selbst zu Prozeduren machst. Die rufst du einfach über ihren Namen auf.

LG Steffen

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 17.10.18 22:07 
- Nachträglich durch die Entwickler-Ecke gelöscht -
teamrocket0 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 168
Erhaltene Danke: 1

Win ME, Win XP, Win 7, Win 10
Delphi 7, 10.2 Tokyo
BeitragVerfasst: Mi 17.10.18 22:51 
OK, danke schon mal.

Dieses TThread ist ein guter Anfang, aber kann es sein, das die Threads wieder VOR ihrem eigentlichem Aufruf deklariert werden müssen? Gewissermaßen so wie bei einer selbstdefinierten Prozedur?

Ich hätte den ganzen Müll gerne am Ende meines Programmcodes. Sind nunmehr 400 Zeilen die alle das selbe machen. Das hätte ich schon gerne am Ende. Wobei es für den späteren Programmablauf ja keinen Unterschied macht ob das oben oder unten im Code steht. Aber für die Ordnung wäre es im Moment schöner.

Gibt's da noch was anderes cooles?

_________________
To be forgotten is worse than death!
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2298
Erhaltene Danke: 44

Windows 7 64 Bit
Delphi XE2 Starter, Delphi 10.1 Starter, Delphi 10.2 Tokyo Community Edition
BeitragVerfasst: Do 18.10.18 09:29 
Was hindert dich, den Vorschlag von user profile iconMathematiker umzusetzen? Die beiden Prozeduren CreatListBoxMusik und CreatListBoxGames kannst du dann ja am Ende deines Quellcodes unterbringen!

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18730
Erhaltene Danke: 1630

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 19.10.18 07:08 
Und mit dem mittlerweile kostenlosen MMX Code Explorer in Verbindung mit der aktuellen kostenlosen Delphi Community Edition kannst du das Auslagern in eine eigene Prozedur auch bequem per Refactoring machen lassen. Außerdem ist mit MMX durch die bessere Codenavigation die Reihenfolge der Prozeduren usw. vollkommen unwichtig.

Für diesen Beitrag haben gedankt: teamrocket0