这个字符如何判断 ( 积分: 100 )

  • 主题发起人 主题发起人 cooldren
  • 开始时间 开始时间
C

cooldren

Unregistered / Unconfirmed
GUEST, unregistred user!
一张用户表
几个人同时签单
怎么判断是几个人?

例如:邓军 杨肖军 闫爱 毛永平 马雪 邬静
 
用 TStrings 来处理。
 
while i<=length(string) do
begin
if string=' ' then
inc(u);
inc(i);
end;
总共有u个人。
 
TStringList.Delimiter := ' ';
TStringList.DelimitedText := '邓军 杨肖军 闫爱 毛永平 马雪 邬静';
TStringList.Count不就是名字的个数吗
 
或者用ExtractStrings
 
const
sName:array[0..5] of string=('邓军','杨肖军','闫爱','毛永平','马雪','邬静');
var
list:TStringList;
bagin
list:=TStringList.create;
for i:=0 to 5
list.appant(sName));
showMessage('签单人数是'+IntToStr(list.count));
end;
 
上边的都是错误。下边的试过了。
肯定对的:
procedure TForm1.Button3Click(Sender: TObject);
const
sName:array[0..5] of string=('邓军','杨肖军','闫爱','毛永平','马雪','邬静');
var
list:TStringList;
i:integer;
begin
list:=TStringList.Create;
for i:=0 to 5 do
list.Append(sName);
showMessage('签单人数是'+IntToStr(list.count));
end;
 
to listhano:按照你的说法,定义const后还写下面这么多代码干嘛呢,直接showMessage('签单人数是'+IntToStr(Length(sName)))就可以了。
 
邓军 杨肖军 闫爱 毛永平 马雪 邬静 这些人名是随机的,放在一个字符型的字段中,listhano的方法不行的.
有时候客户在输入时可能不小心在某一个人名中加了空格或在某个人名后加了两个空格,cjwdone和moolleychean的判断就不准确了.

加了两个空格可以去掉一个空格,但在人名中加个空格,就不知道怎么判断了?
 
你是说人名中间加了空格吗?
例如:邓军 杨肖军 闫 爱 毛永平 马雪 邬 静
解决办法有这些办法:
1.修改该字段人名的分隔字符,例如用逗号(,)来分隔人名(推荐);
2.也可以在添加人名进数据库的时候做一些处理,每添加一个人名的时候检查人名中间是否添加了空格,如果添加了就用中文的全角空格( )来替换原来的空格,然后再存进数据库。
 
To cooldren:
“加了两个空格可以去掉一个空格,但在人名中加个空格,就不知道怎么判断了?”
您问这个问题似乎很搞笑...
如果有个人叫“东方不败”,不过他输入时误操作了,写成“东方 不败”。您说是几个人?难道没有叫“东方”的人么?恐怕神仙也判断不出来...
您问这个问题有意义么?难道就不能用逗号分割么?我想没谁输入的时候会在自己名字中加个“,”吧!
 
对你的问题很困惑:数据输入的准确性你都不能保证的话,那也不要指望拿它出来用会有正确的结果。
 
多人接受答案了。
 
后退
顶部