Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.06.15;
Скачать: CL | DM;

Вниз

Задействование клавиши бэкспэйс в данном случае   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
2-1211606107
passTree
2008-05-24 09:15
2008.06.15
Связь делфи с Excel


4-1191747269
JohnKorsh
2007-10-07 12:54
2008.06.15
Как определить тип носителя?


15-1209596280
PEAKTOP
2008-05-01 02:58
2008.06.15
Delphi 7/Project/Options = AV. Может кто знает ?


8-1181812367
namco
2007-06-14 13:12
2008.06.15
как можно написат cодеc


4-1191314176
AndreiDeJavu
2007-10-02 12:36
2008.06.15
Доработка MSGina