Extrait D'Octets D'une Chaine de Saisie
Stagiaire WDF
Inscrit:
02/11/2006 15:52
Post(s): 12
Salut a tous ,



J'ai essayer de supprimer des Chiffres aprés mes Produits
"Tables; Chaises , etc.. " mais j'y ny' arrive pas
j'ai essayer ce code trouver dans le guide d'autoformation & L'Aide de WD mais ça ne fonctionne pas


Dans mon Exemple je vouderais faire et supprimer le chiffres aprés les produits :

Exemple :


Tables 278/234/312
Chaises 001/241/313
Cartables 984/212/314
Estrades 744/214/315
Tabliers 221/142/316
Craies 552/121/317
Armoires 112/243/318



J'ai essayer ces 2 Codes ça fonctionne pas
// Extraction d'octets


MaChaîne est une chaîne
Gauche(MaChaîne, 11)

et ce code :


// Extraction d'octets

MonBuffer est un buffer
Gauche(MonBuffer, 11)


11 parceque y'a 11 Chiffres a extraire de la chaine





Merci pour vos conseils .




Cordialement, Stéphane

Contribution le : 08/11/2006 19:58
Créer un fichier PDF de la contribution Imprimer


Re: Extrait D'Octets D'une Chaine de Saisie
Animateur WDF
Inscrit:
19/01/2004 13:48
De www.sigmasys.fr
Post(s): 988
Bonjour,

Vous pouvez remplacer les chiffres par "" avec la fonction Remplace.

Exemple :

chArticle est une chaine = "Tables 278/234/312"

chArticle = Remplace(chArticle,"0","")
chArticle = Remplace(chArticle,"1","")
chArticle = Remplace(chArticle,"2","")
chArticle = Remplace(chArticle,"3","")
chArticle = Remplace(chArticle,"4","")
chArticle = Remplace(chArticle,"5","")
chArticle = Remplace(chArticle,"6","")
chArticle = Remplace(chArticle,"7","")
chArticle = Remplace(chArticle,"8","")
chArticle = Remplace(chArticle,"9","")
chArticle = Remplace(chArticle,"/","")


chArticle aura pour valeur "Tables "

Bon dév.,

Totof

