fiko81
Messages postés381Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention 5 septembre 2010
-
2 mars 2006 à 21:14
moutonjr
Messages postés65Date d'inscriptionmercredi 19 juillet 2006StatutMembreDernière intervention 5 juin 2012
-
23 déc. 2007 à 16:24
Bonsoir tout le monde,
Ca y'est j'ai trouvé comment formuler mon problème.
Voilà : j'ai par exemple une variable strChemin as string.
Je lit dans un fichier externe une chaine de caractaire "strChemin=une chaine de caractère"
En lisant cette ligne, je voudrais affecter automatiquement le texte "une chaine de caractère" dans ma variable strChemin.
Le but du jeu est de faire ça sans forcement savoir que dans le fichier texte strChemin est mentionnée... donc pas de instr, mid... car je voudrais globaliser tout ça pour 57 variables...
Je suis sure qu'il y a une solution...
Merci d'avance.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 3 mars 2006 à 00:00
salut,
voici ce que j'ai compris :
je travaille en Cobol ???
j'ai un fichier de 57lignes contenant "nom_de_la_variable" "=" "valeur_a_affecter"
je vais inventer dynamiquement 57 variables qui vont soudainement et
par magie être renommées par la partie de gauche (avant le "="), et
initialisées avec la partie de droite.
tout çà de surcroît, sans même chercher la position du "=" (pas de mid$, ni instr)
et je n'ai pas de question.
umm, il doit y avoir une sacré erreur d'interprétation de ma part, je l'espère du moins...
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 3 mars 2006 à 00:32
Salut tout le monde.
Pcpt j'ai compris la meme chose
Dans ce cas les chances d'une erreur d'interprétation s'en sont envollées
Ma réponse sera : il n'est pas possible de créer des variables dynamiquement
Mais peut-etre que je me trompe.....enfin j'ai jamais vu ce genre de code
Vous n’avez pas trouvé la réponse que vous recherchez ?
fiko81
Messages postés381Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention 5 septembre 20103 3 mars 2006 à 13:56
Merci pour votre conviction à vouloir comprendre quelque chose qui n'est pas clair.
A la limite le instr est indispensable effectivement.
Je veux simplement pouvoir détecter si dans mon fichier texte j'ai une variable qui est déclaré à mon application (je peux éventuellemnt envisager de mettre une marque devant ma variable pour détécter si il faut en réaliser l'affectation : exemple
"#strChemin=une chaine de caractère" ici le # me permettra de détecter qu'un variable est à effecter et ensuite je veux faire automatiquement l'affectation la variable après le # de sa valeur après le égale...
J'avoue que c'est pas encore bien claire mais je compte sur vous pour m'éclairer
fiko81
Messages postés381Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention 5 septembre 20103 3 mars 2006 à 15:23
En fait je viens de voir qu'il y a une fonction pseudo-equivalente dans Excel : c'est "INDIRECT". Elle permet de pointer sur une celulle en fonction du calcul réalisée dans "INDIRECT"...
En fait je voudrais pointer sur une variable de mon code en fonction de la valeur d'une autre variable par exemple :
J'ai essayé ça mais ça ne marche pas :
Private Type ExterVar
NomVar As String
Valeur As Long
End Type
Private Sub TestVar()
Dim Mytab As ExterVar
Dim strTest As String
strTest = "NomVar"
Mytab.(strTest) = "test" '--> ça marche pas
fiko81
Messages postés381Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention 5 septembre 20103 3 mars 2006 à 16:17
L'idée est très bonne mais ceci nécessite de renseigner toutes mes variables dans un tableau.
Je trouve pas très parlant dans un code d'utiliser un tableau unique qui regroupe toute mes variables.
Je prefert appeler strTest dans une ligne de code que Mytab(2).NomVar... surtout qu'en il y en a 57...
D'autre part, mon idée était de pouvoir exploiter ce code pour toute les variables de mon appli
Mais j'ai bien l'impression que ce que je veux faire est irréalisable...
En tout merci à tous. Ce forum est super !!!
moutonjr
Messages postés65Date d'inscriptionmercredi 19 juillet 2006StatutMembreDernière intervention 5 juin 2012 23 déc. 2007 à 16:24
Bonjour à tous,
Pourtant je suis peut-être stupide à lier, mais je n'ai pas compris comme vous.
On dirait que le fichier externe possède comme des lignes de code VB
genre dans le fichier texte il y a écrit :
String1 = "Bonjour"
String2 = "Coucou"
Dans le code du programme il y a :
Sub m ()
Dim String1, String2 as String
...
End sub
Et fiko81 cherchait à donner (une seule fois, pas dynamiquement) "Bonjour" et "Coucou" auxdites String.
En effet on ne peut pas avoir le nom d'une variable (la mettre dans Une String)
Tu peux toujours créer un Array MesStrings(57,1) as string
ensuite : Messtrings(0,0) = "String1"
MesStrings(1,0) = "String2" und so weiter jusqu'à 57...
et après un module (lent) qui cherche dans ton fichier externe chacunes des valeurs.
une fois la bonne ligne trouvée : MesStrings(i,1) Mid(ligne, Len(Messtrings(i,0) + 3) 'le 3 représente les caractères " " dans ton fichier texte
Enfin voilà c'est compliqué et je ne suis meme pas sur d'avoir compris...