AGB  ·  Datenschutz  ·  Impressum  







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

if ... or ... else - Anwendungen

Ein Thema von de_arg · begonnen am 1. Jan 2004 · letzter Beitrag vom 4. Jan 2004
Antwort Antwort
Seite 2 von 3     12 3      
Niels

Registriert seit: 25. Okt 2003
192 Beiträge
 
#11

Re: if ... or ... else - Anwendungen

  Alt 1. Jan 2004, 18:20
Hier haben wir nochmal den Object Pascal Style Guide von Borland, wo die Standard (und IMHO beste) Strukturierung von Pascal Quellcodes erklärt wird.

PS: Durch Verwendung des Arithmetischen Operators + lässt sich bei dir bestimmt noch einiges vereinfachen

MfG Niels
  Mit Zitat antworten Zitat
de_arg

Registriert seit: 1. Jan 2004
9 Beiträge
 
#12

Re: if ... or ... else - Anwendungen

  Alt 1. Jan 2004, 18:37
*lach*

der quellcode sieht so aus:

Delphi-Quellcode:
procedure irgendwas;
begin
  if (a = 10) or (b = 20) or
(c = 30) then
    begin
      ....
    end;
end;

weil ich jede if abfrage in eine Zeile geschrieben habe (if (a = 10) or (b = 20) or (c = 30) then) und weil eine if abfrage so lang ist bracht er zb 4 zeilen oder mehr (je nach auflösung).


Das kann man sich eigentlich denken, oder?
  Mit Zitat antworten Zitat
Niels

Registriert seit: 25. Okt 2003
192 Beiträge
 
#13

Re: if ... or ... else - Anwendungen

  Alt 1. Jan 2004, 18:46
Es war nur ein Beispiel....
Das was stört ist z.B. das else was immer irgendwo mitten in der Zeile Hängt und begin, sowie end gehören auf die selbe Höhe wie if und werden nicht eigerückt.

PS: Du kannst doch trotzdem der Übersicht halber jedes 'or (....)' in eine einzelne Zeile packen. Nicht nur wegen dem Forum sondern wegen deiner Übersicht im Delphi!

MfG Niels
  Mit Zitat antworten Zitat
de_arg

Registriert seit: 1. Jan 2004
9 Beiträge
 
#14

Re: if ... or ... else - Anwendungen

  Alt 1. Jan 2004, 19:26
Zitat von Niels:
Es war nur ein Beispiel....
Das was stört ist z.B. das else was immer irgendwo mitten in der Zeile Hängt und begin, sowie end gehören auf die selbe Höhe wie if und werden nicht eigerückt.

PS: Du kannst doch trotzdem der Übersicht halber jedes 'or (....)' in eine einzelne Zeile packen. Nicht nur wegen dem Forum sondern wegen deiner Übersicht im Delphi!

MfG Niels

Oh Vorsicht...


Es ist nicht gut 'or' in eine neue zeile zu packen, denn wenn das programm zb die erste zeile 'if ...' den bedingungen nicht erfüllt, aber die zweite schon 'or...' dann überprüft das Programm nicht mehr die zweite Zeile und überprüft dann 'else ...'


und die end's haben den gleichen abstand wie die begin's, was übersichtlicher ist.

Hier habe ich ein Bild von meinem Quelltext
Miniaturansicht angehängter Grafiken
quell.jpg  
  Mit Zitat antworten Zitat
Niels

Registriert seit: 25. Okt 2003
192 Beiträge
 
#15

Re: if ... or ... else - Anwendungen

  Alt 1. Jan 2004, 20:14
Moin!

Natürlich wird alles überprüft...das war auch nur meine Meinung dazu, dass man den QT etwas anders strukturieren sollte als du es gemacht hast (es war nicht nur meine Meinung)

Naja mach wie du denkst

PS: Das hat eigentlich nix mehr mit deinem Thema zu tun. Um mal wieder drauf rückzukommen: Ich kenn die zu erfüllenden Anforderungen an allgemein bildenen Schulen nicht, wenn du die mal plz posten würdest könnte ich dir vieleicht helfen das ganze zu vereinfachen.

MfG Niels
  Mit Zitat antworten Zitat
Benutzerbild von Christian S.
Christian S.

Registriert seit: 19. Apr 2003
Ort: Düsseldorf
835 Beiträge
 
#16

Re: if ... or ... else - Anwendungen

  Alt 1. Jan 2004, 20:27
