請問如何獲取電腦主機版號碼? |
答題得分者是:pcboy
|
BIG-ROM
初階會員 發表:94 回覆:91 積分:37 註冊:2005-04-16 發送簡訊給我 |
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
procedure TForm1.Edit1Change(Sender: TObject); var i:integer; begin for i := 1 to Length(Edit1.Text) do begin if (Edit1.Text[i]>'9') or (Edit1.Text[i]<'0') then Label1.Caption:='Input Error !'; end; end;********************* 如果您滿意答案,請結案 *********************
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
scotthsiao
高階會員 發表:13 回覆:324 積分:147 註冊:2005-02-01 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
取得 CPUID Function Get_CPUID:String; type TCPUIDARRAY = array[1..4] of Longint; Function GetCPUID : TCPUIDARRAY; assembler;register; asm PUSH EBX {Save affected register} PUSH EDI MOV EDI,EAX {@Resukt} MOV EAX,1 DW $A20F {CPUID Command} STOSD {CPUID[1]} MOV EAX,EBX STOSD {CPUID[2]} MOV EAX,ECX STOSD {CPUID[3]} MOV EAX,EDX STOSD {CPUID[4]} POP EDI {Restore registers} POP EBX end; var CPUIDARRAY :TCPUIDARRAY; I:integer; begin Result :=''; CPUIDARRAY :=GetCPUID; For I:=1 to 4 do Result:=Result inttostr(CPUIDARRAY[I]); end; 在各大Tips 中應該可以找到。 不過如果您是用來做註冊序號,建議不要。 應為同一批出場的 CPU 可能ID 是相同的。 |
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
取得 CPUID Function Get_CPUID:String; type TCPUIDARRAY = array[1..4] of Longint; Function GetCPUID : TCPUIDARRAY; assembler;register; asm PUSH EBX {Save affected register} PUSH EDI MOV EDI,EAX {@Resukt} MOV EAX,1 DW $A20F {CPUID Command} STOSD {CPUID[1]} MOV EAX,EBX STOSD {CPUID[2]} MOV EAX,ECX STOSD {CPUID[3]} MOV EAX,EDX STOSD {CPUID[4]} POP EDI {Restore registers} POP EBX end; var CPUIDARRAY :TCPUIDARRAY; I:integer; begin Result :=''; CPUIDARRAY :=GetCPUID; For I:=1 to 4 do Result:=Result inttostr(CPUIDARRAY[I]); end; 在各大Tips 中應該可以找到。 不過如果您是用來做註冊序號,建議不要。 應為同一批出場的 CPU 可能ID 是相同的。 |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 要如何得到所有硬體的資訊呢?
http://delphi.ktop.com.tw/topic.php?topic_id=371 System Info [領航天使]
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=14605 嘗試將字串形態轉為整數形態﹐若錯誤時﹐攔截錯誤﹕
Var I: Integer; begin Try I := StrToInt(Edit2.Text); Except On MyError: Exception do ShowMessage('輸入格式不正确'+#10#13+MyError.Message); end; end;還有另外一種方法﹐在Edit中直接限制使用者的輸入只能為數字﹕ 在Edit2的OnKeyPress事件中 begin if Not (Key in ['0'..'9', #8]) then//#8代表后退鍵 Key := #0; end;================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟 |
scotthsiao
高階會員 發表:13 回覆:324 積分:147 註冊:2005-02-01 發送簡訊給我 |
|
BIG-ROM
初階會員 發表:94 回覆:91 積分:37 註冊:2005-04-16 發送簡訊給我 |
引言: 您好,请看下面代码: --------------------------------- procedure TXTZC.Edit2KeyPress(Sender: TObject; var Key: Char); begin if (Key < '0') or (Key > '9') then Key := Chr(0); // 如果不是數字則忽略 end; -------------------------------------- 但可惜在按鈕觸發事件未能做到允許空字符的輸入, 問題: 1.能否允許空內容?(希望可以實現空內容狀態) 2.如果不能為空內容的能否做信息對話框告訴客戶?寫程序——新問題會接踵而來!procedure TForm1.Edit1Change(Sender: TObject); var i:integer; begin for i := 1 to Length(Edit1.Text) do begin if (Edit1.Text[i]>'9') or (Edit1.Text[i]<'0') then Label1.Caption:='Input Error !'; end; end;********************* 如果您滿意答案,請結案 ********************* |
BIG-ROM
初階會員 發表:94 回覆:91 積分:37 註冊:2005-04-16 發送簡訊給我 |
引言: 您好,请看下面代码: --------------------------------- procedure TXTZC.Edit2KeyPress(Sender: TObject; var Key: Char); begin if (Key < '0') or (Key > '9') then Key := Chr(0); // 如果不是數字則忽略 end; -------------------------------------- 但可惜在按鈕觸發事件未能做到允許空字符的輸入, 問題: 1.能否允許空內容?(希望可以實現空內容狀態) 2.如果不能為空內容的能否做信息對話框告訴客戶?寫程序——新問題會接踵而來!procedure TForm1.Edit1Change(Sender: TObject); var i:integer; begin for i := 1 to Length(Edit1.Text) do begin if (Edit1.Text[i]>'9') or (Edit1.Text[i]<'0') then Label1.Caption:='Input Error !'; end; end;********************* 如果您滿意答案,請結案 ********************* |
BIG-ROM
初階會員 發表:94 回覆:91 積分:37 註冊:2005-04-16 發送簡訊給我 |
引言:寫程序——新問題會接踵而來!取得 CPUID Function Get_CPUID:String; type TCPUIDARRAY = array[1..4] of Longint; Function GetCPUID : TCPUIDARRAY; assembler;register; asm PUSH EBX {Save affected register} PUSH EDI MOV EDI,EAX {@Resukt} MOV EAX,1 DW $A20F {CPUID Command} STOSD {CPUID[1]} MOV EAX,EBX STOSD {CPUID[2]} MOV EAX,ECX STOSD {CPUID[3]} MOV EAX,EDX STOSD {CPUID[4]} POP EDI {Restore registers} POP EBX end; var CPUIDARRAY :TCPUIDARRAY; I:integer; begin Result :=''; CPUIDARRAY :=GetCPUID; For I:=1 to 4 do Result:=Result + inttostr(CPUIDARRAY[I]); end; 在各大Tips 中應該可以找到。 不過如果您是用來做註冊序號,建議不要。 應為同一批出場的 CPU 可能ID 是相同的。 |
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
1.能否允許空內容?(希望可以實現空內容狀態) 這樣 Edit2 中可以是空的或數字
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char); begin if Not (Key in ['0'..'9', #8]) then//#8代表后退鍵 begin Key := #0; end; end;2.如果不能為空內容的能否做信息對話框告訴客戶? 這樣只能輸入數字, 空的時候會警告 procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char); begin if Not (Key in ['0'..'9', #8]) then//#8代表后退鍵 begin Key := #0; ShowMessage('只能接受輸入 0-9'); end; end; procedure TForm1.Edit2Change(Sender: TObject); begin if (Edit2.Text='') then ShowMessage('內容不可為空'); end;********************* 如果您滿意答案,請結案 *********************
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
BIG-ROM
初階會員 發表:94 回覆:91 積分:37 註冊:2005-04-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |