Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1137 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB] petit defi : récuperer le nom d'une variable dans un TYPE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB] petit defi : récuperer le nom d'une variable dans un TYPE

n°606346
ixemul
Nan mais sans blague ! ⚡
Posté le 09-01-2004 à 12:54:33  profilanswer
 

bon, voici un bon petit remu-meninge, dans la mesure ou il est possible de le realiser.
 
Quelqu'un connaitrait-il une astuce permettant de recuperer sous forme de String le nom d'un champ dans un UDT (User defined type) ?
 
Exemple:
 

Code :
  1. Type test
  2.    chaine1 as string*4
  3.    chaine2 as string*8
  4.    nombre1 as integer
  5. end type
  6. public sub zzz()
  7. dim MagicVar as string
  8. dim recordTest as test
  9.    MagicVar = LaFonctionMagique(RecordTest, index_du_champ_dans_le_type)
  10. end sub


 
ici, on donnerais l'index de position dans le type (genre index 1 : chaine1, index 2: chaine2, index 3: chaine3)
 
ainsi apres un MagicVar = LaFonctionMagique(RecordTest , 3), MagicVar contiendrais "nombre1"
 
merci de votre collaboration ;)
 
Je propose un index, mais si quelqu'un a une autre solution je suis preneur (genre remplir une collection avec tout les nom des champs d'un type, ou autre... )
 
PS: je sais, c'est un peu tordu, mais ca pourrait m'etre TERRIBLEMENT utile :)


Message édité par ixemul le 09-01-2004 à 12:54:51
mood
Publicité
Posté le 09-01-2004 à 12:54:33  profilanswer
 

n°606879
karlkox
Posté le 10-01-2004 à 02:05:57  profilanswer
 

Code :
  1. ' Je sais pas si c'est que tu veux mais bon ...
  2. Private Const MAX_VARIABLE = 3
  3. Private Type variables
  4.      chaine1 As String * 4
  5.      chaine2 As String * 8
  6.      nombre1 As Integer
  7. End Type
  8. Private Type nomVariable
  9.     chaine(1 To MAX_VARIABLE) As String
  10. End Type
  11. Dim test As nomVariable
  12. Private Sub initVariableName()
  13.    
  14.     test.chaine(1) = "chaine1"
  15.     test.chaine(2) = "chaine2"
  16.     test.chaine(3) = "nombre1"
  17. End Sub
  18. Private Function getVariableName(ByVal index As Long)
  19.     If index > MAX_VARIABLE Then Exit Function
  20.     getVariableName = test.chaine(index)
  21. End Function
  22. Private Sub Form_Load()
  23. Dim retVal As String
  24.     Call initVariableName
  25.     retVal = getVariableName(1)
  26.     MsgBox retVal
  27. End Sub

n°606951
ixemul
Nan mais sans blague ! ⚡
Posté le 10-01-2004 à 11:25:51  profilanswer
 

c'est une solution valable en effet, la seule chose qui me chagrine dedans, c'est d'etre obligé de définir 2 fois les champs de ma structure, j'aimerais une solution plus "évoluée" pour retrouver ces nom de variables (je sais, je suis chiant la  :lol: )

n°607013
jagstang
Pa Capona ಠ_ಠ
Posté le 10-01-2004 à 13:28:50  profilanswer
 

en effet

n°607398
karlkox
Posté le 10-01-2004 à 20:37:22  profilanswer
 

Euh ... je les définit qu'une fois la, il n'y a pas de moyen pour connaitre les noms de variables sans les initialiser au moins une fois car définir les variables et définir le NOM des variables sont deux choses différentes.

n°711139
dovic
Posté le 28-04-2004 à 16:35:16  profilanswer
 

je sais pas si ca peut aider mais regarde la fonction callbyname dans l'aide en ligne


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB] petit defi : récuperer le nom d'une variable dans un TYPE

 

Sujets relatifs
Trouver toutes les instances d'un type de class connuRécupérer position curseur sous nux ?
VBA; parcourir dynamiqument un type..end typePetit problème avec expression régulière...
récupérer les infos de xmms !Comment récupérer les codes de statut HTTP en ASP ?
Projet de gestion hasardeuse de frame (vrai défi inside)Comment récupérer mon paramètre en PHP4
Un petit peu d'aide en ASP svp[XSL] Initialisation d'une variable
Plus de sujets relatifs à : [VB] petit defi : récuperer le nom d'une variable dans un TYPE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR