procedure TForm1.Edit1Change(Sender: TObject); var s:string; i:Integer; begin s:=self.Edit1.Text; i:=Length(s); if ByteType(s,i)<>mbTrailByte then begin s:=Copy(s,1,i-1); self.Edit1.Text:=s; Self.Edit1.SelStart:=i-1; MessageBox(application.Handle,'只能输入汉字','信息',MB_OK or MB_ICONINFORMATION); self.Edit1.SetFocus; end; end;
procedure TForm1.Edit1Change(Sender: TObject); var str:WideString; str1:string; begin str := Edit1.Text; str1 := str[Length(str)]; if Length(str1) = 1 then begin ShowMessage('只能输入中文'); end; end;
procedure TForm1.Edit1Change(Sender: TObject); var str:WideString; str1:string; begin str := Edit1.Text; if str = '' then Exit; str1 := str[Length(str)]; if Length(str1) = 1 then begin Edit1.Text := Copy(Edit1.Text,1,Length(Edit1.Text)-1); Edit1.SelStart := Length(Edit1.Text); end; end;
查這個函數的功能 ByteType
var
s:string;
i:Integer;
begin
s:=self.Edit1.Text;
i:=Length(s);
if ByteType(s,i)<>mbTrailByte then
begin
s:=Copy(s,1,i-1);
self.Edit1.Text:=s;
Self.Edit1.SelStart:=i-1;
MessageBox(application.Handle,'只能输入汉字','信息',MB_OK or MB_ICONINFORMATION);
self.Edit1.SetFocus;
end;
end;
procedure TForm1.Edit1Change(Sender: TObject);
var
str:WideString;
str1:string;
begin
str := Edit1.Text;
str1 := str[Length(str)];
if Length(str1) = 1 then
begin
ShowMessage('只能输入中文');
end;
end;
procedure TForm1.Edit1Change(Sender: TObject);
var
str:WideString;
str1:string;
begin
str := Edit1.Text;
if str = '' then Exit;
str1 := str[Length(str)];
if Length(str1) = 1 then
begin
Edit1.Text := Copy(Edit1.Text,1,Length(Edit1.Text)-1);
Edit1.SelStart := Length(Edit1.Text);
end;
end;
begin
if Key< #128 then
Key:= #0;
end;