AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

goto-befehl in delphi?

Ein Thema von toredo · begonnen am 24. Jul 2006 · letzter Beitrag vom 26. Jul 2006
Antwort Antwort
Seite 9 von 10   « Erste     789 10      
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#81

Re: goto-befehl in delphi?

  Alt 26. Jul 2006, 13:39
@MKinzler
Na, das mit dem Readln und LFCR habe ich "zur Sicherheit" eingebaut, aber Zeilen die auch LFCR beinhalteten, hatte nicht geprüft. Kann ich nun weglassen.

Du hast mein GOTO-Problem elegant gelöst! Vielen Dank für das konkrete Beispiel!
CU

@Hallo, Himitsu
Ja, den BUG mit IF X:=A mit dem Doppelpunkt mache ich manchmal verkehrt.
Code nur aus dem Kopf heraus geschrieben.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#82

Re: goto-befehl in delphi?

  Alt 26. Jul 2006, 13:58
Moin Zusammen,

also ich würde so etwas in eine eigene Funktion zur Gültigkeitsprüfung auslagern (z.B. IsValidRecord(Daten)).
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#83

Re: goto-befehl in delphi?

  Alt 26. Jul 2006, 14:14
Zitat von Go2EITS:
Na, das mit dem Readln und LFCR habe ich "zur Sicherheit" eingebaut, aber Zeilen die auch LFCR beinhalteten, hatte nicht geprüft. Kann ich nun weglassen.
Es gibt keine Zeilen, die CR, LF, oder CR-LF enthalten, denn diese Zeichen sind als Zeilentrenner bekannt.
Wenn du also eine Zeile per WriteLn schrweibst, wo diese Zeichen im String enthalten sind, dann schreibst du in Wirklichkeit mehrere Zeilen


Zitat von Go2EITS:
Code nur aus dem Kopf heraus geschrieben.
es klang aber so, als wäre das Code, der per Copy&Paste hierhergelangt wäre
$2B or not $2B
  Mit Zitat antworten Zitat
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#84

Re: goto-befehl in delphi?

  Alt 26. Jul 2006, 14:17
@Michael Habbe
Sorry, habe Deinen Thread irgendwie übersehen! Der Code ist super übersichtlich. Danke für Deine Mühe.
Der Code von Sakura ist ein Code vom Profi, der sofort die Schleifen erkennt aber besonders schön ist die Lösung, wie er es in eine Mengenabfrage packt.

@Seehase
Stimmt, ich packe auch solche Constructe in eine separate Function bevor es unübersichtlich wird.
Es hängt individuell davon ab, wie gut man Code lesen kann. Die Wartbarkeit und Modifzierung des Programmes ist bei dem "Outsourcen" möglicherweise besser.

@himitsu
Zitat:
es klang aber so, als wäre das Code, der per Copy&Paste hierhergelangt wäre
Du Schmeichler!

Ich hätte nicht gedacht, dass das Thema GOTO so ergiebig sein kann, und wir alle etwas dazugelernt haben. Schöne Lösungen.
Das gibt ein dickes für Euch!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#85

Re: goto-befehl in delphi?

  Alt 26. Jul 2006, 14:29
nicht?

also hier gab's schon massenhafte Diskursionsrunden zu diesem Thema.

Und weil ich es hier noch nicht gesagt hatte und einige immernoch meinen GOTOs gehören nicht in einen DelphiCode ... delphi ist Pascal und GOTO gehört da seit Anfang an mit dazu und manchmal is es echt nützlich ... jedenfalls würden öfters mal andere Lösungen zu Overhead und anderen Umständlichkeiten führen.

Ich würde jedenfalls eher per Exit, oder eben GOT, wenn danach noch was kommt aus mehreren Schleifchen rausspringen, als in jeder Schleife 'ne Abfrage einbauen zu müssen.
Wenn die Schleifen sehr oft durchlaufen werden, dann wäre das och noch verschwendete Rechenzeit

punkt und ende .
$2B or not $2B
  Mit Zitat antworten Zitat
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#86

Re: goto-befehl in delphi?

  Alt 26. Jul 2006, 14:37
