一、0*1*2*3*4
二、0 1 2 3 4
三、0*1 2*3 4一和二是符合要求,而三就不符合。请问怎样判断一全是用星号隔开?而二是全部用空格隔开?三同时使用了星号和空格就不符合要求?谢谢
二、0 1 2 3 4
三、0*1 2*3 4一和二是符合要求,而三就不符合。请问怎样判断一全是用星号隔开?而二是全部用空格隔开?三同时使用了星号和空格就不符合要求?谢谢
解决方案 »
- 一些基础的东西忘记了,想请教下
- 两个IMAGE重叠,上面放置透明图片问题
- 急!!! 数据库中a字段是float型,DBEdit显示出来的值太长了,怎样能让它显示四舍五入,保留2位小数!~~~
- ClientDataSet的问题!
- DLL中的窗体的Tab键及Enter键无效的问题
- 速度怎么这么慢啊?急死人了,500万啊!
- 请知道的朋友帮忙解决一个用Delphi编写OPC客户端的问题
- 我想用Delphi写一个简体转火星文的程序,不知道怎么实现,能不能给段代码?
- 是否可以提供delphi压缩和解压的控件
- 跨进程在 TDBGridE上写数据
- TClientDataSet怎样过滤
- 最基础的东西,我困惑!!
flag2:=true;for i:=1 to trunc(length(string1)/2) do
begin if flag1 and ord(string1[i*2])=42 then//*
begin
flag1:=true;
flag2:=false;
end else
if flag2 and ord(string1[i*2])=32 then//空格
begin
flag1:=false;
flag2:=true;
end else
begin
flag1:=false;
flag2:=false;
break;
end;
end;
我没有验证,你可以自己试试
if (pos('*',s)>0) and (pos(' ',s)>0) then
showmessage('有星有空格')
else if (pos('*',s)>0) and (pos(' ',s)=0) then
showmessage('有星无空格')
else if (pos('*',s)=0) and (pos(' ',s)>0) then
showmessage('无星有空格');
var
s,s1:string;
i,j,m:integer;
begin
m:=0;
s:=form1.Edit1.Text;
i:=length(s);
for j:=0 to i-1 do
begin
if j mod 2=0 then
begin
s1:=s[j];
if (s1='*') or (s1=' ') then
m:=m+1;
end;
end;
if m=i div 2 then
showmessage('符合要求')
else
showmessage('不符合要求');
end;
应该是
procedure TForm1.Button1Click(Sender: TObject);
var
s,s1:string;
i,j,m1,m2:integer;
begin
m1:=0;
m2:=0;
s:=form1.Edit1.Text;
i:=length(s);
for j:=0 to i-1 do
begin
if j mod 2=0 then
begin
s1:=s[j];
if s1='*' then
m1:=m1+1
else
if s1=' ' then
m2:=m2+1;
end;
end;
if (m1=i div 2) or (m2=i div 2) then
showmessage('符合要求')
else
showmessage('不符合要求');end;
var
vHaveSpace, vHaveStar: Boolean;
begin
vHaveSpace := Pos(' ', aStr) > 0;
vHaveStar := Pos('*', aStr) > 0;
Result := vHaveSpace xor vHaveStar;
end;
function IsValidStr(AStr: String): Boolean;
begin
Result := (Pos(' ', AStr) > 0) and (Pos('*', AStr) > 0) ;
end;