
02.11.2008, 03:48
|
|
Постоянный
Регистрация: 20.06.2008
Сообщений: 323
С нами:
9416345
Репутация:
165
|
|
сделал так
Код:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var i: integer; str:string;
begin
if (((Key = ord('V')) and (ssCtrl in Shift)) or ((Shift = []) and (Key = VK_INSERT))) then
begin
if Clipboard.HasFormat(CF_TEXT) then
begin
str:=clipboard.AsText;
ClipBoard.Clear;
for i:=1 to length(str) do
begin
case str[i] of #48..#57: clipboard.AsText:=clipboard.AsText+str[i];
end;
key := 0;
end;
end;
end;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['0'..'9',#27,#8]) then key:=#0;
end;
плюс в начале ещё uses ClipBrd;
хотя если тебе не надо ловить числа из буфера то просто можно заменить этим
Код:
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin ClipBoard.Clear; end;
Последний раз редактировалось cremator (c); 02.11.2008 в 04:11..
|
|
|