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

case 語句的困惑.......

答題得分者是:P.D.
dengguo
一般會員


發表:41
回覆:49
積分:23
註冊:2004-01-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-18 14:03:39 IP:218.16.xxx.xxx 未訂閱
case combobox1.Text of '客戶號碼':combobox1_text:='client_number'; '客戶名稱':combobox1_text:='client_name'; '負責人':combobox1_text:='client_user'; '營業員':combobox1_text:='client_yw'; '客戶電話':combobox1_text:='client_tel1'; '客戶傳真':combobox1_text:='client_fax1'; '客戶地址':combobox1_text:='client_address'; end; 運行時提示 ordinal type required; incompatible types:'integer' and 'string'; ---------------- combobox1.Text本身就是string類型啊,請問該怎樣改,謝謝!! 初學delphi,請各位多多提點!謝謝!
Fishman
尊榮會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-18 14:39:46 IP:210.65.xxx.xxx 未訂閱
Hi dengguo,    這裡剛剛好有一篇文章,參考一下 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=46698 ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-18 14:40:37 IP:203.75.xxx.xxx 未訂閱
CASE 只支援 INTEGER 跟 CHAR 不支援 STRING -- 聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-18 15:25:37 IP:61.71.xxx.xxx 未訂閱
引言: case combobox1.Text of '客戶號碼':combobox1_text:='client_number'; '客戶名稱':combobox1_text:='client_name'; '負責人':combobox1_text:='client_user'; '營業員':combobox1_text:='client_yw'; '客戶電話':combobox1_text:='client_tel1'; '客戶傳真':combobox1_text:='client_fax1'; '客戶地址':combobox1_text:='client_address'; end; 運行時提示 ordinal type required; incompatible types:'integer' and 'string'; ---------------- combobox1.Text本身就是string類型啊,請問該怎樣改,謝謝!! 初學delphi,請各位多多提點!謝謝!
發生原因已經由樓上兩位說明, 我提供一個方法 如果像你是使用 combobox的情況其實是可以解決的 case Combobox1.ItemIndex of 0: ... 1: ... 2: ... end; 只要你知道 0,1,2 代表的何值即可
dengguo
一般會員


發表:41
回覆:49
積分:23
註冊:2004-01-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-03-18 16:19:59 IP:218.16.xxx.xxx 未訂閱
謝謝三位大大....我用P.D的方法已解決問題 初學delphi,請各位多多提點!謝謝!
zzmbeyond01
中階會員


發表:98
回覆:167
積分:53
註冊:2003-09-07

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-03-22 02:45:38 IP:218.70.xxx.xxx 未訂閱
请问大大有没有字符串向有序数转换的方法,我得很笨(我是用在类里面的) 举个不恰当的例子,希望大大指点  
  FTableNameList := TStringlist.Create;
  TabNum[0] := FTabNameList.Add('s');
  TabNum[1] := FTabNameList.Add('a');
  TabNum[2] := FTabNameList.Add('b');    我是依据数组的序号做的,
  case FTableNameList.IndexOf(Name) of
        0:
          CH := 's;
        1:
          CH := 'a';
        2:
          CH := 'b';     
请问有没有好点的办法? 谢谢!
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-03-23 19:06:52 IP:61.71.xxx.xxx 未訂閱
引言: 请问大大有没有字符串向有序数转换的方法,我得很笨(我是用在类里面的) 举个不恰当的例子,希望大大指点
  FTableNameList := TStringlist.Create;
  TabNum[0] := FTabNameList.Add('s');
  TabNum[1] := FTabNameList.Add('a');
  TabNum[2] := FTabNameList.Add('b');    我是依据数组的序号做的,
  case FTableNameList.IndexOf(Name) of
        0:
          CH := 's;
        1:
          CH := 'a';
        2:
          CH := 'b';     
请问有没有好点的办法? 谢谢!
使用 case of 只能遵循它的規定, 似乎別無二法, ~~其實我也很笨, 想不出其他方式!
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-03-23 19:13:19 IP:210.66.xxx.xxx 未訂閱
引言:
引言: 请问大大有没有字符串向有序数转换的方法,我得很笨(我是用在类里面的) 举个不恰当的例子,希望大大指点
  FTableNameList := TStringlist.Create;
  TabNum[0] := FTabNameList.Add('s');
  TabNum[1] := FTabNameList.Add('a');
  TabNum[2] := FTabNameList.Add('b');    我是依据数组的序号做的,
  case FTableNameList.IndexOf(Name) of
        0:
          CH := 's;
        1:
          CH := 'a';
        2:
          CH := 'b';     
请问有没有好点的办法? 谢谢!
使用 case of 只能遵循它的規定, 似乎別無二法, ~~其實我也很笨, 想不出其他方式!
字串判斷應該用if then吧!? if S="1" then begin //程序一 end else if S="2" then begin //程序二 end else if S="3" then begin //程序三 end else begin //其餘程序!? end;
morice
一般會員


發表:4
回覆:26
積分:16
註冊:2003-03-11

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-03-24 12:03:30 IP:61.221.xxx.xxx 未訂閱
還有另外一個方法,可以用列舉型態~~~我記得在這裡看過
Miles
尊榮會員


發表:27
回覆:662
積分:622
註冊:2002-07-12

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-03-24 21:09:59 IP:218.160.xxx.xxx 未訂閱
Hi 各位大大: 另類方法轉貼 http://delphi.about.com/cs/adptips2002/a/bltip0202_5.htm

function StringToCaseSelect(Selector : string; CaseList: array of String): Integer;
var cnt: integer;
begin
   Result:=-1;
   for cnt:=0 to Length(CaseList)-1 do
   begin
     if CompareText(Selector, CaseList[cnt]) = 0 then
     begin
       Result:=cnt;
       Break;
     end;
   end;
end;    {
Usage:    case StringToCaseSelect('Delphi',
      ['About','Borland','Delphi']) of
   0:ShowMessage('You''ve picked About') ;
   1:ShowMessage('You''ve picked Borland') ;
   2:ShowMessage('You''ve picked Delphi') ;
end;
}
我不是高手, 高手是正在銀幕前微笑的人.
------


我不是高手, 高手是正在銀幕前微笑的人.
系統時間:2024-07-04 8:55:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!