procedure TForm1.Button1Click(Sender: TObject);
var
a: byte = 0;
b: byte = 1;
c: byte = 2;
w: byte;
begin
w := b;
case w of
a: begin
WriteLn(a);
end;
b: begin
WriteLn(b);
end;
c: begin
WriteLn(c);
end;
end;
end;
Kann man FPC irgendwie mit einem Compiler-Schalter überreden, das dies geht ?
Ansonsten muss man eine recht unübersichtliches if then Gewurstel machen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
procedure TForm1.Button1Click(Sender: TObject);
var
a: byte = 0;
b: byte = 1;
c: byte = 2;
w: byte;
begin
w := b;
//case w of
// a: begin
// WriteLn(a);
// end;
// b: begin
// WriteLn(b);
// end;
// c: begin
// WriteLn(c);
// end;
//end;
if w in [a] then
begin
WriteLn(a);
end else
if w in [b] then
begin
WriteLn(b);
end else
if w in [c] then
begin
WriteLn(c);
end else
begin
WriteLn('Nothing');
end;
end;
program Project1;
{$mode objfpc}{$H+}
Uses Sysutils, classes;
Type
{$packEnum 1}
TMyEnum = (ftAUTODETECT=0,ftAVIF=1,ftBMP=2,ftCUR=3,ftGIF=4,ftICO=5,ftJPG=6,ftJXL=7,ftLBM=8,ftPNG=9);
Var
SomeFileType:UInt8;
temp:String;
Function CheckFileType(Const AFileType:UInt8):String;
Begin
If Ord(TMyEnum(AFileType))=1 Then
Result:='YIPPIEH'
Else
Result:=Ord(TMyEnum(AFileType)).ToString;
End;
begin
SomeFileType:=1;
temp:=CheckFileType(SomeFileType);
Writeln(temp);
SomeFileType:=9;
temp:=CheckFileType(SomeFileType);
Writeln(temp);
Readln;
end.
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.