全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:875
推到 Plurk!
推到 Facebook!

如何取得constant value?

尚未結案
gloria.hk
一般會員


發表:18
回覆:17
積分:7
註冊:2005-01-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-21 12:18:48 IP:210.177.xxx.xxx 未訂閱
各位先進:    我的程式裡有許多 constant values, 如: unit MessageStrings; interface const Str1 = 'Login Failed'; Str2 = 'Wrong Password'; ... Str9999 = 'database error'; implementation function GetErrorMsg(AErrorCode: String): String; begin //如果AErrorCode = 'str1', 我可以怎樣回傅相對的value 'Login Failed'? end; end. --- http://gloriaho.blogspot.com
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-21 12:35:47 IP:61.70.xxx.xxx 未訂閱
您好: 不太了解您的意思,是要傳回值嗎? function GetErrorMsg(AErrorCode: String): String; begin if (AErrorCode='str1') then Resule:=Str1; end;
gloria.hk
一般會員


發表:18
回覆:17
積分:7
註冊:2005-01-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-21 13:32:05 IP:210.177.xxx.xxx 未訂閱
謝謝 supman 的留言 因為程式的const 會有很多, 我不想在function GetErrorMsg有很多if..then...else 的statements. --- http://gloriaho.blogspot.com
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-21 13:47:48 IP:61.70.xxx.xxx 未訂閱
您好: 那就用Case,不過傳入值必須為數值 case i of 1: Result:='1'; 2: Result:='2'; 3: Result:='3'; 4: Result:='4'; 發表人 - supman 於 2005/04/21 13:49:46
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-21 14:17:00 IP:210.65.xxx.xxx 未訂閱
Hi gloria.hk,    
unit Unit1;    interface    uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, TypInfo, StdCtrls;    type
  TMessage = (str1,str2,str3,str4);
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;    var
  Form1: TForm1;    implementation    {$R *.dfm}    procedure TForm1.Button1Click(Sender: TObject);
  function GetErrorMsg(AErrorCode: String): String;
    var
      re : String;
    begin
      case TMessage(GetEnumValue(TypeInfo(TMessage),AErrorCode)) of
        str1 : re := 'Login Failed';
        str2 : re := 'Wrong Password';
        str3 : re := 'Error Message3';
        str4 : re := 'Error Message4';
      else
        re := 'Not defined !!';
      end;
      Result := Re;
    end;
begin
  showMessage(GetErrorMsg(edit1.Text));
end;    end.
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
系統時間:2024-04-28 3:56:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!