提三个简单的问题,立马揭贴,UP有分
1.如何将一字符串分离成N个字符,就是将一STRING中的每个字符都提取出来
2.求判断一字符是否为字母的函数,包括大小写
3.求判断一字符是否为数字的函数,就是0..9
先谢了!
问题点数:50、回复次数:16Top
1 楼jinjazz(近身剪)回复于 2004-08-03 13:00:03 得分 10
string[i]
LowerCase(string[i])>='a' and LowerCase(string[i]<='z')
string[i]>='0' string[i]<='9'Top
2 楼zihan(子寒)回复于 2004-08-03 13:00:55 得分 10
1.可以直接取,用索引
比如说str[1];就是第一个.
2.可以判断他的ascall,
if (ord(ch)>65) and (ord(ch) < 97) then
小写的也一样.
3,同2,只是他们的ascall值不一样而已.Top
3 楼zhangheaaa(无相)回复于 2004-08-03 13:02:13 得分 10
1.首先取出字符串的长度,然后进行循环,
依次取出一个字符,保存入一个数组中。
2. if ( a in [a..z]) or (a in [A..Z]) then
begin
end;
3. if (a in [0..9]) then
begin
end;Top
4 楼beyondtkl(大龙驹<*好久没来了,兄弟们好吧。*>)回复于 2004-08-03 13:04:38 得分 3
1.声明指针变量p 指向string的首址 然后直接去该指针变量的值 指针再下移..
结束条件为 *p (delphi中好像是p^) char ch; while(ch = *p) p++;或者用循环 上限为Length(str);
2. 3. 很简单...
Top
5 楼cfyff0203(编译出错)回复于 2004-08-03 13:08:14 得分 3
来迟了点, 都被说了。 ^_^Top
6 楼hewei2003(为为)回复于 2004-08-03 13:09:36 得分 5
procedure TForm1.Button1Click(Sender: TObject);
var
mystr : String;
i : Integer;
begin
mystr := 'abcdefg';
for i := 1 to Length(mystr) do
begin
ShowMessage(mystr[i]);
end;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9']) then
key:=#0;
end;
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['a'..'z']) then
key:=#0;
end;Top
7 楼leavealone77(出来混,迟早都是要还的)回复于 2004-08-03 13:09:45 得分 0
谢谢各位,
还有没有答案?Top
8 楼asj(破喉咙)回复于 2004-08-03 13:12:01 得分 3
建议不要学 beyondtkl(大龙驹<逝追>) ,徒增出错的机会而已。Top
9 楼leavealone77(出来混,迟早都是要还的)回复于 2004-08-03 13:12:03 得分 0
楼上的,我不能在KEYPRESS事件里面写,此法不通
谢谢各位
还有没有其他的办法,大大有赏Top
10 楼jinjazz(近身剪)回复于 2004-08-03 13:14:45 得分 0
做一个循环不就行了Top
11 楼GoldShield(李柏岑)回复于 2004-08-03 13:15:23 得分 0
不在KEYPRESS中写.为什么.
这种不是很好嘛.为什么行不通Top
12 楼lcxhjg()回复于 2004-08-03 13:17:54 得分 3
upTop
13 楼lzy6204(为了忘却的记忆)回复于 2004-08-03 13:20:34 得分 3
来晚了,UP
Top
14 楼leavealone77(出来混,迟早都是要还的)回复于 2004-08-03 13:22:45 得分 0
没人来领大赏啊
算了,揭贴
大家有份Top
15 楼ssk0532(阳光地带)回复于 2004-08-03 13:23:43 得分 0
upTop
16 楼minjunw(minjunw)回复于 2004-08-03 13:33:07 得分 0
1 没什么好办法,循环提取就可以
2
3
case ord(str[i]) of
48..57: 数字
65..90: 小写
97..122: 大写
endTop




