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

請問16進制值的轉換

答題得分者是:hagar
zxy666666
中階會員


發表:108
回覆:150
積分:86
註冊:2005-01-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-17 11:27:29 IP:219.132.xxx.xxx 未訂閱
各位大大好! 我現在有一組16進位值已轉換為字串,如 s := '30 31 38 39'  但是我要的結果是 s:='0189' 有查過K.top的文章,轉換ASCII碼的函數為 chr($31) 我是這樣寫:    
procedure TForm1.Button1Click(Sender: TObject);
var
  s,ss   : String;
  i,p : Integer ;
  a,b : array[1..4] of string ;
begin
  s := '30 31 38 39' ;
  ss := '' ;
  p := 1 ;
  for i := 1 to 4 do
    begin
      a[i] := midbstr(s,p,2) ;
      p := p   3 ;
//    b[i] := chr($31); //測試轉換
        b[i] := ????? ;     //請問這一行要怎麼寫才是我要的結果呢?麻煩各位,謝謝! 
      ss := ss   b[i]  ;  //最終要的結果 如:'0189'
    end;    end;
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-17 11:41:25 IP:202.39.xxx.xxx 未訂閱
看這樣行不行:
procedure TForm1.Button1Click(Sender: TObject);
var
  s,ss   : String;
  i,p : Integer ;
  a,b : array[1..4] of string ;
begin
  s := '30 31 38 39' ;
  ss := '' ;
  p := 1 ;
  for i := 1 to 4 do
    begin
      a[i] := midbstr(s,p,2) ;
      p := p   3 ;
      b[i] := Char(StrToInt('$'   a[i]));
      ss := ss   b[i];
    end;
end;
-- 發表人 - hagar 於 2005/03/17 12:19:41
zxy666666
中階會員


發表:108
回覆:150
積分:86
註冊:2005-01-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-17 13:38:58 IP:219.132.xxx.xxx 未訂閱
測試OK!感謝hagar兄的幫忙
系統時間:2024-06-02 0:08:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!