Einzelnen Beitrag anzeigen

Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#1

Goto in andere Procedure...oder gibts ne Alternative?

  Alt 29. Aug 2005, 15:05
hi

ja, ich versuche grade ein goto zu benutzen weil ich bisher keine praktikable andere Lösung gefunden hab

erstmal was code:

Delphi-Quellcode:
label Ende; //SprungMarke

procedure Output(Error: Boolean; Value: String);
begin
  if Error then
    begin
    WriteLn(Value+'Fehler');
    GoTo Ende;
    end
  else WriteLn(Value+'OK');
end;

begin

OutPut(Init,'Init...');
OutPut(FileInit,'FileInit...');
OutPut(Analyse,'Analyse...');
OutPut(FileUnInit,'FileUnInit...');
OutPut(UnInit,'UnInit...');

Ende: ;
end.
ich denke das prinzip sollte klar sein...

alle anderen functions fangen eventuelle fehler ab, und geben diese in form eines booleans zurück...und falls es irgendwo einen fehler gibt hat es keinen sinn weiterzumachen...

eine alternative wäre folgendes:

Delphi-Quellcode:
if Init then
  if FileInit then
    if Analyse then
.....
daher denke ich das oberes die besser lösung ist...

aber wie kann ich aus Output ans ende springen?
es kommt so die Fehlermeldung
Zitat:
[Fehler] Project1.dpr(16): E2093 Label 'Ende' ist in der aktuellen Prozedur nicht deklariert
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat