Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   case (https://www.delphipraxis.net/11675-case.html)

Killer 11. Nov 2003 16:55


case
 
Hi ich hab da mal ne Frage, isses möglich für jede Bedingung in einer Case Abfrage begin-end reinzumachen, weil ich mehrere Sachen ändern will, wenn eine Bedingung eintritt...

Die Muhkuh 11. Nov 2003 16:58

Re: case
 
ja das geht!

Delphi-Quellcode:
case Combobox1.Itemindex of
  0: begin
     //blablabla
     end;
  1: begin
     end;
...

HAF4ever 11. Nov 2003 17:58

Re: case
 
nur vor dem else darf glaub ich dann kein beistrich sein ...
da bin ich mir jetzt nicht sicher ... aber ich glaub schon
Delphi-Quellcode:
case Combobox1.Itemindex of
  0: begin
     //blablabla
     end;
  1: begin
     end
  else begin
    //insert code here ..."
  end

Christian Seehase 11. Nov 2003 19:36

Re: case
 
Moin HAF4ever,

Zitat:

Zitat von HAF4ever
nur vor dem else darf glaub ich dann kein beistrich sein ...

doch, darf. Ist ja kein if / then / else.

Hansa 11. Nov 2003 20:06

Re: case
 
Und nicht vergessen: keine Regel ohne Ausnahme :!: Zu jedem BEGIN gehört ein END. Aber auch zu einem CASE !!

Robert Marquardt 12. Nov 2003 05:52

Re: case
 
Das letzte end gehoert zum begin nach else. Das case braucht noch ein eigenes end.
Mit dem case kann man einen der gemeinsten Fehler in Pascal schreiben.
Ein ";" vor dem else ohne das der Compiler meckert. Ist mir mal passiert.

Nimoee 12. Nov 2003 05:55

Re: case
 
Hallo
wieso ist das ein Fehler? Ist nur ein leeres Statement und das ist zugelassen.
Nimoee

choose 12. Nov 2003 08:10

Re: case
 
Ich glaube Robert meint diesen Effekt:

Delphi-Quellcode:
case foo of
  23: //..
  42: if Bar then SomeAction;
      else AnotherAction
end;
versus
Delphi-Quellcode:
case foo of
  23: //..
  42: if Bar then SomeAction //<--
      else AnotherAction
end;
Der wohl einzige Grund, weshalb überhaupt ein ";" vor dem "else" ungültig ist...?

sakura 12. Nov 2003 08:17

Re: case
 
Zitat:

Zitat von Robert Marquardt
Das letzte end gehoert zum begin nach else. Das case braucht noch ein eigenes end.

Begin nach dem else in einem case :shock: Habe ich noch nie gemacht...

Folgender Code ist einfach mal aus unserem neuen POP3-Server kopiert...
Delphi-Quellcode:
      case AuthType of
        atClear: begin
          Result := Password = Reg.ReadString('Password');
        end;
        atMD5: begin
          Result := CreateMD5(Reg.ReadString('Password')) =
              AnsiLowerCase(Password);
        end;
      else
        raise Exception.Create(UNKNOWN_PWD_VERIFICATION)
      end;
...:cat:...

Robert Marquardt 12. Nov 2003 09:05

Re: case
 
Choose, es geht auch mit try except else end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:36 Uhr.
Seite 1 von 2  1 2      

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