請問一個二進位轉十進位的東西 |
尚未結案
|
paa
初階會員 發表:50 回覆:101 積分:30 註冊:2005-02-01 發送簡訊給我 |
function BinToInt(Value: string): Integer;
var i, iValueSize: Integer;
begin
Result := 0;
iValueSize := Length(Value);
for i := iValueSize downto 1 do
if Value[i] = '1' then Result := Result (1 shl (iValueSize - i));
end ;
procedure TForm1.Button2Click(Sender: TObject);
begin
edit5.Text:=BinToInt(inttostr(edit1.Text));
end;run的時候有錯耶,可否請高手教教我,還有
function UnicodeEncode(Str:string;CodePage:integer):WideString;
var
Len:integer;
begin
Len:=Length(Str) 1;
SetLength(Result,Len);
Len:=MultiByteToWideChar(CodePage,0,PChar(Str),-1,PWideChar(Result),Len);
SetLength(Result,Len-1); //end is #0
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text:=UnicodeEncode(edit2.Text);
end;這是轉成UnicodeEncode也會有錯耶,可否教教我,我是一位新手,不好意思。
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
paa
初階會員 發表:50 回覆:101 積分:30 註冊:2005-02-01 發送簡訊給我 |
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
引言:插花 >[>>]>..>[/>>]> <> ============================ 为什么经过多年以后,得失的过程如此冷漠 ============================ > 發表人 - |
paa
初階會員 發表:50 回覆:101 積分:30 註冊:2005-02-01 發送簡訊給我 |
function IntToBin(Value: Longint; Digits: Integer): string;
var i: Integer;
begin
Result := '';
for i := Digits downto 0 do
if Value and (1 shl i) <> 0 then
Result := Result '1'
else
Result := Result '0';
end;
edit2.text:=IntToStr(inttobin(edit7.text));
integer and tcaption error
教教我高手?
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
麻煩你自己確認一下傳入的資料型態及傳回的資料型態對應, 你的程式碼
function IntToBin(Value: Longint; Digits: Integer): string; var i: Integer; begin Result := ''; for i := Digits downto 0 do if Value and (1 shl i) <> 0 then Result := Result '1' else Result := Result '0'; end; edit2.text:=IntToStr(inttobin(edit7.text));其中的後面使用部分, IntToBin 的第一個傳入值是 Longint, 指要轉換的數字, 第二個傳入值是 Integer, 指的是 binary 的長度, 傳回值是 string, 所以你要改為 edit2.text:= IntToBin(StrToInt(edit7.text), 8); 由於 edit7.text 及 edit2.text 皆為 TCaption 也就是 string 的型態, 所以在處理上要以 string 的方式處理!! |
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
您好:
改为如下:
procedure TForm1.Button1Click(Sender: TObject); begin edit2.text:=IntToBin(StrToInt(edit1.text),7); end; function TForm1.IntToBin(Value: Longint; Digits: Integer): string; //返回的是string,无须转,但Value是长整型需转 var i: Integer; begin Result := ''; for i := Digits downto 0 do if Value and (1 shl i) <> 0 then Result := Result '1' else Result := Result '0'; end;参考看看 <> ============================ 为什么经过多年以后,得失的过程如此冷漠 ============================ > |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |