procedure TForm1.Button1Click(Sender: TObject); var s:string; begin s:=AnsiReplaceStr(edit1.Text,'左',''); s:=AnsiReplaceStr(s,'右',''); if s<>'' then showmessage(s) else showmessage('ok'); end; 楼主结贴给分……
procedure TForm1.Button1Click(Sender: TObject); var s:string; begin s:=AnsiReplaceStr(edit1.Text,'左',''); s:=AnsiReplaceStr(s,'右',''); if s<>'' then showmessage(s) else showmessage('ok'); end; 楼主结贴给分……
var i:integer; Str:String; begin Str:=Edit1.text; for i:=1 to length(Str) do begin if (Str[i]+Str[i+1]<>'左') or (Str[i]+Str[i+1]<>'右') then begin showmessage('Edit1的内容中含有其他字符!'); exit; end; end;end;
瞎折腾1.先TRIM(edit.text); 2.判断 edit.text='左' and edit.text='右'
在KeyPress事件中处理就可以了.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (Key<>#215) and (key<>#211) then begin key:=#0; showMessage('只能输入“左”或“右”!'); end; end;
var s:string;
begin
s:=AnsiReplaceStr(edit1.Text,'左','');
s:=AnsiReplaceStr(s,'右','');
if s<>'' then showmessage(s) else showmessage('ok');
end;
楼主结贴给分……
var s:string;
begin
s:=AnsiReplaceStr(edit1.Text,'左','');
s:=AnsiReplaceStr(s,'右','');
if s<>'' then showmessage(s) else showmessage('ok');
end;
楼主结贴给分……
i:integer;
Str:String;
begin
Str:=Edit1.text;
for i:=1 to length(Str) do
begin
if (Str[i]+Str[i+1]<>'左') or (Str[i]+Str[i+1]<>'右') then
begin
showmessage('Edit1的内容中含有其他字符!');
exit;
end;
end;end;
1:or应该为and
2:当i=2时也就是取到‘左’的右半边和‘右’的左半边时也会报错,而这是不应该报的
2.判断
edit.text='左' and edit.text='右'
begin
if (Key<>#215) and (key<>#211) then
begin
key:=#0;
showMessage('只能输入“左”或“右”!');
end;
end;