線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:846
推到 Plurk!
推到 Facebook!

請問一轉換資料的方法

尚未結案
chewchew
一般會員


發表:1
回覆:2
積分:0
註冊:2004-05-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-02 22:21:31 IP:140.113.xxx.xxx 未訂閱
我現在需要輸入一串資料 EX.AABBCCDD.......此為不固定大小(不一定為8個字) 但要轉為11223344 我利用Edit元件為輸入 此外,因為需要判斷if(input[y] == 'A')..... 所以11223344資料最好為CHAR 可以給個建議或教導一下如何製作比較好嗎?? 又,或者有別的作法也歡迎列出 謝謝< >< >
orillys
一般會員


發表:20
回覆:26
積分:9
註冊:2004-04-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-02 22:33:42 IP:218.168.xxx.xxx 未訂閱
chewchew您好: 嗯,小弟不太懂您的意思,如有說錯,請見諒, STEP1:當使用者輸入EDIT的TEXT後,先計算TEXT的長度 STEP2:建立一個陣列用CHAR宣告,您可以參考一些C或C 的動態陣列宣告 STEP3:用回圈去判斷INPTU[i]的內容,在去OUTPUT到LABEL或是其他物件 希望對您有所幫助
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-02 22:38:13 IP:218.170.xxx.xxx 未訂閱
也許,這可以吧 Edit1->Text.SubString(int index,int count)
chewchew
一般會員


發表:1
回覆:2
積分:0
註冊:2004-05-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-02 23:21:48 IP:140.113.xxx.xxx 未訂閱
orillys 不好意思喔...關於你的回答正是我要問的問題 Edit->Text所INPUT進來的是AnsiString 不能直接放進char陣列中 所以要如何去判斷阿 PS..能否順便說一下要如何計算TEXT長度..有指令可直接用嗎?    hahalin 請問一下..這個 Edit1->Text.SubString(int index,int count) 要怎麼用阿可說明用法嗎    麻煩解答一下...感激不盡
g6101
高階會員


發表:22
回覆:129
積分:110
註冊:2002-06-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-05-03 00:30:35 IP:163.29.xxx.xxx 未訂閱
chewchew您好: 按照妳的需求可能還要加入限制輸入的功能,以下範例限制使用者只能輸入"ABCD"字元的功能,參考看看.
//Unit1.h
public:                // User declarations
        void __fastcall ConvertChar(AnsiString str);    //Unit1.cpp
//-----Edit1-----OnKeyPress事件碼----    void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
   if (Key == 0x0D && Edit1->Text.Length()){   //按下[Enter]鍵時
     ConvertChar(Edit1->Text);
     Edit1->Text = ""; }       //清空 (Edit1->Text)
   else if (Key == 0x08)  //刪除鍵[<-]
   { return; }
   else if (Key >= 0x61 && Key <= 0x64)  //小寫轉大寫
   { Key -= 32; }
   else if (Key < 0x41 || Key > 0x44)    //其它按鍵不起作用
   { Key = 0; }
}
//---------自定函數-------------------------
void __fastcall TForm1::ConvertChar(AnsiString str)
{
   char *buf;
   char src[]="1234";//對應字元
   int len = str.Length();  //取得字串長度
   buf = new char[len 1];   //動態建立字元陣列
   for (int i=0;i
◎天長地久有時盡,追求知識無絕期!
bass15
高階會員


發表:24
回覆:171
積分:119
註冊:2003-10-27

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-05-04 16:08:03 IP:61.66.xxx.xxx 未訂閱
AnsiString txt=Edit1->Text;    長度: txt.Length();    第一個字元: txt[1];    所以用FOR迴圈就可以了:  
 
for(int i=1; i<=txt.Length();i  ){
 if(txt[i]=='a')
  txt[i]='1';
//作一些處理之類的
}
系統時間:2024-06-02 11:01:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!