我尝试使用If语句,但是仅当我仅在编辑中输入@时,它才会显示消息
var
sname , email : string ;
iAge , igrade : integer ;
iVal : string;
begin
ival := '@';
email := (edtEmail.Text);
if ival = email then
begin
Showmessage(' Email Address must contain @ ');
end;
实际上,条件ival = email
是true
iff ival
且email
是相同的字符串。因为ival
是@
,如果email
确切的话条件是正确的@
。
您要检查是否@
在其中找到email
。为此,您可以使用Pos
函数,该函数返回字符串中第一次出现的子字符串的第一个字符的第一个字符的从1开始的索引,或者0
该子字符串在字符串中找不到:
if Pos('@', email) = 0 then
ShowMessage('The email address must contain @.');
注意,确实不需要任何变量来保存at字符。
在现代版本的Delphi中,最好编写
if not email.Contains('@') then
ShowMessage('The email address must contain @.');
使用TStringHelper.Contains
,因为这更容易阅读。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句