線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1772
推到 Plurk!
推到 Facebook!

關於edit限制輸入??

答題得分者是:pprayer
raiseofevil
一般會員


發表:13
回覆:1
積分:2
註冊:2006-12-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-10-28 16:20:41 IP:61.56.xxx.xxx 訂閱
在版上找了限制Edit輸入的相關文章,得知如何限制只能輪入數字~
但還是有個問題想請教,關於以下的Code
[code delphi]
if not (key in ['0'..'9',#8]) then
key := #0;

[/code]

這個語法我不太懂,不是應該按照ASCII碼來用嗎?
http://delphi.about.com/od/objectpascalide/l/blvkc.htm
# 又代表什麼意思? #8 為什麼這個就是backSpace鍵 ,煩請各位解答,謝謝~

======================
感謝pprayer的解說
編輯記錄
raiseofevil 重新編輯於 2009-10-29 11:00:31, 註解 無‧
raiseofevil 重新編輯於 2009-10-29 18:07:07, 註解 無‧
raiseofevil 重新編輯於 2009-10-29 18:07:22, 註解 無‧
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-10-28 21:00:51 IP:220.132.xxx.xxx 訂閱
 
應該是說 按了一個按鍵,會傳一個Char型態的資料給 TEdit
一般來說 '' 會被當成String , 但是如果長度只有 1 Delphi 也會容許它被當作 Char
換句話說 Delphi 會自行 取得 一個長度1 的String的第一個字元

你說的ASCII 是指Char與 Byte 的互相對照
#8 是倒退字元 ,是一個Char,它在 ASCII map 是由 8 這個 byte表示
'0' 則是 #65 或 Char(65) => 就是說你要查ASCII 排序 65 的 字元,會得到 '0'
Ord('0') => 是你要查 '0' 這個字元在ASCII的排序 會得到 65


===================引 用 raiseofevil 文 章===================
在版上找了限制Edit輸入的相關文章,得知如何限制只能輪入數字~
但還是有個問題想請教,關於以下的Code
[code delphi]
if not (key in ['0'..'9',#8]) then
key := #0;

[/code]

這個語法我不太懂,不是應該按照ASCII碼來用嗎?
http://delphi.about.com/od/objectpascalide/l/blvkc.htm
# 又代表什麼意思? #8 為什麼這個就是backSpack鍵 ,煩請各位解答,謝謝~
max5020
資深會員


發表:30
回覆:277
積分:321
註冊:2003-06-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-10-29 09:42:30 IP:59.120.xxx.xxx 訂閱
建議您使用TMaskEdit元件
系統時間:2024-05-16 14:24:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!