Contribution le : 08/11/2006 21:19
_________________
[ Totof(Christophe LOGEL) réalise des développements spécifiques WinDev (Mon annonce wdforge), http://www.sigmasys.fr]
Créer un fichier PDF de la contribution Imprimer


Re: Extrait D'Octets D'une Chaine de Saisie
Developpeur WDF
Inscrit:
26/07/2004 09:01
Post(s): 127
Une autre solution qui fonctionne à condition que la taille de la chaine à ôter soit toujours la même, ici 11 :
chArticle est une chaine = "Tables 278/234/312"
chArticle = chArticle[[ A (Taille(chArticle) - 11) ]]
qui revient au même que
Gauche( chArticle, (Taille(chArticle) - 11) )


et remplacer 11 par 12 s'il est nécessaire d'ôter l'espace,
ou encore utiliser la fonction SansEspace().

Mais le grand défaut de cette solution est la condition à respecter....

Contribution le : 09/11/2006 09:17
_________________
Faut pas trop se prendre au sérieux ...
Créer un fichier PDF de la contribution Imprimer


Re: Extrait D'Octets D'une Chaine de Saisie
Stagiaire WDF
Inscrit:
02/11/2006 15:52
Post(s): 12
Salut Totof
Salut vDengaG

J'ai essayer les deux codes le résultat affiche 0 dans saisie 2:




chArticle est une chaine = "Tables 278/234/312"

chArticle = Remplace(chArticle,"0","")
chArticle = Remplace(chArticle,"1","")
chArticle = Remplace(chArticle,"2","")
chArticle = Remplace(chArticle,"3","")
chArticle = Remplace(chArticle,"4","")
chArticle = Remplace(chArticle,"5","")
chArticle = Remplace(chArticle,"6","")
chArticle = Remplace(chArticle,"7","")
chArticle = Remplace(chArticle,"8","")
chArticle = Remplace(chArticle,"9","")
chArticle = Remplace(chArticle,"/","")


et le code de VengaG :


chArticle est une chaine = "Tables 278/234/312"
chArticle = chArticle[[ A (Taille(chArticle) - 11) ]]
qui revient au même que
Gauche( chArticle, (Taille(chArticle) - 11) )



J'ai essayer avec ce code aussi mais sans résultat :

MaChaine est une chaîne

Saisie2=ExtraitChaîne(MaChaine, 3, DepuisFin)








Un Exemple pour mieux comprendre :




David Dupont 03.03.1972
Richard Pallier 19.12.1963
Jean_Pierre Delpeche 31.04.1955
Sébastien Lafont 31.07.1977
Christophe Aster 27.12.1941
Ludovic Zrovitch 17.01.1981
Bernard sabatier 29.06.1969




Si je mets Dans saisie 1 :





David Dupont 03.03.1972
Richard Pallier 19.12.1963
Jean_Pierre Delpeche 31.04.1955
Sébastien Lafont 31.07.1977
Christophe Aster 27.12.1941
Ludovic Zrovitch 17.01.1981
Bernard sabatier 29.06.1969




J'auais dans saisie 2:


Richard Pallier
Jean_Pierre Delpeche
Sébastien Lafont
Christophe Aster
Ludovic Zrovitch
Bernard sabatier






Merci de vos conseils et votre disponibilité







Cordialement , Stéphane

Contribution le : 09/11/2006 17:12
Créer un fichier PDF de la contribution Imprimer


Re: Extrait D'Octets D'une Chaine de Saisie
Developpeur WDF
Inscrit:
26/07/2004 09:01
Post(s): 127
J'ai un doute,
Saisie1 et 2 sont des champs multilignes ?
Et c'est la liste complète qu'il faut traiter ?
En ce qui concerne ExtraitChaine(), il te manque le séparateur, et d'après tes derniers exemples il me semble difficile d'en trouver un suffisamment fiable pour utiliser avec simplicité la fonction ExtraitChaine().

Sinon j'ai testé la solution de Totof et les miennes, pour moi c'est ok.
A noter que lorsque j'indique celle utilisant Gauche(), c'est à la place de celle utilisant l'opérateur [[ A ]].

S'il s'agit d'une "liste", donc, en utilisant les fonctions Extraichaine(), ChaineOccurence(), en te basant, probblement sur le RC, tu devrais pouvoir t'en sortir.

Bonne soirée.

Contribution le : 09/11/2006 17:51
_________________
Faut pas trop se prendre au sérieux ...
Créer un fichier PDF de la contribution Imprimer


Re: Extrait D'Octets D'une Chaine de Saisie
Stagiaire WDF
Inscrit:
02/11/2006 15:52
Post(s): 12
Salut veDengaG

Les deux champs sont multilignes c'est la liste compléte que je dois traiter c'est a dire si je mets :


Saisie 1 : 10 Candidats

David Dupont 03.03.1972
Richard Pallier 19.12.1963
Jean_Pierre Delpeche 31.04.1955
Sébastien Lafont 31.07.1977
Christophe Aster 27.12.1941
Ludovic Zrovitch 17.01.1981
Bernard sabatier 29.06.1969
Benoit Lupier 17.03.1937
Gerand Bertrand 19.03.1943


J'aurais Dans saisie2 :

David Dupont
Richard Pallier
Jean_Pierre Delpeche
Sébastien Lafont
Christophe Aster
Ludovic Zrovitch
Bernard sabatier
Benoit Lupier
Gerand Bertrand



Si je mets 50 Candidats dans saisie1 j'aurais 50 et Ainsi de suite



J'ai mis ce code :



MaChaine est une chaîne

Saisie2=ExtraitChaîne(MaChaine, 8,RC, DepuisFin)




Si tu pourra corriger ce code et mettre le code qui convient




Merci veDengaG




Cordialement, Stéphane


MaChaine est une chaîne

Contribution le : 09/11/2006 18:10
Créer un fichier PDF de la contribution Imprimer


Re: Extrait D'Octets D'une Chaine de Saisie
Developpeur WDF
Inscrit:
26/07/2004 09:01
Post(s): 127
Bonjour,
il serait bien que tu cherches la solution par toi-même ....



i, NbOccurences sont des entiers
chArticle est une chaîne

//On compte le nombre de lignes
NbOccurences=ChaîneOccurrence(Saisie1,RC)+1

//Et on effectue pour chaque ligne le traitement indiqué hier.
//A noter que j'ai préféré utiliser la solution de Totof, puisque tes exemples diffèrent par la taille du nombre de caractère.
//Ce sera à toi d'adapter selon tes contraintes.
POUR i=1 A NbOccurences
	chArticle=ExtraitChaîne(Saisie1,i,RC)
	chArticle = Remplace(chArticle,"0","")
	chArticle = Remplace(chArticle,"1","")
	chArticle = Remplace(chArticle,"2","")
	chArticle = Remplace(chArticle,"3","")
	chArticle = Remplace(chArticle,"4","")
	chArticle = Remplace(chArticle,"5","")
	chArticle = Remplace(chArticle,"6","")
	chArticle = Remplace(chArticle,"7","")
	chArticle = Remplace(chArticle,"8","")
	chArticle = Remplace(chArticle,"9","")
	chArticle = Remplace(chArticle,"/","")
	chArticle = Remplace(chArticle,".","")

	//Ici on se préoccupe du RC, qu'on n'insère pas au premie rtour.
	SI i=1 ALORS
		Saisie2=chArticle
	SINON
		Saisie2=cs_Saisie2+RC+chArticle
	FIN
FIN

Info("Et voilà :)")

Contribution le : 10/11/2006 08:55
_________________
Faut pas trop se prendre au sérieux ...
Créer un fichier PDF de la contribution Imprimer


Re: Extrait D'Octets D'une Chaine de Saisie
Stagiaire WDF
Inscrit:
02/11/2006 15:52
Post(s): 12
Salut VedenGaG,

Probléme Résolu ! le code fonctionne trés bien


Merci et bonne soirée vedenGaG



Cordialement Stéphane

Contribution le : 10/11/2006 18:31
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