Recueparation de donnees dans une chaine
Stagiaire WDF
Inscrit:
01/12/2005 17:28
De Monaco
Post(s): 8
Bonjour a tous,
une petite question certainement "triviale" pour beaucoup...Mais j'ai un trou, je ne sais plus... ou pas.
Mon probleme :
Dans un fichier, j'ai une rubrique "DIVERS" qui est une rubrique de type MEMO.
Lors d'un enregistrement, elle est alimentee par des lignes d'une table. A chaque fin de ligne, j'ajoute un RC, puis la ligne de la table suivante, etc....
En gros, cela donne :
wcontenu est chaine
wcontenu = Table_commandes.Code[1]+" - "+Table_commandes.Désignation[1]+" - "+Table_commandes.QTE[1]+" - "+Table_commandes.PUHT[1]+" - "+Table_commandes.PTHT[1]
SI TableOccurrence(Table_commandes)>1 ALORS
POUR zi = 2 A TableOccurrence(Table_commandes)
wcontenu = wcontenu+RC+Table_commandes.Code[zi]+" - "+Table_commandes.Désignation[zi]+" - "+Table_commandes.QTE[zi]+" - "+Table_commandes.PUHT[zi]+" - "+Table_commandes.PTHT[zi]
FIN
FIN
COMMANDES.CONTENU_COMMANDE = wcontenu

Cela fonctionne bien, pas de probelemes avec cela.
MON PROBLEME SE SITUE AU NIVEAU DE LA RECUPERATION DE CES DONNEES.
Je veux pouvoir lire les donnees dans cette rubrique et les reinserer dans une table. bien entendu, a chaque changement de ligne dans la rubrique (materialise par "RC") il faut que je change de ligne dans ma table.

J'arrive a lire ma premiere ligne... mais je n'arrive a rien d'autre.

D'avance merci a tous pour votre aide precieuse.

Contribution le : 13/02/2006 14:25
_________________
"Dans le doute, tu rebootes, si ca rate, tu formates !!"
Créer un fichier PDF de la contribution Imprimer


Re: Recueparation de donnees dans une chaine
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Bonjour,
Si vous lisez le contenu de votre rubrique mémo dans un champ de fenêtre, veillez à ce que ce dernier soit un champ multiligne. Sinon il sera normal que vous ne récupériez qu'une ligne !

Ensuite il suffit de récupérer respectivement les parties :
// le contenu est de CHP_MEMO
i,j sont des entiers = 1
cLigne est une chaine = ExtraitChaine(CHP_MEMO,i,RC)
TANTQUE cLigne<>EOT
   // on va envoyer dans la table chaque partie de la ligne
   TableAjouteLigne(NomTable,cLigne)
   // ligne suivante
   i++
   cligne = ExtraitChaine(CHP_MEMO,i,RC)
FIN


Attention : dans ce code je suppose que la ligne enregistrée et la table ont la même structure (nombre et ordre des colonnes)... et que le séparateur y est le TAB.

Contribution le : 13/02/2006 14:36
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Recueparation de donnees dans une chaine
Stagiaire WDF
Inscrit:
01/12/2005 17:28
De Monaco
Post(s): 8
Bonjour,

Non, le separateur lors de l'enregistrement est " - " (le tiret entre deux esapces) entre chaque rubrique de la table.
J'ai donc une rubrique dans mon fichier sous la forme :
CODE - DESIGNATION - QTE - PUHT - PTHT

voici le code exact que j'utilise lors de l'enregistrement.
wcontenu = Table_commandes.Code[1]+" - "+Table_commandes.Désignation[1]+" - "+Table_commandes.QTE[1]+" - "+Table_commandes.PUHT[1]+" - "+Table_commandes.PTHT[1]
SI TableOccurrence(Table_commandes)>1 ALORS
POUR zi = 2 A TableOccurrence(Table_commandes)
wcontenu = wcontenu+RC+Table_commandes.Code[zi]+" - "+Table_commandes.Désignation[zi]+" - "+Table_commandes.QTE[zi]+" - "+Table_commandes.PUHT[zi]+" - "+Table_commandes.PTHT[zi]
FIN
FIN

J'ai teste votre code, cela ne fonctionne pas. (le separateur n'etant pas TAB), et devant changer de ligne a chaque RC.

D'avance encore merci pour votre aide.

Contribution le : 13/02/2006 15:06
_________________
"Dans le doute, tu rebootes, si ca rate, tu formates !!"
Créer un fichier PDF de la contribution Imprimer


Re: Recueparation de donnees dans une chaine
Stagiaire WDF
Inscrit:
01/12/2005 17:28
De Monaco
Post(s): 8
Rebonjour,

Avec votre aide, j'ai modifie mes parametres lors de l'enregistrement en prenant comme separateur le "TAB" et j'ai realise le code suivant (en se servant de votre aide)
Ca fonctionne a merveille.
Merci a vous.

i est entier = 1
j est un entier = 1
cLigne est une chaîne = ExtraitChaîne(SAISIE_CONTENU,i,RC,DepuisDébut)
TANTQUE cLigne<>EOT
// on va envoyer dans la table chaque partie de la ligne
wcode = ExtraitChaîne(cLigne,rangPremier)
wDésignation = ExtraitChaîne(cLigne,rangSuivant)
wqte = ExtraitChaîne(cLigne,rangSuivant)
wpuht = ExtraitChaîne(cLigne,rangSuivant)
wptht = ExtraitChaîne(cLigne,rangSuivant)
TableAjouteLigne(Table_commandes,wcode,wDésignation,wqte,wpuht,wptht)
// TableAjouteLigne(Table_commandes,cLigne)
// ligne suivante
i++
cLigne = ExtraitChaîne(SAISIE_CONTENU,i,RC,DepuisDébut)
FIN

Contribution le : 13/02/2006 15:34
_________________
"Dans le doute, tu rebootes, si ca rate, tu formates !!"
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2