注册 登录
编程论坛 Delphi论坛

解题:(小问题)

wqwy111 发布于 2006-04-09 08:51, 683 次点击

如何用Delphi语言编程实现:输入1行字符,分别统计出字母、空格、数字和其他字符的个数。

5 回复
#2
wqwy1112006-04-09 14:52
看样子,没有人能解!
#3
wqwy1112006-04-09 14:52
看样子,没有人能解!
#4
ysp_19842006-04-09 16:20

如果你是在文本框输入一串字符.
procedure TForm1.Button1Click(Sender: TObject);
var
str: string;
msg:string;
i,a,b,c,d: integer;
begin
a:=0;b:=0;c:=0;d:=0;
str:=edit1.Text;
for i:=1 to length(edit1.Text) do
begin
if str[i]=' ' then
inc(a)
else if str[i] in ['0'..'9'] then
inc(b)
else if ('A'<str[i]) and (str[i]<'z')then
inc(c)
else
inc(d);

end;
msg:='空格的个数是:'+inttostr(a)+'数字的个数是:'+inttostr(b)+'字母的个数是:'+inttostr(c)+'其他符号的个数:'+inttostr(d);
showmessage(msg);
end;

#5
wqwy1112006-04-10 10:10
感谢ysp_1984的指导。但是,本人仍有弄不清的问题:
1、inc()是什么函数,或是方法,起什么作用?如果可能,请告诉原理。
2、为什么使用showmessage()函数,而不是Label1.Caption='';方式显示结果?
#6
ysp_19842006-04-10 14:35

inc()是一个加函数。
inc有两种用法,
一个是inc(i:integer),就是加1
比如
i := 100;
inc(i);
就是i变为101
另一个是inc(i:integer,n:integer)就是加n
比如
i:=100;
inc(i,50);
就是i变成150

与inc()函数相反,有dec()函数。
不用showmessage()函数,用Label1.Caption='';方式显示结果也行。
1