字符串处理的问题!
怎样限制一个 Edit 中输入的 字符串必须是 整数?
怎样判断一个 Edit 中输入的 字符串是否还有 $ 字符?
问题点数:100、回复次数:7Top
1 楼yoic(我是一棵菠菜,菜,菜,菜,菜,菜,菜)回复于 2003-06-02 10:02:25 得分 30
try
StrToInt(trim(edti1.Text));
except
showmessage('不是整数!')
end;Top
2 楼yzykjh(言子儿)回复于 2003-06-02 10:02:34 得分 30
2. Pos(Edit.Test,'$')>0 //存在Top
3 楼yoic(我是一棵菠菜,菜,菜,菜,菜,菜,菜)回复于 2003-06-02 10:03:18 得分 30
if Pos('$', Edit1.Text) <> 0 then
showmessage('有$字符。');Top
4 楼caixrz(老渔翁)回复于 2003-06-02 10:03:46 得分 10
在KeyPress事件中判断。如果是30-39就认为是正确的,其余认为输入无效。Top
5 楼whitetiger8(键盘未敲坏,基本功未练成)回复于 2003-06-02 10:10:34 得分 0
方法有2 种:
我是用val(字符,整数变量,错误码)来做,不过这种方法只要判断是否为整数!!!
看错误码是什么?如果是0就说明是整数,如果不是0就不是整数!!
第二种:
try
strtoint(xxx);
except
showmessage('不是整数');
end;
判断$可以用字符串函数Pos(SUbstr:string,S:string):integer;
它用来查S在SUBSTR的位置,然后返回,如果没有的话,就返回0Top
6 楼whitetiger8(键盘未敲坏,基本功未练成)回复于 2003-06-02 10:11:30 得分 0
不是吧。这么快Top
7 楼Wally_wu(广告招租位,欢迎各位前来刊登广告.)回复于 2003-06-02 10:14:55 得分 0
function CheckString(s: string): Integer;
var
i, j, k, m, n: Integer;
begin
j := 0;
k := 0;
m := 0;
n := Length(s);
for i := 1 to n do
begin
if s[i] in ['0'..'9'] then Inc(j)
else if s[i] in ['a'..'z', 'A'..'Z'] then Inc(k)
else Inc(m);
end;
if m > 0 then Result := 0 //含有非字母或数字键
else if (j = 0) and (k = 0) then Result := -1 //空
else if j = 0 then Result := 1 //全部是字母
else if k = 0 then Result := 2 //全部是数字
else Result := 3; //既有字母又有数字
end;
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
i: integer;
begin
s := edit1.text;
for i := 0 to length(s) do
if s[i]='$' then
showmessage('Exist ''$'' character');
end;Top




