|
Débuté par Mustapha, 15 avr. 2019 11:58 - 8 réponses |
| |
| | | |
|
| |
Membre enregistré 48 messages Popularité : -1 (3 votes) |
|
Posté le 15 avril 2019 - 11:58 |
Bonjour Je travail sur une application windev j’utilise un code qui consiste a afficher une liste de tous les MP4 qui se trouvent dans un répertoire dans une ZoneRépétée avec un libbelé qui affiche le nom et un autre qui affiche le chemain. dans mon code sa ne donne rien, quand j'utilise pour un type image sa marche mais pas dans un type MP4
UnFichier, ResListeFichier , Extention sont des chaînes tabChaine est un tableau de chaînes = [".MP4"] Indice est un entier=0
sCheminFichier est une chaîne
ResListeFichier = fListeFichier("C:\Users\mustapha.bradai\Videos\Video\*.*", frRécursif + frInterruptible)
sCheminFichier = ResListeFichier
ZoneRépétéeSupprimeTout(ZR_ZoneRépétée)
POUR TOUTE chaîne UnFichier de ResListeFichier SEPAREE PAR RC Extention=(fExtraitChemin(UnFichier,fFichier+fExtension)) SI Contient(Extention, tabChaine) ZoneRépétéeAjoute(ZR_ZoneRépétée) Indice = ZoneRépétéeOccurrence(ZR_ZoneRépétée) ZR_ZoneRépétée[Indice].LIB_SansNom1=UnFichier ZR_ZoneRépétée[Indice].LIB_SansNom2=ExtraitChaîne(LIB_SansNom1,6, ["\"]) FIN FIN ZoneRépétéeAffiche(ZR_ZoneRépétée)
|
| |
| |
| | | |
|
| | |
| |
Membre enregistré 136 messages Popularité : +12 (14 votes) |
|
Posté le 15 avril 2019 - 12:14 |
Bonjour, Je viens de testet ton code en WD24 (63e) sans problème
Attention cependant : la fonction Contient est par défaut sensible à la casse. Essaiye de rajouter un l'option Sans casse :
SI Contient(Extention, tabChaine,SansCasse) |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 48 messages Popularité : -1 (3 votes) |
|
Posté le 15 avril 2019 - 12:58 |
Merci sa a marcher mais il me donne seulement le 1er MP4 trouver et que moi j'ai 6 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 136 messages Popularité : +12 (14 votes) |
|
Posté le 15 avril 2019 - 14:19 |
Ben chez moi j'ai bien plusieurs lignes !
T'as vérifié dans la description de la ZR que t'as bien un contenu "par programmation" et que le champ est assez haut pour contenir plus d'une ligne ( ou que l'ascenseur vertical est bien activé) ?
Verifie aussi qu'il n'y a pas de caractères blancs dans l'extension |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 352 messages Popularité : +12 (18 votes) |
|
Posté le 16 avril 2019 - 09:11 |
Bonjour, je vois que vous faites à la fois appel à ZoneRépétéeAjoute(ZR_ZoneRépétée) et à ZoneRépétéeAffiche(ZR_ZoneRépétée) pour alimenter votre ZR. Si le champ est alimenté par programmation, il est inutile de faire appel à ZoneRépétéeAffiche. Si le champ est alimenté par binding, il est inutile de faire appel à ZoneRépétéeAjoute (ou à ZoneRépétéeAjouteLigne) mais il faut alimenter la source de données, reste à identifier comment le binding se fait (variable, fichier HF, ...), mais compte tenu que le champ contient 1 seule ligne, vous procédez par binding. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 48 messages Popularité : -1 (3 votes) |
|
Posté le 16 avril 2019 - 10:50 |
Bonjour Ma zone répéter es alimenter par programmation mon erreur actuel c'est que le nom de chaque MP4 trouver donne le mémé résultat c'est le nom du 1er fichier afficher J'ai utiliser cet ligne de code pour afficher le nom :
ZR_ZoneRépétée[Indice].LIB_SansNom2=ExtraitChaîne(LIB_SansNom1,6, ["\"]) |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 136 messages Popularité : +12 (14 votes) |
|
Posté le 16 avril 2019 - 11:08 |
Il faudrait écrire :
ZR_ZoneRépétée[Indice].LIB_SansNom2=ExtraitChaîne(ZR_ZoneRépétée[Indice].LIB_SansNom1,6, ["\"])
Sinon LIB_SansNom1 seul représente le champ du modèle de ZR et pas le champ de la ligne de ZRMessage modifié, 16 avril 2019 - 11:09 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 939 messages Popularité : +66 (68 votes) |
|
Posté le 16 avril 2019 - 11:17 |
bonjour Mustapha,
alors , plusieurs petit truc ,
Extention=(fExtraitChemin(UnFichier,fFichier+fExtension))
votre variable va contenir le nom du fichier + l'extension
à remplacer par
Extention=(fExtraitChemin(UnFichier,fExtension))
ZR_ZoneRépétée[Indice].LIB_SansNom1=UnFichier ZR_ZoneRépétée[Indice].LIB_SansNom2=ExtraitChaîne(LIB_SansNom1,6, ["\"]) UnFichier contient le nom complet du fichier et son chemin et le Extraitchaine est un peu trop 'en dur' , car le moindre changement de dossier, et le extraitchaine de 6 ne fonctionne plus il faut réutiliser la fonction Fextraitchemin()
ZR_ZoneRépétée[Indice].LIB_SansNom1=fExtraitChemin(UnFichier,fDisque+fRépertoire) ZR_ZoneRépétée[Indice].LIB_SansNom2=fExtraitChemin(UnFichier,fFichier+fExtension)
Par contre, je verrais plutôt l'utilisation des attributs pour votre zone répétée. Dans la description de votre zone répétée, ajoutez deux attributs, un pour votre premier libellé et un autre pour le second. du genre ATTR_Chemin et ATTR_NomFichier
et utilisez la fonction ZoneRépétéeAjouteLigne()
du genre :
POUR TOUTE chaîne UnFichier de ResListeFichier SEPAREE PAR RC
Extention=(fExtraitChemin(UnFichier,fExtension))
SI Contient(Extention, tabChaine,SansCasse) ZoneRépétéeAjouteLigne(ZR_ZoneRépétée,fExtraitChemin(UnFichier,fDisque+fRépertoire),fExtraitChemin(UnFichier,fFichier+fExtension)) FIN FIN
ZoneRépétéeAffiche(ZR_ZoneRépétée) ne sert à rien dans votre cas...
bon dèv |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 48 messages Popularité : -1 (3 votes) |
|
Posté le 16 avril 2019 - 12:25 |
Merci sa a marcher et voila mon code :
UnFichier, ResListeFichier , Extention sont des chaînes tabChaine est un tableau de chaînes = [".MP4"] Indice est un entier=0
sCheminFichier est une chaîne ResCréation est un booléen
ResCréation = fRepCrée("\Videos")
ResListeFichier = fListeFichier("\Videos\*.*", frRécursif + frInterruptible)
sCheminFichier = ResListeFichier
ZoneRépétéeSupprimeTout(ZR_ZoneRépétée)
POUR TOUTE chaîne UnFichier de ResListeFichier SEPAREE PAR RC Extention=(fExtraitChemin(UnFichier,fFichier+fExtension)) SI Contient(Extention, tabChaine,SansCasse) ZoneRépétéeAjoute(ZR_ZoneRépétée) Indice = ZoneRépétéeOccurrence(ZR_ZoneRépétée) ZR_ZoneRépétée[Indice].LIB_SansNom1=UnFichier ZR_ZoneRépétée[Indice].LIB_SansNom2=fExtraitChemin(UnFichier,fFichier+fExtension) FIN FIN ZoneRépétéeAffiche(ZR_ZoneRépétée)
|
| |
| |
| | | |
|
| | | | |
| | |
|