Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
3-1199992043
Виталий Панасенко(дом)
2008-01-10 22:07
2008.06.15
SQL Server &amp; Co


15-1209591059
Германн
2008-05-01 01:30
2008.06.15
Немного полегчало на душе,


15-1209811351
kiwiw
2008-05-03 14:42
2008.06.15
провод сетевой карточки


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


3-1199891890
Kolan
2008-01-09 18:18
2008.06.15
При Open у TQuery c RequestLive = True получаю AV&amp;#133





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский