Autor |
Beitrag |
Nano-Ware
      
Beiträge: 394
Erhaltene Danke: 7
|
Verfasst: Mo 11.10.10 20:51
Hey,
das hab ich im Internet gefunden..
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| case eingabe of 1: ausgabe := 'Sie haben 1 eingegeben'; 2: ausgabe := 'Sie haben 2 eingegeben'; 3: ausgabe := 'Sie haben 3 eingegeben'; else ausgabe := 'Sie haben nicht 1, 2 oder 3 eingegeben'; end; |
ich möchte aber wenn die Zahl 1 ist dass zB nicht nur "ausgabe := 'XX'" ausgeführt sondern auch noch eine andere Zuweißung gemacht wird. Wie geht das dann?
Danke schonmal (:
|
|
Gerd Kayser
      
Beiträge: 632
Erhaltene Danke: 121
Win 7 32-bit
Delphi 2006/XE
|
Verfasst: Mo 11.10.10 20:55
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Mo 11.10.10 20:56
Hey,
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| case eingabe of 1: begin ausgabe := 'Sie haben 1 eingegeben'; ausgabe := 'andere Zuweißung...'; end; 2: ausgabe := 'Sie haben 2 eingegeben'; 3: ausgabe := 'Sie haben 3 eingegeben'; else ausgabe := 'Sie haben nicht 1, 2 oder 3 eingegeben'; end; |
€: mist zu langsam ^^
MfG Bergmann.
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
Gerd Kayser
      
Beiträge: 632
Erhaltene Danke: 121
Win 7 32-bit
Delphi 2006/XE
|
Verfasst: Mo 11.10.10 20:59
|
|
FinnO
      
Beiträge: 1331
Erhaltene Danke: 123
Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
|
Verfasst: Mo 11.10.10 21:05
|
|
Gerd Kayser
      
Beiträge: 632
Erhaltene Danke: 121
Win 7 32-bit
Delphi 2006/XE
|
Verfasst: Mo 11.10.10 21:12
|
|
FinnO
      
Beiträge: 1331
Erhaltene Danke: 123
Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
|
Verfasst: Mo 11.10.10 21:39
Moin,
Wäre wahrscheinlich ein Glaubenskrieg, aber ich möchte in meinem Code immer die "Ebenen" in gleichen Abständen von der linken Seite halten.
LG
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 11.10.10 22:01
Naja, man sollte schon die Sprungmarken sehen können, begin und end gehören aber in einzelne Zeilen. Deshalb mache ich das immer so: Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| case eingabe of 1: begin ausgabe := 'Sie haben 1 eingegeben'; ... end; 2: ausgabe := 'Sie haben 2 eingegeben'; 3: ausgabe := 'Sie haben 3 eingegeben'; else ausgabe := 'Sie haben nicht 1, 2 oder 3 eingegeben'; end; | So kann man das finde ich am schnellsten überblicken. Letztlich muss es jeder selbst wissen. Solange man selbst versucht übersichtlich zu bleiben und ein paar Grundsätze beachtet (wie eben einrücken und nur einen Befehl pro Zeile), dann passt das meistens schon. 
|
|
Reinhard Kern
      
Beiträge: 591
Erhaltene Danke: 14
|
Verfasst: Di 12.10.10 01:30
Hallo,
Um den Glaubenskrieg noch ein bisschen anzuheizen, bevor ich mich endgültig von Delphi verabschiede, ich mache das immer so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TuWasImFall2; begin ... end;
case eingabe of 1: begin ausgabe := 'Sie haben 1 eingegeben'; ... end; 2: TuWasImFall2; 3: ausgabe := 'Sie haben 3 eingegeben'; else ausgabe := 'Sie haben nicht 1, 2 oder 3 eingegeben'; end; |
Wichtig ist nur, dass begin und end untereinander stehen, so dass man das eindeutig zuordnen kann. Da begin und end einen Block bilden, finde ich es nicht nötig, den Blockrumpf nochmal einzurücken, ist ja gleiche logische Ebene. Ob man dem case-Fall eine eigene Zeile spendiert, ist eher Geschmackssache, das braucht halt mehr Platz. Längere Befehlsfolgen lagere ich in eine (meistens lokale) Prozedur wie TuWasImFall2 aus, damit die case-Struktur übersichtlich bleibt.
5 - 4 - 3 - 2 - 1 schlagt euch!
Reinhard
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Di 12.10.10 01:34
Mach ich auch immer so. Nur das ich die Zeile "Ausgabe : = 'Sie haben 1 eingegeben';" auch noch eingerückt hätte.
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|