PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Filtre dans un fichier INI ajout dans tableau
Filtre dans un fichier INI ajout dans tableau
Débuté par Yann LE BOULC'H, 23 jan. 2025 12:23 - 7 réponses
Membre enregistré
154 messages
Posté le 23 janvier 2025 - 12:23
Bonjour à toutes et tous,

J'ai un petit projet qui consiste à liste les actions d'un collègue en fonction du jour.

J'aimerai qu'il utilise un bouton pour filtrer le jour et que cela apparaisse dans une ligne d'un tableau en dessous.





Je pars d'un fichier INI avec un section par jour et plusieurs actions :





Sur une seule ligne du tableau mais sur plusieurs colonnes, je voudrais y voir les actions, le liens, les heures de début et de fin

J'ai commencé ce bout de code pour le bouton LUNDI mais je m'y perd :

sNomFichierINI est une chaîne = fRepExe + "\homme_de_prod.ini"

sSection est une chaîne = "Lundi" // Remplacez par le nom de votre section
sClé est une chaîne
sValeur est une chaîne
iIndex est un entier = 1

// Initialiser le tableur (ex: Tableau1)
TABLE_Actions_HDP..Ligne = 0 // Réinitialiser le tableau

// Lire les clés de la section et les afficher dans le tableur
TANT_QUE Vrai
sClé = INILit(sNomFichierINI, sSection,"", iIndex) // Lire la clé
SI sClé = "" ALORS // Si aucune clé n'est trouvée, sortir de la boucle
RETOUR
FIN


Le code pour initialiser le tableau à vide n'est pas bon, idem pour TANT QUE, etc...

Un grand merci pour votre aide.

Yann
Membre enregistré
154 messages
Posté le 23 janvier 2025 - 13:26
Chaque bouton ira lire sa section du fichier INI et l'affichera sur une seule ligne d'un tableau (x colonnes). Une ligne pour le LUNDI avec Actions1, liens1, heuredebut1, etc sur x colonnes...
Une deuxième ligne du LUNDI avec Actions2, liens2, etc... sur x colonnes
Membre enregistré
762 messages
Posté le 23 janvier 2025 - 16:12
Bonjour,
vous n'avez pas la bonne syntaxe :

INILit(sSection , "Lien1", "", sNomFichierINI)


Si c'est bien un champ table :
TableSupprimeTout(TABLE_Actions_HDP)


PS : Soyez plus précis dans les termes, vous utilisez Table, Tableau, Tableur

Cdlt
Message modifié, 23 janvier 2025 - 16:21
Membre enregistré
154 messages
Posté le 23 janvier 2025 - 16:18
Alors j'ai pu avancer en modifiant la structure du fichier INI :





J'ai créé un bouton LUNDI" sauf que j'ai besoin de vous pour filtrer que les lignes commençant par "1-Lundi", idem pour le bouton MARDI, etc...

sNomFichierINI est une chaîne = fRepExe + "\homme_de_prod.ini"

sfichier est une chaîne = fChargeBuffer(sNomFichierINI)

POUR TOUTE chaîne sMot de sfichier SEPAREE PAR RC
TABLE_TacheHDP.AjouteLigne(ExtraitChaîne(sMot,1,","),ExtraitChaîne(sMot,2,","))
FIN


Comment puis je filtrer mes lignes svp ?
Membre enregistré
762 messages
Posté le 23 janvier 2025 - 16:25
ça n'est plus un fichier ini, essayez avec la réponse, mais pour la première version du fichier ini

Pour filtrer sur la nouvelle version :
TableActiveFiltre
Message modifié, 23 janvier 2025 - 16:27
Membre enregistré
154 messages
Posté le 23 janvier 2025 - 16:39
J'suis désolé messieurs, il est vrai que j'ai du avancer dans la journée et j'ai changé mon fusil d'épaule.

Là faut juste que j'arrive à filtrer dans mon fichier ini par jour.
Membre enregistré
762 messages
Posté le 23 janvier 2025 - 16:49
Pour filtrer, vous avez la réponse.

Pour le fichier ini, vous faites ce que vous voulez.
Un fichier externe (texte) fait très bien l'affaire, je voulais juste préciser qu'un fichier Ini à des sections auxquelles on peut accéder directement, comme dans votre première version.

Cdlt
Membre enregistré
154 messages
Posté le 23 janvier 2025 - 16:56
Merci encore car effectivement, le filtrage via TableActiveFiltre fonctionne à merveille

POUR TOUTE chaîne sMot de sfichier SEPAREE PAR RC
TABLE_TacheHDP.AjouteLigne(ExtraitChaîne(sMot,1,","),ExtraitChaîne(sMot,2,","),ExtraitChaîne(sMot,3,","),ExtraitChaîne(sMot,4,","),ExtraitChaîne(sMot,5,","),ExtraitChaîne(sMot,6,","),ExtraitChaîne(sMot,7,","))
TableActiveFiltre(TABLE_TacheHDP.COL_Jour, filtreCommencePar, "1-Lundi")
FIN