急 用Delphi怎么比较特定位置的字符

orangeql 2010-11-08 11:21:58
用Delphi怎么比较特定位置的字符

if (length(edFrom.text)=17 and copy(edFrom.Text,3,1):='-' and copy(edFrom.Text,10,1):='-' and copy(edFrom.Text,14,1):='-'then

20-008147-000-AED 目的是限制用户输入像这样的数据 要格式一样。
...全文
76 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
funxu 2011-06-24
  • 打赏
  • 举报
回复
给你个例子
procedure TForm1.Button3Click(Sender: TObject);
var
Str:String;
ResultList:TStringList;
I:Integer;
begin
str:= '南京~信息~工程~大学';

ResultList := TStringList.Create;
try
ResultList.Delimiter := '~';
ResultList.DelimitedText := str;

for I:= 0 to ResultList.Count-1 do
begin
Memo1.Lines.Add(ResultList.Strings[I]);
end;
finally
FreeAndNil(ResultList);
end;
end;

只需要判断ResultList的count和字符串的长度就可以了
spiritsoft 2010-11-09
  • 打赏
  • 举报
回复
1.各and间的比较内容,必须要用括号;2.if语句中不能用赋值:=。
正确的语句应是:
if ((length(edFrom.text)=17) and (copy(edFrom.Text,3,1)='-') and (copy(edFrom.Text,10,1)='-') and (copy(edFrom.Text,14,1)='-') then

1,979

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