|
simplifier des déclarations |
Iniciado por Marie, 23,jul. 2021 20:31 - 11 respuestas |
| |
| | | |
|
| |
Publicado el 23,julio 2021 - 20:31 |
Bonjour à vous,
Je débute sous windev, j'ai toute une série des variables à déclarer, et je me demande s'il ne serait pas possible de simplifier les choses, mais mes tentatives restent veines. Voilà le principe de ce que j'ai :
sTel1 est une chaîne=INILit("MK","tel1","",ficini) sTel2 est une chaîne=INILit("MK","tel2","",ficini) sTel3 est une chaîne=INILit("MK","tel3","",ficini) sTel4 est une chaîne=INILit("MK","tel4","",ficini) sTel5 est une chaîne=INILit("MK","tel5","",ficini) sTel6 est une chaîne=INILit("MK","tel6","",ficini) sTel7 est une chaîne=INILit("MK","tel7","",ficini) sTel8 est une chaîne=INILit("MK","tel8","",ficini)
j'ai essayé de simplifier par quelque chose comme ça, mais ça coince:
POUR i = 1 A 8 sTel([i]] est une chaîne = INILit("MK","tel"+[i],"",ficini) FIN
j'ai aussi essayé ça, mais sans plus de succès:
sTel1,sTel2,sTel3,sTel4,sTel5,sTel6,sTel7,sTel8 sont des chaînes
POUR i = 1 A 8 sTel[i] = INILit("MK","tel"+[i],"",ficini) FIN
Est-ce qu'il y a une façon plus élégante que la première pour faire des déclarations en nombre ?
Merci pour votre aide |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.144 mensajes Popularité : +50 (142 votes) |
|
Publicado el 26,julio 2021 - 09:06 |
Bonjour,
Il faut utiliser les indirections :
sTel1,sTel2,sTel3,sTel4,sTel5,sTel6,sTel7,sTel8 sont des chaînes
POUR i = 1 À 8 {"sTel[%i%]",indVariable} = INILit("MK","tel[%i%]","",ficini) FIN
-- Thierry TILLIER Développeur Windev-Webdev Formation Windev : https://coursdinfo.teachable.com/ Formation bureautique : https://coursdinfo.net Tuto WINDEV sur ma chaîne Youtube |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes Popularité : +12 (18 votes) |
|
Publicado el 26,julio 2021 - 09:11 |
Bonjour. De mémoire, la syntaxe "tel[%i%]" a été introduite en version 23, si Marie est en version inférieure, cette syntaxe devra être remplacée par "tel"+i |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.892 mensajes Popularité : +227 (347 votes) |
|
Publicado el 26,julio 2021 - 11:03 |
Bonjour, Une autre solution est de passer par un tableau (éventuellement associatif,) qui permet de s'abstraire du nombre de n°.
Un truc du style :
saValClé est chaîne saResLecture est chaîne tabNoTel est tableau de * par 2 chaînes
saValClé=tel1
saResLecture=INILit("MK",saValClé,"FINI",ficini) TANTQUE saResLecture<>"FINI" TableauAjouteLigne(taNoTel,saValClé,saResLecture) ChaîneIncrémente(saValClé) saResLecture=INILit("MK",saValClé,"FINI",ficini) FIN
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Publicado el 26,julio 2021 - 16:59 |
Bonjour à vous, et merci pour vos conseils avisés,
Effectivement je suis en version 21, ça fonctionne comme ceci:
sTel1,sTel2,sTel3,sTel4,sTel5,sTel6,sTel7,sTel8 sont des chaîne
POUR i=1 A 8 {"sTel"+i}=INILit("MSK","tel"+[i],"",ficini) FIN
J'aurais aimé faire quelque chose comme ça mais ça ne fonctionne pas:
POUR i=1 A 8 {"sTel"+i} est une chaîne {"sTel"+i}=INILit("MSK","tel"+[i],"",ficini) FIN
Quoi qu'il en soit, c'est déjà beaucoup plus joli de cette manière. Merci bien. Marie |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes Popularité : +12 (18 votes) |
|
Publicado el 27,julio 2021 - 08:29 |
Bonjour, On ne peut pas déclarer des variables par indirection. Peut être qu'utiliser un tableau de chaines pourrait convenir? |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.144 mensajes Popularité : +50 (142 votes) |
|
Publicado el 27,julio 2021 - 09:01 |
une autre astuce est de passer par la création d'une variable champ.
saValClé est une chaîne="sTel1"
POUR i = 1 À 8 ChampCrée(saValClé,typTexte) {saValClé,indChamp} = INILit("MSK",saValClé,"",ficini) SAI_Texte1+={saValClé,indChamp} saValClé=ChaîneIncrémente(saValClé) FIN
-- Thierry TILLIER Développeur Windev-Webdev Formation Windev : https://coursdinfo.teachable.com/ Formation bureautique : https://coursdinfo.net Tuto WINDEV sur ma chaîne Youtube |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 287 mensajes Popularité : +51 (79 votes) |
|
Publicado el 09,agosto 2021 - 17:13 |
THIERRY TILLIER a écrit :
une autre astuce est de passer par la création d'une variable champ. saValClé est une chaîne="sTel1" POUR i = 1 À 8 ChampCrée(saValClé,typTexte) {saValClé,indChamp} = INILit("MSK",saValClé,"",ficini) SAI_Texte1+={saValClé,indChamp} saValClé=ChaîneIncrémente(saValClé) FIN -- Thierry TILLIER Développeur Windev-Webdev Formation Windev : https://coursdinfo.teachable.com/Formation bureautique : https://coursdinfo.netTuto WINDEV sur ma chaîne Youtube
Code totalement illisible, manque d'intuitivité.
-- 667, EKIP EKIP |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.574 mensajes Popularité : +222 (260 votes) |
|
Publicado el 10,agosto 2021 - 08:59 |
Pour moi le plus simple aurait été d'utiliser soit un tableau de chaines soit un tableau associatif de chaines.
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.144 mensajes Popularité : +50 (142 votes) |
|
Publicado el 25,agosto 2021 - 17:51 |
MBAPPE MBAPPE / Papa a écrit :
Code totalement illisible, manque d'intuitivité.
Le ration Code lisible / code synthétique est à la seule appréciation du développeur en regard de son projet, pas du votre. Merci de votre participation.
-- Thierry TILLIER Développeur Windev-Webdev Formation Windev : https://coursdinfo.teachable.com/ Formation bureautique : https://coursdinfo.net Tuto WINDEV sur ma chaîne Youtube |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 287 mensajes Popularité : +51 (79 votes) |
|
Publicado el 25,agosto 2021 - 17:55 |
THIERRY TILLIER a écrit : > Le ration Code lisible / code synthétique est à la seule appréciation du développeur en regard de son projet, pas du votre.
Ration ??? Je comprend pas
-- 667, EKIP EKIP |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.144 mensajes Popularité : +50 (142 votes) |
|
Publicado el 25,agosto 2021 - 18:29 |
| |
| |
| | | |
|
| | | | |
| | |
|