@Hallo,Himitsu
So lange bin ich auch noch nicht dabei. Ich bin erst seit kurzem wieder hier aktiv.
Das kann sich wieder ändern.

Du hast wohl meinen Thread oben nicht gelesen zum Thema Schleifen oder EXIT, da gehe ich mit Dir konform. oder ist jetzt bei DIR angebracht.

So, nun ein praktisches Beispiel von Dir... ich warte neugierig
Aber vorher meinen Thread lesen. Das mit der Schleife hatten wir schon.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#87

Re: goto-befehl in delphi?

  Alt 26. Jul 2006, 14:47
Och, Beispiele gibt's doch schon einige? *hochschau*

Nee, es ging nicht gegen dich, aber hier waren halt welche mit drin, die meinten GOTO gehöre verbannt


Delphi-Quellcode:
Result := False;
repeat
  readln(f, Daten);
  Daten := Trim(daten);
  if (Daten <> '') // Leerraum
    or not (daten[1] in ['/', '#']) // Kommentarzeile
    or (pos('C:\', daten) = 0) then // Rootverzeichnis
  begin
    ... // weitere Codes zum Verarbeiten
    showmessage(Daten); // Zum debuggen
    If pos('DEBUG', DATEN) > 0 then // Die erste Verarbeitung...
    begin
      RESULT := TRUE; // Wir haben ja etwas gültiges gefunden...
      ... // nochmehr CODE
      {1}
    end;
    ... // nochmals einige IF
  end;
until EOF(f);
Das Daten:=''; (am Anfang) ist nicht nötig, da's ja kurz danach per ReadLn überschrieben wird.

{1} dort könnte man z.B. ein Continue; reinmachen, wenn z.B. die nachfolgenden IFs nicht mehr ausgefühert werden sollen.
Oder ein Break;, wenn die ganze REPEAT-Schleife abgebrochen werden soll.

[add]
ach ja, da das ENDE:
direkt vor dem UNTIL steht, hättest du in deinem Code auch einfach Continue;, statt dem goto ENDE; verwenden können, wäre auf's selbe rausgekommen
$2B or not $2B
  Mit Zitat antworten Zitat
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#88

Re: goto-befehl in delphi?

  Alt 26. Jul 2006, 15:13
@Himitsu
Na, da schwirrt mir der Kopf. Ich bin für GOTO und EXIT, mein schlechtes Beispiel wurde durch sehr schöne Lösungen ersetzt. Break und Continue verwende ich nicht, dies wird mir sogar zu unübersichtlich. Wahrscheinlich, weil ich es Break und Continue nie verwende.
Ist eben Geschmackssache. Gelegentlich ereifern wir uns zu sehr über eine Sache. Ist aber nur allzu menschlich...

Ich habe mir saubere Initialisierungen generell angewöhnt, in dem Falle wäre ein Daten:=''; unnötig.

Beste Grüße!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#89

Re: goto-befehl in delphi?

  Alt 26. Jul 2006, 15:21
Ich hab mir halt in letzter Zeit angewönt nur noch das zu initialisieren/finalisieren, was wirklich nötig ist.
Sieht man vielleicht an den Ameisen ... im OnCreate wird nur noch das initialisiert, was nich 0, '', oder nil ist ... denn in diesem Fall wird ja alles schon von der Klasseninitialisierung auf 0 gesetzt.
Ist übrigens auch bei globalen Vaiablen so.
die Lokalen werden allerdings nicht (bis auf bestimmte Ausnahmen, wie z.B. dynamische Arrays und Strings) nicht automatisch initialisiert/finalisiert.


Aber um sich verschiedene Initialisierungen sparen zu können muß natürlich ein gewisses versändnis/wissen darüber existieren, was/wie/wo gemacht wird ... ansonsten ist es natürlich garnicht schlecht schlimm wenn du es dir so angewöhnt hast (auch wenn es hier mal nicht nötig as) ... vermeidet unschöne Fehler
$2B or not $2B
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#90

Re: goto-befehl in delphi?

  Alt 26. Jul 2006, 15:24
Zitat:
.. delphi ist Pascal und GOTO gehört da seit Anfang an mit dazu
Nope wurde erst später eingeführt.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 9 von 10   « Erste     789 10      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz