![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Lazarus Forum d'entraide sur Lazarus, le RAD de FreePascal, à la poursuite de Delphi |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Futur Membre du Club
![]() Date d'inscription: novembre 2006
Localisation: Caen
Âge: 50
Messages: 35
|
Bonjour,
Dans une Form, j'ai 20 Tedits dont les procédures KeyPress(Sender: TObject; var Key: char) sont identiques hormis le fait que chacune d'entre elles fait référence au Tedit dont elle est issue (Ex.[...] edit1.Text:='0'+key; [...] pour le premier Tedit, [...] edit2.Text:='0'+key; [...] pour le second, etc). Comme la procédure comprend plus d'une cinquantaine de lignes, j'aurais aimé utiliser une seule procédure (une surcharge ?) pour les 20 Tedits. En attendant, j'ai placé le code de la procédure dans la KeyPress de la Form et utilisé FindComponent (Ex. [...] TEdit(FindComponent('Edit' + IntToStr(i))).Text:='0'+key; [...] remplace le code ci-dessus... et selon le Tedit qui est "focused", la valeur de i varie...). Cela fonctionne correctement mais la méthode ne me semble pas élégante et ne fait que palier ma carence. Aussi qq'1 pourrait-il m'expliquer comment procéder avec une surcharge ou m'indiquer un article sur une procédure incluant une variable propre à la procédure de l'objet surchargé (ex. key) ? Merci. Cordialement. Dernière modification par Alcatîz ; 07/12/2008 à 14h37 |
|
|
|
|
|
#2 (permalink) |
|
Membre du Club
![]() Date d'inscription: juillet 2007
Localisation: Tours (France - 37)
Âge: 40
Messages: 88
|
Bonjour,
Essaye cela : Déclare une fonction utilisée par chaque TEdit. Ensuite, dans cette fonction, récupère les informations de type et le nom du TEdit en cours avec le Sender qui est passé en paramètre. @+ Chris Dernière modification par chris37 ; 31/10/2008 à 17h17 |
|
|
|
|
|
#3 (permalink) |
![]() Date d'inscription: avril 2002
Localisation: Montpellier (34)
Âge: 23
Messages: 1 795
|
Ou sinon, tu peux faire un pointer sur une procédure commune à tous tes TEdit en lui passant le bon paramètre (valeur de i ou key ?)
__________________
wormful_sickfoot - Responsable Pascal - Rédacteur Pascal, Delphi et Java - Modérateur Pascal |
|
|
|
|
|
#4 (permalink) |
|
Futur Membre du Club
![]() Date d'inscription: novembre 2006
Localisation: Caen
Âge: 50
Messages: 35
|
Bonjour à tous deux.
En effet cela fonctionne. Je me suis compliqué la vie. Au lieu d'utiliser une procédure commune genre TForm1.EditxKeyPress(Sender: Tobject;var Key: char), j'ai essayé TForm1.EditxKeyPress(Sender: Tobject;editx:Tedit;var Key: char) provoquant une erreur.. Merci. A bientôt. Cordialement. Gilles |
|
|
|
|
![]() |
![]() |
||
[Lazarus] Une même procédure KeyPressed sur 20 Tedit
|
||
| Outils de la discussion | |
|
|