Bonjour,
J’ai une feuille de saisie contenant un certain nombre de TEdits, de TComboBoxes et de TRadioButtons. Lors de la validation, avant d’enregistrer, je souhaite contrôler l’exhaustivité de la saisie. Je suis donc en train d’essayer de bâtir une fonction :Dans laquelle je passe l’objet à contrôler en paramètre et, dans un premier temps, s’il n’est pas vide la fonction doit retourner True.ControlePresence(TObj : TControl) : Boolean;
Mon problème réside dans mon incapacité à récupérer l’instance de l’objet que j’envoie en paramètre. Je suis débutant, je me suis plongé dans le guide de F Beaulieu ainsi que dans la prose de Laurent Dardenne « Les références de classe ou métaclasses » mais je ne m’en sort pas.
Dans le code ci-dessous par exemple, le premier objet envoyé étant un TEdit, j’essaie de récupérer le contenu de la propriété Text mais je n’y arrive pas.Pourtant mes showmessage successifs me donnent : TEdit comme TObj.ClassName.Le Compilo me donne le message : Text identificateur non déclaré.
Quelqu’un peut-il me sortir de l’ornière en m’expliquant ce que je ne fais pas correctement ?
J'ai aussi essayé avec un constructeur mais c'est pas mieux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Function ControlePresence(TObj : TControl) : Boolean; var Edit : Tedit ; Combo : TComboBox; Radio : TRadioGroup; begin Result := False; if TObj is Tedit then begin showMessage('TObj est un: ' + TObj.ClassName); If TObj.InheritsFrom(Tedit) then begin showMessage('TObj est un: ' + TObj.ClassName); //Edit := Tedit.Create(TObj); //Edit.Parent := Self; //if TObj.Text <> '' then Result := True; //FreeAndNil(Edit);
Merci.
Partager