about case... of |
尚未結案
|
RoxetteI
一般會員 發表:8 回覆:4 積分:2 註冊:2002-04-07 發送簡訊給我 |
|
jimmy_wei
高階會員 發表:9 回覆:176 積分:147 註冊:2003-08-28 發送簡訊給我 |
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
C裡面的Case才能用字串,Delphi硬要用就用列舉,但不好用,建議直接用
if (kind=xxx) then
這樣就好了,不過還是提供給你參考.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,TypInfo, StdCtrls; type TMessage = (S1,S2,S3,S4); TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function GetErrorMsg(AErrorCode: String): String; var Msg : String; begin case TMessage(GetEnumValue(TypeInfo(TMessage),AErrorCode)) of S1:Msg:='1'; S2:Msg:='2'; S3:Msg:='3'; S4:Msg:='4'; else Msg := 'Not Defined'; end; Result := Msg; end; procedure TForm1.Button1Click(Sender: TObject); begin showMessage(GetErrorMsg('S1')); end; end. |
xxiaowang
中階會員 發表:51 回覆:75 積分:55 註冊:2005-01-26 發送簡訊給我 |
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
感謝xxiaowang提供這篇文章,之前常在寫xml常常用的這方式,卻沒想到可以應用到這裡,整理使用範例如下. procedure TForm1.Button1Click(Sender: TObject);
var
List:TStringList;
begin
List:=TStringList.Create();
List.Add('a');
List.Add('b');
List.Add('c');
case List.IndexOf('b') of
0:ShowMessage('Msg1');
1:ShowMessage('Msg2');
2:ShowMessage('Msg3');
else ShowMessage('Not Defined');
end;
end;
|
tamsun
一般會員 發表:0 回覆:1 積分:0 註冊:2004-12-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |