Choisir entre une liste de variables ou un tableau

Choisir entre une liste de variables ou un tableau - VB/VBA/VBS - Programmation

Marsh Posté le 02-01-2010 à 16:31:15    

Bonjour à tous et à toutes.
 
Mais avant de poser ma question je ties à vous souhaiter une bonne et heureuse année 2010.
 
Voila qui est fait donc ma question.
 
Je developpe actuellement une application dans laquelle l'utilisateur poura nommer des champs avec des nom de son choix.  
Cela permettra de personnaliser l'interface et donc de la rendre plus conviviale)
 
Pour cela:
j'ai posé une suite de TextBox (12) avec un label attaché à chaque TextBox sur un form de configuration
J'ai erit une ligne de code qui permet d'utiliser le Nom du label si la TextBox est vide.
J'ai donné la possibilité de verouillé ou deverouiller les TextBox pour éviter les saisies accidentelles
J'ai créé un fichier "Config.txt" pour enregistrer le contenu de mes textBox
J'ai écris le code qui permet d'écrir dans ce fichier. Chaque donnée est etant séparée par une virgule.
J'ai écris le code le code qui permet de lire ce fichier. Il est capable de separer les données comprise entre 2 virgules
Ce fichier sera lu à l'ouverture de l'application et renseignera des labels liés à des objets.
 
Voila pour le principe.
 
Pour la pratique, je dois encore créer une variable contenant le nouveau nom des objets (contenu des TextBox de mon Form Configuration)
C'est le contenu de ces variables qui seront écrites dans mon fichier Config.txt.
 
Mais a votre avis, qu'est il preferable, utiliser une variable pour chaque TextBox, ou créer un tableau contenant l'ensemble des noms de toutes mes TexBox ?
En terme d'écriture cela ne change pas grand chose. Mais est il preferable de declarer 12 variables String ou bien un tableau contenant 12 String ?
Quand doit on utiliser un tableau plutot que des variables independantes ?
 
Voilà Ma question est un peu longue mais j'ai essayé de la poser simplement. Je ne suis pas certain d'y être parvenu mais vous avez compris la question. C'est bien là le plus important.
 
Merci de vos reponses.
 
Yves

Reply

Marsh Posté le 02-01-2010 à 16:31:15   

Reply

Marsh Posté le 02-01-2010 à 16:57:28    

Bonjour,
 
A mon avis, le plus simple est de faire un tableau.
Si tu nomme tes 12 champs en les incrémentant Blabla1, Blabla2, ..., tu peux ainsi enregistrer tes 12 champs avec une boucle For.
 
Par contre, dans ton explication tu dis que le contenu de chaque champ est séparé par une virgule (dans ton fichier config.txt) puis reséparé quand il est relu. As-tu envisagé la possibilité qu'un utilisateur mette une virgule dans un champ?

Reply

Marsh Posté le 02-01-2010 à 17:13:02    

Merci pour cette reponse.
Elle correspond a ce que je prensais et donc me conforte dans ce choix.
 
Pour ta question... Tu as raison, nous devons tout prevoir.  
Toutefois, comme il s'agit de Nom d'objets. (ces objets sont des boutons que l'utilisateur poura changer en fonction de l'action souhaitée). C'est boutons vont commader une grille de commutation et au lieu de In1, In2, ect... Il poura mettre Cam1, Ou Vtr1 etc...
Il y a tres peu de chance qu'il mette une virgule dans le nom. Toutefois, tu as raison et je peu parfaitement interdir l'utilisation de la virgule en testant le conenu du champ et ouvrir une MsgBox au cas ou l'utilisateur essayait tout de même de le faire. Cela devrait être possible. Je n'ai pas encore imaginé comment mais je vais m'y pencher.  
Du reste si tu as une idée...
 
Merci encore
Yves

Reply

Marsh Posté le 03-01-2010 à 15:33:37    

Moi j'en ai une :) Regarde du coté de la procédure KeyDown (*) du bouton de commande. Tu peux intercepter la frappe de n'importe quelle touche.
Ensuite, la message box qui dit que c'est interdit de taper telle ou telle lettre, je trouve ça lourd à l'utilisation. Je préfère la solution de remplacer la virgule par un espace sans rien dire (si ce n'est pas important). Quitte à indiquer dans l'info-bulle que la virgule est interdite et rajouter un message d'erreur dans la barre en bas.

 

(*) Edit : un sujet qui parle de ca juste à coté de celui-ci (à ce jour ;)
http://forum.hardware.fr/hfr/Progr [...] m#t1954412


Message édité par otobox le 03-01-2010 à 15:36:55

---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
Reply

Marsh Posté le 03-01-2010 à 15:48:51    

Merci OtObOx...
 
Je me penche immediatement sur cette procedure (que je ne connais pas)
 
Je te dis comment cela ce passe des que j'y suis arrivé.
 
Pour le MsgBox, tu as sans doute raison car les messages intempestifs finnissent par être agassant. Il est toutefois important de signaler à l'utilisateur qu'il saisie un carractere interdit. Une infobule est elle suffisante ? Je ne les lis presque jamais. Mais je prends ton conseil et verais à l'usage avec les retours d'utilisateurs.
 
@+ Yves

Reply

Marsh Posté le 03-01-2010 à 15:53:33    

Au fait, as tu une idée pour cette question ?
http://forum.hardware.fr/hfr/Progr [...] 6957_1.htm
 
Elle se rapporte au même projet.
 
Merci de ton aide.
 
@+ Yves

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed