Форум: "Начинающим";
Текущий архив: 2008.06.15;
Скачать: [xml.tar.bz2];
ВнизЗадействование клавиши бэкспэйс в данном случае Найти похожие ветки
← →
Magos (2008-05-20 21:44) [0]Проблема в следующем, нужно, чтобы в поле Edit3 возможно было вносить только символы содержащиеся в поле Edit1.
Реализовал так:
procedure TIndex.Edit3KeyPress(Sender: TObject; var Key: Char);
var
i,j:integer;
begin
for i:=0 to Index.Edit1.GetTextLen do
begin
if Edit1.Text="" then
begin
key := Chr(0);
exit;
end;
if Key=Edit1.Text[i] then exit;
end;
if Key<>Index.Edit1.Text[i] then
begin
key := Chr(0);
exit;
end ;
end;
Работает, НО теперь не действует клавиша бэкспэйс и возникают сами понимаете какие проблемы....
Как можно её задействовать в данном случае?
Спасибо!
← →
Германн © (2008-05-20 21:50) [1]В начале прцедуры:
if Key = #8 then Exit;
← →
Magos (2008-05-20 21:55) [2]Работает!
Большое спасибо!
← →
Leonid Troyanovsky © (2008-05-21 16:08) [3]
> Magos (20.05.08 21:44)
> for i:=0 to Index.Edit1.GetTextLen do
Не надо пользовать переменные формы, т.е. Index,
лучше забыть про них вовсе.
Да, и символы строки начинаются с 1, а не 0.
--
Regards, LVT.
← →
Ega23 © (2008-05-21 16:14) [4]
procedure TIndex.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ["0".."9", #8]) then Key:=#0;
end;
← →
MsGuns © (2008-05-21 17:31) [5]>Ega23 © (21.05.08 16:14) [4]
В сабже однако ни слова о цифрах - купил новый телепатор ?
;)
← →
Denis__ © (2008-05-21 18:37) [6]
> Не надо пользовать переменные формы, т.е. Index,
> лучше забыть про них вовсе.
Уже несколько раз про это слышал, не объясните, почему?
← →
Palladin © (2008-05-21 18:45) [7]а у самого мыслей никаких нет? например о том, что форма может быть создана динамически и никакого отношения к глобальному идентификатору, автоматически созданному средой, не имеет...
← →
Reindeer Moss Eater © (2008-05-21 18:47) [8]Потому что это :
- лишнее как минимум.
- вредное как максимум. (экземпляров класса формы может быть не один, а автоматом сгенерированная переменная может быть проинициализирована не тем чем тебе надо или вообще не проинициализирована)
← →
Сергей М. © (2008-05-21 19:34) [9]
> не объясните, почему?
>
Потому что эти переменные созданы Борландом для формошлепов
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.06.15;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c