Concaténation spécifique [Résolu] - VB/VBA/VBS - Programmation
Marsh Posté le 28-02-2005 à 17:57:53
Ca m'étonnerait que ce que tu veux faire soit faisable en VB.
Pourquoi tu n'as pas fait de tableaux?
Les Hashtable ou un truc du genre, ça existe en VB?
Marsh Posté le 28-02-2005 à 18:23:44
djok_fb a tout a fait raison. Transforme le tout en tableau et après ça ira tout seul.
Marsh Posté le 28-02-2005 à 19:06:40
Ah ouais, c'est vrai ça, pas bête l'idée du tableau!
Je tente ça demain
Merci
Marsh Posté le 01-03-2005 à 10:41:40
Donc en fait je vais m'expliquer un peu plus car l'idée du tableau c'est bien, mais...
J'ai développé un logiciel pour des stations météos et j'aimerais sauvegarder la configuration de chaque station dans un fichier de config sachant que ce fichier ne comportera pas toujours le même nombre de lignes.
Ce fichier contiendra les infos types noms, localisation de la station..., les paramètres de communication et la ou ça se corce c'est pour les paramètres concernant le nombre de données provenant de cette station.
Si la station nous envoi 3 mesures, il me faut pour chaque mesure paramètrer son nom, son unité.... donc un fichier de ce type:
Citation : |
Pour une autre station il n'y aura par exemple que 2 données:
Citation : |
J'aimerais faire une fonction de lecture et une d'écriture d'un fichier de config qui serve pour tous les cas mais je ne sais comment faire pour que ce soit le plus dynamique et le plus souple possible au niveau de la prog...
Merci à tous ceux qui pourront m'aider.
Marsh Posté le 01-03-2005 à 12:45:38
Je sais ke pour moi ca marche avec un fichier csv ou txt en faisant comme suit:
Open App.Path & ".\fichier.txt" For Output As #1
For j = 1 To n
a = "stationMES" & nb &.nom
b = "stationMES" & nb &.ORDRE
c = "stationMES" & nb &.UNITE
d = "stationMES" & nb &.grandeur
Write #1, a,b,c,d
Next j
Close #1
Par contre pour le nombre de ligne c'est a toi de voir si tu peux le rechercher automatikement a chake fois,ou si c toi ki le mets j'espere ke ca pourra t'aider
Marsh Posté le 01-03-2005 à 13:33:31
Ah ben ça va faire mon bonheur si ça marche comme ça!
Cet aprem je ne suis pas à la boite, donc je verrais ça demain matin, mais si tu dis que chez toi ça passe je te fais confiance!!
Je te previendrais mon avancement, merci
Marsh Posté le 01-03-2005 à 13:36:28
Ouais enfin on est jamais sur de rien lol tiens moi au courant via le site ou yokaichan@hotmail.com etant donne ke je suis debutant mais ke je travaille sur certains trucs kan meme ca m'interesse de savoir ou tu en es lol merci d'avance
Marsh Posté le 01-03-2005 à 20:31:56
Voilà ce que moi je te propose : un tableau
Dans un module tu mets cela (hors de Sub ou Function)
Code :
|
Dans ta commande d'écriture tu appelle la fonction Ecrire()
Code :
|
Dans ta commande de lecture tu apelle la fonction Lire()
Code :
|
Et voila
Si problème(s) envoie(z) un message privé.
Marsh Posté le 01-03-2005 à 21:28:55
C'est sympa à vous tous de m'aider comme ça!
En fait ton idée de tableau ressemble fort à ce que j'ai fait sauf qu'au lieu de déclarer "Dim Station(NbreStationMax) As UserStation" je met "Dim Station As UserStation"!!! J'utilisais ça en tant que structure, je ne savais pas qu'on pouvait faire ça!! Du coup ça simplifierait plusieurs trucs dans mon code ça
Je me suis renseigné aussi pour faire un fichier .ini et avec toutes vos idées je pense pouvoir faire quelque chose de bien.
Je m'y met dès que je suis au boulot demain
Merci beaucoup!!
Je donnerais de mes news de mon avancement!
Marsh Posté le 02-03-2005 à 09:58:15
Hello!!
Bon ben je vous remercie tous!!!
Ca fonctionne comme je le souhaitais.
Encore MERCI!!!
Marsh Posté le 28-02-2005 à 16:44:33
Bonjour,
Voici un extrait de code pour ma question:
Write #fileNum, stationMES0.nom, stationMES0.ORDRE, stationMES0.UNITE, stationMES0.grandeur
Write #fileNum, stationMES1.nom, stationMES1.ORDRE, stationMES1.UNITE, stationMES1.grandeur
Write #fileNum, stationMES2.nom, stationMES2.ORDRE, stationMES2.UNITE, stationMES2.grandeur...
Donc, j'aurai voulu savoir si c'est possible, afin d'éviter de répéter x fois la même ligne, d'utiliser une variable "nb" par exemple comme ceci:
for nb=0 to 10
Write #fileNum, stationMES & nb &.nom, stationMES & nb &.ORDRE, stationMES & nb &.UNITE, stationMES & nb &.grandeur
next
Le code que je viens de citer ci-dessus ne fonctionne pas évidemment, c'est pour expliquer ce que j'aimerai faire.
Est-il possible de faire ce genre de concaténation?
Si pas possible, existe-t-il une solution alternative?
Merci d'avance à tous ceux qui m'aideront.
Message édité par lefoimpeur le 02-03-2005 à 09:59:37