Zitat:
Es ist nicht gut 'or' in eine neue zeile zu packen, denn wenn das programm zb die erste zeile 'if ...' den bedingungen nicht erfüllt, aber die zweite schon 'or...' dann überprüft das Programm nicht mehr die zweite Zeile und überprüft dann 'else ...'
Das ist nicht richtig. Delphi ist es völlig egal, ob Du Befehle in eine oder in mehrere Zeilen schreibst.

Was Du jedoch wahrscheinlich mal gelesen und dann dann nicht mehr richtig erinnert hast: Delphi wertet einen Bool'schen Ausdurck nur soweit aus, bis das Ergebnis fest steht. Wenn Du also ausdruck1 OR ausdruck2 OR ausdruck3 hast und ausdruck1 schon wahr ist, dann schaut sich Delphi den Rest gar nicht mehr weiter an. Deshalb sollte man, wenn ein Bool'scher Ausdruck aus Funktionen besteht, die Funktionen, welche schneller sind, an den Anfang stellen.
Christian S.
Admin in der Entwickler-Ecke
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#17

Re: if ... or ... else - Anwendungen

  Alt 1. Jan 2004, 21:17
hi,

Es ist nicht gut 'orin eine neue zeile zu packen, denn wenn das programm zb die erste zeile 'if ...' den bedingungen nicht erfüllt, aber die zweite schon 'or...' dann überprüft das Programm nicht mehr die zweite Zeile und überprüft dann 'else ...' wie du sicher (nicht) weisst, ignoriert delphi leerzeilen/freiräume, also ist das egal wo das steht.
Theoretisch könntest du deinen ganzen code den du da hast in einer zeile schreiben.


btw: auf deinem bild, da ist dein else in der mitte ziemlich komisch...man sieht kaum auf welches if sichd as bezieht
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
de_arg

Registriert seit: 1. Jan 2004
9 Beiträge
 
#18

Re: if ... or ... else - Anwendungen

  Alt 1. Jan 2004, 22:30
Abend!

Ich hab das jetzt so gemacht wie es MathiasSimmack vorgeschlagen hat, aber der Fehler ist immer Noch da.



@ Peter Lustig
Aber wenn ausdruck1 nicht wahr ist hat er ausdruck2 nicht mehr überprüft und ist dann auf end. gesprungen.



@ Niels

..._k heißt Kurs
..._n heißt Note

Im anhang ist einmal 'noten', da stehen die Noten und Kurse die Man haben muss und 'Muster', da ist Berechnungsbogen für den Realschulabschluss (ein Muster).


Hier noch ein Link (einmal in doc und pdf) zu den Gesetzen für den Abschluss:

http://realschule.bildung.hessen.de/...gange_2003.doc
http://www.hessisches-amtsblatt.de/d...er/04_2003.pdf

Da wird es ab 'Vierter Teil' interresant (§54-64)
Angehängte Dateien
Dateityp: zip abschluss.zip (790,9 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
de_arg

Registriert seit: 1. Jan 2004
9 Beiträge
 
#19

Re: if ... or ... else - Anwendungen

  Alt 1. Jan 2004, 22:34
und hier der Quellcode vom Prog und im Anhang das Programm.

[edit=MrSpock]Langen Quelltext wie gewünscht entfernt. Mfg, MrSpock[/edit]
Angehängte Dateien
Dateityp: zip apfgs_pro2.zip (120,0 KB, 2x aufgerufen)
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#20
  Alt 2. Jan 2004, 09:04
Zum Thema "Einrückung, und Wie bekomme ich es hin, dass die Zeile nicht zu lang wird", verweise ich noch mal auf meinen Beitrag:
Zitat von MathiasSimmack:
Delphi-Quellcode:
if(((deutsch_k='e') and (englisch_k='a') and (mathematik_k='a')) or
   ((deutsch_k='g') and (englisch_k='a') and (mathematik_k='a')) or
   ((deutsch_k='e') and (englisch_k='b') and (mathematik_k='a')) or
   ((deutsch_k='e') and (englisch_k='a') and (mathematik_k='b'))) then
Du solltest nach Möglichkeit nämlich auch nicht den Rand rechts im Delphi-Editor überschreiten. Zum einen sprengst du damit den Rahmen diverser Foren, wie du mit einem letzten Beitrag unter Beweis gestellt hast (jetzt muss ich nach rechts scrollen ), zum anderen ist es für einen evtl. Ausdruck besser, weil der Rand standardmäßig bei 80 Zeichen steht.


@de_arg: Wenn du das Programm anhängst, warum postest du den Quellcode der Unit dann noch mal? Bitte nimm den Sch*** mal raus, damit der Beitrag wieder eine akzeptable Breite hat.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 18:39 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