Bonjour,
Je voudrais obtenir dans une table remplie par programmation les informations détaillées sur la structure des rubriques d'un fichier dont le chemin à été sélectionné dans un champ sélecteur.
A la manière de WDMAP
Qui peut m'aider.
Merci
Bonjour,
Je voudrais obtenir dans une table remplie par programmation les informations détaillées sur la structure des rubriques d'un fichier dont le chemin à été sélectionné dans un champ sélecteur.
A la manière de WDMAP
Qui peut m'aider.
Merci
Bonjour
Si tu as cherché dans l'aide tu as du voir HListeRubrique
Qu'est-ce qui te pose problème ?
Pascal H.
phapps.e-monsite.com
Bonjour,
Voici le code pour récupéré les infos par HListeRubrique
Ce qui me pose problème c'est mon NOM_FICHIER je voudrais qu'il corresponde au fichier sélectionner dans mon sélecteur(Cela peut être un fichier sans analyse, ou d'un projet différent).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 i est un entier sListeRubrique est une chaîne POUR i = 1 _A_ NOM_FICHIER..NbRubrique sListeRubrique = HListeRubrique(NOM_FICHIER,hLstDétailPlus) sListeRubrique = ExtraitChaîne(sListeRubrique, i, RC) TableAjouteLigne(TABLE_Fichier,... ExtraitChaîne(sListeRubrique,1),... //Nom rubrique ExtraitChaîne(sListeRubrique,2),... //Type (T = Texte, N = Numérique) ExtraitChaîne(sListeRubrique,3),... //Type Hyper File ExtraitChaîne(sListeRubrique,4),... //Taille de la rubrique
J'ai essayé par la déclaration d'une variable mais NbRubrique ne l'accepte pas (ref Aide).
Merci pour votre aide.
Bonjour,
Il faut utiliser une indirection sur le nom du fichier.
Tatayo.
Bonjour,
J'ai suivi vos conseils mais j'ai toujours le soucis avec NbRubrique
Erreur renvoyée:
Procédure locale FichierDonnées (FEN_Principale.PROCEDURE.FichierDonnées), ligne 17
Clic sur BTN_SEL ( SC_SelecteurFichierDonnées ) (FEN_Principale.SC_SelecteurFichierDonnées.BTN_SEL), ligne 11
Je met le code de mon Sélecteur de fichier et de ma procédure car j'ai beau chercher dans l'aide mais je ne vois pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 sSel est une chaîne sSel = fSélecteur(SAI_FIC, "Sélection d'un fichier.....", "Fichiers (*.fic)"+TAB+"*.fic", "*", fselOuvre+fselExiste) SI sSel<>"" ALORS SAI_FIC = sSel MonParent = SAI_FIC FIN SAI_NomFichier = fExtraitChemin(sSel,fFichier) // Indirection procédure NomChamp est une chaîne NomChamp = "SAI_NomFichier" // SAI_NomFichier est le nom du champ FichierDonnées(NomChamp)Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 PROCEDURE FichierDonnées(NChamp) i est un entier sListeRubrique est une chaîne POUR i = 1 _A_ {NChamp}..NbRubrique sListeRubrique = HListeRubrique({NChamp},hLstDétailPlus) //Récupère chaque rubrique du fichier... sListeRubrique = ExtraitChaîne(sListeRubrique, i, RC) //Ajout dans la table de chaque détail...(ici une table mémoire de 8 colonnes) TableAjouteLigne(TABLE_Fichier,... ExtraitChaîne(sListeRubrique,1),... //Nom rubrique ExtraitChaîne(sListeRubrique,2),... //Type (T = Texte, N = Numérique) ExtraitChaîne(sListeRubrique,3),... //Type Hyper File ExtraitChaîne(sListeRubrique,4),... //Taille de la rubrique ExtraitChaîne(sListeRubrique,5),... //Indicée /nombre d'élément du tableau) ExtraitChaîne(sListeRubrique,6),... //Libellé ExtraitChaîne(sListeRubrique,7),... //Partie entière N ExtraitChaîne(sListeRubrique,8)) //Partie décimale N FIN
Bonjour,
Je n'ai pas de réponse mais je vous suggère de remplacer votre boucle par la fonction ChaineVersTableau, qui répond précisément à votre besoin.
Ce sera beaucoup plus simple et plus lisible.
Ce qui ne vous empêche pas de tenter de trouver l'erreur, c'est comme cela qu'on apprend.
Hemgé
L'erreur se trouve dans la récupération du nom du fichier.
Je te propose de mettre un point d'arrêt après le fSelecteur, puis de bien regarder le contenu des variables.
Tatayo.
Bonjour,
Dans ma variable j'ai bien le chemin de mon fichier qui s'affiche.
Si j'ajoute sSel = fextraitchemin(sSel,ffichier) j'ai bien le nom cour mais j'ai le même problème avec la propriété NbRubriqueDésolé je vois pas l'erreur.
Merci
Je dirai que tu n'es pas allé assez loin dans le débuggage.
Va jusqu'au bout, y compris dans la procédure FichierDonnées.
Tatayo.
Hello,
Des erreurs sont présentes dans la récupération des rubriques du fichier.... voici le bout de code qui devrait se suffire à lui-meme
Cette procédure va lister les rubriques du fichier et les placer dans la table. Ceci est un exemple de récupération des rubriques d'un fichier détaillé dans l'analyse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Procedure AfficheRubriqueFichier(_NomFichier) sIndice est un entier sListeRubrique est une chainesListeRubrique = HListeRubrique(_NomFichier,hLstDétailPlus) pour tout chaine sRubrique de sListeRubrique separee par RC nIndice = tableajouteligne(TableFichier) si nindice <> -1 alors //Ajout dans la table de chaque détail...(ici une table mémoire de 8 colonnes) TableFichier.col_Nom[nindice] = ExtraitChaîne(sListeRubrique,1) //Nom rubrique TableFichier.col_Type[nindice] = ExtraitChaîne(sListeRubrique,2) //Type (T = Texte, N = Numérique) TableFichier.col_RypeHyperFile[nindice] = ExtraitChaîne(sListeRubrique,3) //Type Hyper File TableFichier.col_Taille[nindice] = ExtraitChaîne(sListeRubrique,4)//Taille de la rubrique TableFichier.col_Indice[nindice] = ExtraitChaîne(sListeRubrique,5) //Indicée /nombre d'élément du tableau) TableFichier.col_Libelle[nindice] = ExtraitChaîne(sListeRubrique,6) //Libellé TableFichier.col_PartieEntiere[nindice] = ExtraitChaîne(sListeRubrique,7)//Partie entière N TableFichier.col_PartieDecimale[nindice] = ExtraitChaîne(sListeRubrique,8)) //Partie décimale N fin fin
Mais il faudra apporter des modifications pour qu'elle corresponde à tes besoins et attentes....
Et pour le reste, bon dev.
le savoir est dans les livres, 'the magic touch F1'
Amicalement
Eric
Je suis surpris que ça fonctionne...
A la place de
J'aurai plutôt vu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2NomChamp = "SAI_NomFichier"
Sinon il me semble que tu tentes d'accéder aux rubriques du fichier SAI_NomFichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 NomChamp = SAI_NomFichier
Pour accéder à un fichier hors analyse, il faut le déclarer avec hDéclareExterne().
Tatayo.
oui j'avais mon code du sélecteur fichier comme ceci désolé j'ai tellement fait de modifications que je sais plus trop ou j'en suis....
Je vais regarder du hDéclareExterne()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 sSel est une chaîne sSel = fSélecteur(SAI_FIC, "Sélection d'un fichier.....", "Fichiers (*.fic)"+TAB+"*.fic", "*",fselOuvre+fselExiste) sSel = fExtraitChemin(sSel,fFichier) SI sSel<>"" ALORS SAI_FIC = sSel MonParent = SAI_FIC FIN // Indirection procédure NomChamp est une chaîne NomChamp = sSel FichierDonnées(NomChamp)
Merci
Bonjour,
J'ai regardé du coté de HDéclareExterne
j'ai donc ajouté : HDéclareExterne(sSel,"MonFichier").
Soucis je dois mettre alias physiquement comment faire pour que cet alias soit mon sSel,fFichierj'ai regarder du coté de l' exemple WD Fichier Externe mais l'alias est déclaré pareil.
RokitDev
Bonjour,
Voici le code complet et fonctionnel avec le HDéclareExterne
RokitDev
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 sSel est une chaîne sNomFichier est une chaîne sSel = fSélecteur(SAI_FIC, "Sélection d'un fichier.....", "Fichiers (*.fic)"+TAB+"*.fic", "*",fselOuvre+fselExiste) sNomFichier = fExtraitChemin(sSel,fFichier) HDéclareExterne(sSel,sNomFichier) SI sSel<>"" ALORS SAI_FIC = sSel MonParent = SAI_FIC FIN // Indirection procédure NomChamp est une chaîne NomChamp = sNomFichier FichierDonnées(NomChamp)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager