關於創建一個過程,來拿分 ( 积分: 50 )

  • 主题发起人 主题发起人 xiongw
  • 开始时间 开始时间
X

xiongw

Unregistered / Unconfirmed
GUEST, unregistred user!
各位富翁,本人對自定過程不熟悉,想實現如下功能,想寫個過程判断每一個EDIT框是否輸入的是數字,如鍵入的不是或且不爲ENTER則無輸入,這樣個過程會被任何一個需要用到的EDIT框的onkeypress過程調用.請問這個個程怎麽寫,我不明白定義的返回值及參數這個怎麽用.
 
各位富翁,本人對自定過程不熟悉,想實現如下功能,想寫個過程判断每一個EDIT框是否輸入的是數字,如鍵入的不是或且不爲ENTER則無輸入,這樣個過程會被任何一個需要用到的EDIT框的onkeypress過程調用.請問這個個程怎麽寫,我不明白定義的返回值及參數這個怎麽用.
 
例子:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', '.', #8, #13]) then Key := #0;
end;
如何不是上述的输入,都为空
 
to yostgxf
這個代碼我會寫,我想要的是寫成一個過程,如checkpress,我在別的地方要用到時直接調用就行了,而不用重寫一樣的代碼.主要是這個過程怎麽定義..
 
沒人會嗎
 
写一个procedure,最好能写个FUNCTION放在程序里,把你上面那段代码改一下不就行了,返回一个TRUE/FALSE值,判断一下就可以了。
这也要问啊。
 
function checkpress(var Key: Char):Boolean;
begin
if not (Key in ['0'..'9', '.', #8, #13]) then result := False
else result := True;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not checkpress(Key) then Key := #0;
end;
 
Procedure Keypressexsult(Var key : Char);
begin
if Not (key In ['0'..'9','.',#32,#46,#8,#13,'-','(',')']) then
key:=#0;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Keypressexsult(key);
end;
 
多謝dcs_dcs大哥,你的答案正是我想要的,請問能否提供關於如何自寫一個過程的要點,我就是不知道在自定過程的定義部分參數該用什麽類型,能否給我mail
xiongw330@hotmail.com謝了
 
接受答案了.
 

Similar threads

I
回复
0
查看
816
import
I
I
回复
0
查看
671
import
I
I
回复
0
查看
894
import
I
后退
顶部