PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Besoin d'aide pour afficher un tableau
Besoin d'aide pour afficher un tableau
Débuté par Nico, 24 avr. 2014 15:51 - 7 réponses
Membre enregistré
27 messages
Posté le 24 avril 2014 - 15:51
Bonjour à tous !

Je vous explique mon problème :
J'ai un tableau à 2 dimensions contenant des références articles et des numéros de séries associés.
J'aimerais écrire le contenu de cette table dans un fichier texte ligne par ligne en séparant les infos de mes colonnes par des "|". Voici le code que j'avais écrit :

// Ecriture dans un fichier texte du récap des numéros de séries
TraceDébut(trFichier,cheminEcriture+"NS"+TABLE_Entete.COL_Piece[1]+".txt")
POUR i = 1 A nbMaxLignes
POUR j = 1 A nbMaxColonnes
SI j <= nbMaxColonnes - 1 ALORS
Trace(tableau_numero_series[i][j]+"|")
SINON
Trace(tableau_numero_series[i][j])
FIN
FIN
FIN
TraceFin()

Le problème c'est qu'à chaque fois qu'on exécute un trace il fait un RC automatique à la fin. Y a t'il un moyen de contourner le problème ?
Membre enregistré
841 messages
Popularité : +19 (27 votes)
Posté le 24 avril 2014 - 16:09
Bonjour,

En réalité tu n'as aucun problème puisque l’écriture dans le fichier ne fonctionne pas comme le trace.

Par contre c'est un peu compliqué...ceci devrait fonctionner ( je n'ai pas tester )

CH est une chaîne
POUR TOUT ELEMENT DE tableau_numero_series
CH += ELEMENT[1]+"|"+ELEMENT[2]+RC
FIN
//on sauve la chaine dans un fichier
fSauveTexte(CH,nomdufichier)


--
Miro
Membre enregistré
940 messages
Popularité : +66 (68 votes)
Posté le 24 avril 2014 - 16:10
Bonjour,

ou vous pouvez utiliser la fonction TableauVersChaine()

TableauVersChaîne(tableau_numero_series,RC,"|")


Bon dèv
Membre enregistré
27 messages
Posté le 24 avril 2014 - 16:34
Non ça ne me l'affiche pas correctement. Mais petite question : quand je fais tableau_numero_series[i][j] j'accèdes bien à l'élément de la ligne i et de la colonne j ?
Posté le 24 avril 2014 - 16:57
Camus HADDAD ( depem a écrit :
Bonjour,

En réalité tu n'as aucun problème puisque l’écriture dans le fichier ne fonctionne pas comme le trace.

Par contre c'est un peu compliqué...ceci devrait fonctionner ( je n'ai pas tester )

CH est une chaîne
POUR TOUT ELEMENT DE tableau_numero_series
CH += ELEMENT[1]+"|"+ELEMENT[2]+RC
FIN
//on sauve la chaine dans un fichier
fSauveTexte(CH,nomdufichier)


--
Miro



Attention, pour la fonction fSauveTexte, c'est :
fSauveTexte(nomdufichier, ch) et non l'inverse
Membre enregistré
841 messages
Popularité : +19 (27 votes)
Posté le 24 avril 2014 - 17:13
Oui

ceci est extrait de l'aide windev il correspond à ton besoin.

J'ai juste modifié le séparateur pour qu'il corresponde au pipe |

// Tableau à deux dimensions
sMesValeurs est une chaîne
// Tableau initial
MonTableau est un tableau de 2 par 3 chaînes
MonTableau[1,1] = "A"; MonTableau[1,2] = "B"
MonTableau[1,3] = "C"; MonTableau[2,1] = "D"
MonTableau[2,2] = "E"; MonTableau[2,3] = "F"

sMesValeurs = TableauVersCSV(MonTableau,"|")
// sMesValeurs contient : "A|B|C"+RC+"D|E|F"


--
Miro
Membre enregistré
841 messages
Popularité : +19 (27 votes)
Posté le 24 avril 2014 - 17:14
Précision

MonTableau[1,1] est equivalent à MonTableau[1][1]

--
Miro
Membre enregistré
27 messages
Posté le 24 avril 2014 - 17:41
Merci pour vos réponses ça marche !