IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Convertir un string en type property ou object


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 72
    Points : 54
    Points
    54
    Par défaut Convertir un string en type property ou object
    Bonjour,

    A partir d'un fichier texte, je cherche à transformer une chaine de caractère en un type property...(pas facile à expliquer).

    exemple :
    Je possède une form Form1 possédant un bouton Button1.
    Dans un fichier texte, j'ai la chaine de caractère suivante : "Form1.Button1.caption". Ce que je cherche à faire, c'est remplacer cette chaine de caractère par la propriété caption du bouton.

    J'espère être clair dans mon éllocution...

    Merci d'avance pour toute l'aide que vous pourrez m'apporter.

    --
    Benoit

  2. #2
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Il faut procéder par étapes :
    Décomposer ta chaine en trois morceaux :
    Chercher la fiche
    Chercher le composant
    Affecter la valeur

    En partant de
    http://delphi.developpez.com/faq/?pa...roprieteparnom
    http://delphi.developpez.com/faq/?pa...#findcomponent

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Function AffecteValeur(Composant:String;Valeur:String):Boolean;
    Var NomFiche:String;
        NomCompo:String;
        NomProp :String;
        Fiche   :TForm;
        Compo   :TControl;
        i,j     :Integer;
    begin
      Result:=False;
      // Recherche du nom de la fiche
      i:=Pos('.',Composant);
      NomFiche:=UpperCase(Trim(Copy(Composant,1,i-1)));
      // Recherche du om du composant
      j:=PosEx('.',Composant,i+1);
      NomCompo:=Trim(Copy(Composant,i+1,j-i-1));
      // Recherche du nom de la propriété
      NomProp :=Trim(Copy(Composant,j+1,Length(Composant)-j));
     
      // Tests
      If (i=0)Or(j=0)Or(NomFiche='')Or(NomCompo='')Or(NomProp='') then Exit;
     
      // Recherche de la fiche
      Fiche:=Nil;
      For i:=0 To Screen.FormCount-1 Do
        If UpperCase(Screen.Forms[i].Name)=NomFiche Then
        Begin
          Fiche:=Screen.Forms[i];
          Break;
        End;
      If Fiche=Nil Then Exit;
     
      // Recherche du composant
      Compo:=TControl(Fiche.FindComponent(NomCompo));
      If Compo=Nil Then Exit;
     
      // Mise à jour de la proriété
      If IsPublishedProp(Compo,NomProp) Then
      Begin
        SetStrProp(Compo,NomProp,Valeur);
        Result:=True;
      End;
    end;
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 72
    Points : 54
    Points
    54
    Par défaut
    Merci pour ton aide, c'est exactement ce qu'il me fallait.
    J'utilisais SetSetProp mais cela ne fonctionnait pas....

    Encore merci

    --
    Benoit

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/02/2014, 18h19
  2. [2008] convertir un string en type date
    Par InfOCynO dans le forum Développement
    Réponses: 2
    Dernier message: 27/03/2013, 15h49
  3. Réponses: 1
    Dernier message: 24/10/2011, 11h25
  4. convertir une variable de type String en Number
    Par lilbrother974 dans le forum Flash
    Réponses: 13
    Dernier message: 06/09/2006, 08h28
  5. Convertir une date en type string
    Par ziboux dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 29/10/2003, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo