請問16進制值的轉換 |
答題得分者是:hagar
|
zxy666666
中階會員 發表:108 回覆:150 積分:86 註冊:2005-01-14 發送簡訊給我 |
各位大大好!
我現在有一組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 發送簡訊給我 |
看這樣行不行:
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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |