Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизПредотвращение вставки недопустимых символов из буфера Найти похожие ветки
← →
User (2010-04-10 16:25) [0]
Edit1KeyPress:
if not (Key in ["a".."z", "A".."Z", "а".."я", "А".."Я", "ё", "Ё"]) then Key := #0;
Пользуюсь этим нехитрым методом для предотвращения ввода в Edit недопустимых (для моей конкретной задачи) символов.
Но обнаружил, что если вставить в Эдит строку из буфера обмена, содержащую недопустимые символы (цифры), то они вставятся.
Как это можно исправить?
← →
Правильный$Вася (2010-04-10 17:14) [1]вырезать после вставки?
← →
Демо © (2010-04-10 17:46) [2]
> User (10.04.10 16:25)
Есть ещё событие OnChange
← →
User (2010-04-10 18:40) [3]
> вырезать после вставки?
Ну если не найду ничего лучшего...
> Есть ещё событие OnChange
Да, но в отличие от OnKeyPress у OnChange нет входящего параметра var Key: Char.
← →
Правильный$Вася (2010-04-10 18:45) [4]
> у OnChange нет входящего параметра var Key: Char.
зато там есть кое-что другое
← →
Anatoly Podgoretsky © (2010-04-10 18:49) [5]> User (10.04.2010 18:40:03) [3]
Тебе все сиволы доступны, а может ты не знаешь, что строка по сути это массив символов.
← →
Blah-blah-blah... (2010-04-10 21:55) [6]
SelStart := Edit1.SelStart;
Str := Edit1.Text;
for i := Length(Str) downto 1 do
if (Str[i] in ["b", "l", "a", "h"]) then
begin
Delete(Str, i, 1);
if (i <= SelStart) then
SelStart := SelStart - 1;
end;
Edit1.Text := Str;
Edit1.SelStart := SelStart;
P.S. Но, как по мне, лучше перехватывать WM_PASTE.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.062 c