PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Affecter chaque image...
Affecter chaque image...
Started by paul.gera, Apr., 12 2006 4:33 PM - 4 replies
Posted on April, 12 2006 - 4:33 PM
Voilà, l'idée est simple : j'ouvre une fenetre pour sélectionner X images.
Quand je valide, chacune des images est chargée dans un champ image.

Voici le code que j'utilise... mais ca boucle...
Pouvez-vous jeter un coup d'oeil ?


sCheminDocument est une chaîne

sNouveauChemin est une chaîne

sExtension est une chaîne

sTousDocuments est une chaîne

nCpt est un entier

i=0

//Initialisation des variables

sTousDocuments = fSélecteur("", "", "Sélectionnez un fichier...",
fFiltreImage(), "*.bmp", fselOuvre+fselExiste+fselMulti)

nCpt = 1

//Parcours de chaque document

sCheminDocument = ExtraitChaîne(sTousDocuments, nCpt, RC)

Sablier()

TANTQUE sCheminDocument <> EOT

i+=1

SELON i

CAS 1

Photo1=sCheminDocument

CAS 2

Photo2=sCheminDocument

CAS 3

Photo3=sCheminDocument

CAS 4

Photo4=sCheminDocument

FIN

FIN

Sablier(Faux)
Posted on April, 12 2006 - 5:04 PM
J'ai corrigé de moi meme. Il me reste cependant encore une modification : si
le champ image <>"" alors on affecte dans le suivant...

Voici le code :

sCheminDocument est une chaîne

sNouveauChemin est une chaîne

sExtension est une chaîne

sTousDocuments est une chaîne

nCpt est un entier

i=0

//Initialisation des variables

sTousDocuments = fSélecteur("", "", "Sélectionnez un fichier...",
fFiltreImage(), "*.bmp", fselOuvre+fselExiste+fselMulti)

nCpt = 1

//Parcours de chaque document

sCheminDocument = ExtraitChaîne(sTousDocuments, nCpt, RC)

Sablier()

TANTQUE sCheminDocument <> EOT

i+=1

nCpt=i

sCheminDocument = ExtraitChaîne(sTousDocuments, nCpt, RC)

SELON i

CAS 1

Photo1=sCheminDocument

CAS 2

Photo2=sCheminDocument

CAS 3

Photo3=sCheminDocument

CAS 4

Photo4=sCheminDocument

CAS 5

Photo5=sCheminDocument

CAS 6

Photo6=sCheminDocument

CAS 7

Photo7=sCheminDocument

CAS 8

Photo8=sCheminDocument

CAS 9

Photo9=sCheminDocument

CAS 10

Photo10=sCheminDocument

FIN

FIN

Sablier(Faux)
Posted on April, 12 2006 - 5:08 PM
Facile, tu n'affectes pas sCheminDocument dans la boucle, et tu n'incrémente pas nCpt non plus...

D'ailleurs:
i+=1
SELON i
CAS 1
Photo1=sCheminDocument
CAS 2
Photo2=sCheminDocument
CAS 3
Photo3=sCheminDocument
CAS 4
Photo4=sCheminDocument
FIN
Peut être remplacé par :
i++
{"Photo" + i} = sCheminDocument
En sortant avant 5, bien sur.

Frédéric.
Posted on April, 12 2006 - 5:53 PM
Ok Fred... mais cette solution n'est bonne que dans le cas où à chaque fois
tu créés une nouvelle selection. Mais qu'en est-il quand le champ photo1,
photo2 ont une image... et que tu en ajoutes encore une ???




"Frédéric DEMILLY" <f.demilly@pacificpeche.fr> a écrit dans le message de
news: 443cfb5f$1@news.pcsoft.fr...

Facile, tu n'affectes pas sCheminDocument dans la boucle, et tu
n'incrémente pas nCpt non plus...

D'ailleurs:
i+=1
SELON i
CAS 1
Photo1=sCheminDocument
CAS 2
Photo2=sCheminDocument
CAS 3
Photo3=sCheminDocument
CAS 4
Photo4=sCheminDocument
FIN
Peut être remplacé par :
i++
{"Photo" + i} = sCheminDocument
En sortant avant 5, bien sur.

Frédéric.
Posted on April, 12 2006 - 6:33 PM
C'est simple, avant d'affecter l'image, tu peux tester si le champ est déjà affecté. Si oui, tu incrémentes jusqu'à en trouver un "vide":
tantque {"Photo" + i} <> ""
i++
fin
{"Photo" + i} = sCheminDocument