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

請問一下.....一個十六進位轉整數的問題

尚未結案
kevinhue
一般會員


發表:23
回覆:42
積分:13
註冊:2003-05-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-28 17:58:36 IP:218.160.xxx.xxx 未訂閱
各為大家好....我想請問一個問題,我從Memo讀一比字串, 將其值轉成整數,0-9都可以,可是,為什麼A-F都不行勒....(電腦會強迫中斷)                                         Kevinhue
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-28 18:08:58 IP:140.135.xxx.xxx 未訂閱
kevinhue您好:   抱歉更正一下可參考下面連結   http://delphi.ktop.com.tw/topic.php?topic_id=22952 RaynorPao與lcsboy大哥的範例 ~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 - taishyang 於 2003/05/28 18:25:36
kevinhue
一般會員


發表:23
回覆:42
積分:13
註冊:2003-05-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-28 18:14:02 IP:218.160.xxx.xxx 未訂閱
是這樣嗎??? String Temp; int a; Temp = Memo1 -> Text; Temp = Temp - 0x10; a=StrToInt(Temp) 10;
Royce520
高階會員


發表:18
回覆:157
積分:100
註冊:2002-09-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-28 18:57:10 IP:140.126.xxx.xxx 未訂閱
kevinhue 你好,    提供你另外依個方法... 試試看      AnsiString asValStr = Memo1->Lines->Strings[0];   // asValStr 可以是這些樣子 0xEF or EF   int nVal;   sscanf(asValStr.c_str(), "%x", &nVal);    *真實的事物最美, 簡單的道理最好, 我能體會的 太少*
------
不要忘記呼吸,不要忘記編程! ∩__∩
kevinhue
一般會員


發表:23
回覆:42
積分:13
註冊:2003-05-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-28 19:35:21 IP:218.160.xxx.xxx 未訂閱
我試過了...不太行.....我是用最笨的方法來驗證.... String Temp; int a,i; Temp = Memo1 -> Text; if (Temp=="A") {a=10;} else if (Temp=="B") {a=11;} else if (Temp=="C") {a=12;} else if (Temp=="D") {a=13;} else if (Temp=="E") {a=14;} else if (Temp=="F") {a=15;} else {a=StrToInt(Temp);} Memo2 -> Text = a; 安ㄋ....係ㄟ賽低.........but I feel so stupid.T T
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-28 21:25:54 IP:140.135.xxx.xxx 未訂閱
kevinhue您好:   那我再提供一個很遜的方式(修改lscBoy大哥的範例)   char Value='B';   String Str;   Str.sprintf("%d", Value);   Memo1->Lines->Add(StrToInt(Str)-55);    順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 -
firewing
一般會員


發表:23
回覆:47
積分:19
註冊:2002-12-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-29 08:54:02 IP:139.223.xxx.xxx 未訂閱
引言: 我試過了...不太行.....我是用最笨的方法來驗證.... String Temp; int a,i; Temp = Memo1 -> Text; if (Temp=="A") {a=10;} else if (Temp=="B") {a=11;} else if (Temp=="C") {a=12;} else if (Temp=="D") {a=13;} else if (Temp=="E") {a=14;} else if (Temp=="F") {a=15;} else {a=StrToInt(Temp);} Memo2 -> Text = a; 安ㄋ....係ㄟ賽低.........but I feel so stupid.T T
試試這樣是不是你想要的... a=StrToInt(Temp.Insert("0x",0)) Temp的字串是要有意義的才可以, Memo1 不能換行也不能有空白......
kevinhue
一般會員


發表:23
回覆:42
積分:13
註冊:2003-05-06

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-29 09:11:34 IP:218.160.xxx.xxx 未訂閱
a=StrToInt(Temp.Insert("0x",0)) .....可以ㄟ.....真是太神奇了........ 恩恩....這就是我要的......太感謝了..... 我還有一個問題......Memo1 -> Lines跟Memo1 -> Text這兩種有什麼差別ㄚ??                                   KevinHue
gemi0305
版主


發表:81
回覆:564
積分:629
註冊:2003-05-11

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-05-29 09:58:57 IP:211.78.xxx.xxx 未訂閱
Memo1->Lines 和Memo1->Text的差別...  Text是指Memo裡面全部的內容, Lines是Text中各別的行,當然是以行為單位, 在bcb說明文件有講到 關於Lines: Use Lines to manipulate text in an memo control on a line-by-line basis. Lines is a TStrings object, so the TStrings methods may be used for Lines to perform manipulations such as counting the lines of text, adding new lines, deleting lines, or replacing lines with new text. 可以做很多事,如count,add,delete等等... 你可以試試在打"Memo1->Lines->"後先等一下,bcb會自動把function和property列出...方便你學習這方面的東西, 當然在"Memo1->Text."後也可以等一下,bcb也會自動列出function哦~    如果有錯,請其他前輩糾正~
系統時間:2024-11-23 13:22:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!