- Présentation
- Utiliser l'assistant de création d'un état sur un fichier texte
- Création d'un état sur un fichier texte avec lecture automatique des enregistrements
- Caractéristiques du fichier texte lors du déploiement de l'application
- Programmer entièrement la lecture des enregistrements
- Présentation
- Créer un état sur un fichier texte avec lecture programmée des enregistrements
- Programmer la lecture des enregistrements
- Ordre d'exécution des différents événements WLangage
- Modifier la méthode de lecture des enregistrements d'un état sur un fichier texte
- Imprimer un état sur un fichier texte
- Exemple WINDEV et WINDEV Mobile
- Exemple WEBDEV
Etat sur un fichier texte
Dans un état sur un fichier texte, les informations à imprimer sont lues dans un fichier au format texte et sont directement affectées dans les champs de l'état. Ce type d'état convient particulièrement lorsque les informations à imprimer sont présentes dans un fichier au format texte (exportation de données depuis Excel par exemple). Caractéristiques d'un état sur un fichier texte : Chaque ligne du fichier texte doit correspondre à un enregistrement. Chaque ligne contient plusieurs informations, appelées rubriques. Chaque rubrique est séparée par un séparateur.
Pour créer un état sur un fichier texte, il est possible : - soit d'utiliser l'assistant de création d'un état sur un fichier texte. La création de l'état et la lecture des enregistrements sont automatiquement réalisées par l'éditeur d'états. Aucune programmation n'est nécessaire.
- soit de programmer entièrement la lecture des enregistrements. La création de l'état est simplifiée grâce à l'assistant de création des états. Cependant, la lecture des enregistrements dans le fichier texte nécessite une programmation complète en WLangage.
Lorsque l'état sur un fichier texte est créé, il est possible à tout moment de : - modifier la source de données de l'état (onglet "Données" de la description de l'état).
- modifier la méthode de lecture des enregistrements de l'état (lecture automatique ou programmée). Pour plus de détails, consultez Modifier la méthode de lecture des enregistrements d'un état sur un fichier texte.
- ajouter ou supprimer des champs Rubriques liés au fichier texte associé à l'état.
Utiliser l'assistant de création d'un état sur un fichier texte Création d'un état sur un fichier texte avec lecture automatique des enregistrements Pour créer un état sur un fichier texte avec lecture automatique des enregistrements : - Cliquez sur
parmi les boutons d'accès rapide. - La fenêtre de création d'un nouvel élément s'affiche : cliquez sur "Etat" puis sur "Etat".
- L'assistant de création d'un état s'affiche.
- Choisissez la présentation de votre état (tableau, fiche, étiquette, ...). Pour plus de détails, consultez Les différents types d'états.
- Sélectionnez si nécessaire le modèle d'états à utiliser. Un modèle d'états permet de respecter une mise en page spécifique. Pour plus de détails sur les modèles d'états, consultez Les modèles d'états.
- Sélectionnez la source de données de l'état (option "Autre (programmation, fichier texte, zone mémoire, vue HFSQL, ...)").
- Sélectionnez la source de données de l'état (option "D'un fichier texte").
- Sélectionnez l'option "Je veux que tout soit automatique".
- Spécifiez le nombre de rubriques contenues dans le fichier texte. Ce nombre correspond au nombre d'informations contenues dans chaque enregistrement.
- Spécifiez le séparateur utilisé pour séparer les rubriques d'un enregistrement :
- "TAB" si le séparateur correspond à une tabulation.
- ";" si le séparateur correspond à un point-virgule.
- ":" si le séparateur correspond à deux points.
- ...
- Sélectionnez le fichier texte contenant les enregistrements.
Remarques :- Les libellés des rubriques ne doivent pas être spécifiés dans ce fichier texte. Par exemple :
- Lors du déploiement d'une application contenant un état sur un fichier texte avec lecture automatique des enregistrements, certaines règles doivent être respectées. Pour plus de détails, consultez le paragraphe Caractéristiques du fichier texte lors du déploiement de l'application.
- Pour chaque rubrique du fichier texte affiché dans l'état :
- saisissez le libellé correspondant. Ce libellé sera affiché :
- soit avant la rubrique. Par exemple :
- soit dans l'entête de la colonne (cas des états Tableau). Par exemple :Ce libellé pourra être modifié directement sous l'éditeur d'états.
- sélectionnez le bloc dans lequel le champ associé à la rubrique doit être imprimé. La position des différents champs pourra être modifiée directement sous l'éditeur d'états. Pour plus de détails sur les différents blocs et sur leur position dans un état, consultez Blocs d'un état.
- Modifiez si nécessaire l'ordre d'affichage des différents champs dans l'état à l'aide des boutons fléchés à droite du tableau.
- Selon le type d'état en cours de création, indiquez les options spécifiques correspondantes.
| | Type d'état | Options spécifiques |
---|
État sur formulaire | Image du formulaire, impression de l'image du formulaire, ... Options détaillées dans la page Etat sur formulaire | État Étiquette | Format des étiquettes, nombre d'exemplaires identiques, ... Options détaillées dans la page Etat Étiquette |
- Spécifiez le format de la feuille sur laquelle l'état va être imprimé. Par défaut, l'état est imprimé sur une feuille au format A4.
Remarque : Par défaut, les champs de l'état sont disposés sur une seule colonne. Pour réaliser un état multicolonne, il suffit de spécifier le nombre de colonnes voulues dans l'onglet "Format" de la fenêtre de description de l'état. - Sélectionnez le gabarit de l'état si nécessaire.
- Saisissez le nom et le titre de l'état (nom du fichier ".WDE" correspondant à l'état). Ce nom permettra d'identifier l'état dans vos programmes.
Il est également possible d'indiquer si l'état peut être modifié par l'utilisateur final sous le logiciel "Etats & Requêtes". - Validez la création de l'état.
- L'éditeur d'états propose automatiquement de changer le format de l'état utilisé si les conditions suivantes sont réunies :
- l'état en cours de création comporte un tableau.
- le format de l'état ne permet pas d'afficher l'ensemble des colonnes du tableau.
- Si nécessaire, indiquez le mode de réduction de l'état :
- Imprimer l'état sur plusieurs pages. Dans ce cas, l'utilisateur final devra assembler les pages. Pour plus de détails, consultez Impression multipage.
- Utiliser le mode paysage.
- Réduire l'état par rapport à l'original. Attention : selon le pourcentage de réduction choisi, l'état imprimé pourra devenir illisible.
- L'état en cours de création s'affiche sous l'éditeur d'états.
Caractéristiques du fichier texte lors du déploiement de l'application Lors du déploiement d'une application contenant un état sur un fichier texte, les trois cas suivants peuvent se présenter : - Si le fichier texte est fourni avec l'application, il est conseillé d'inclure ce fichier texte dans la bibliothèque de l'application.
Attention : Le contenu de ce fichier ne pourra pas être modifié sur le poste de l'utilisateur final. - Si le contenu du fichier texte risque d'être modifié sur le poste de l'utilisateur final, lors de l'impression de l'état, le fichier texte sera recherché sur le poste de l'utilisateur final dans l'ordre suivant :
- dans les bibliothèques associées à l'application et chargées en mémoire lors de l'impression de l'état.
- dans le répertoire spécifié lors de la création de l'état.
- dans le répertoire courant.
- dans le répertoire d'installation de l'application.
- Si le fichier texte spécifié lors de la création de l'état est différent de celui utilisé par l'utilisateur final (chemin et nom différent), l'utilisateur devra sélectionner le fichier grâce à un sélecteur de fichiers. Après sélection du fichier texte, il est par exemple possible d'effectuer les opérations suivantes :
- récupérer le nom et le chemin du texte sélectionné par l'utilisateur dans une variable.
- modifier la source de données de l'état grâce à la propriété NomSource.
Programmer entièrement la lecture des enregistrements Présentation Pour créer un état sur un fichier texte en programmant entièrement la lecture des enregistrements, deux étapes sont nécessaires : - Création de l'état à l'aide de l'assistant de création.
- Programmation de la lecture des enregistrements.
Créer un état sur un fichier texte avec lecture programmée des enregistrements Pour créer un état sur un fichier texte avec lecture programmée des enregistrements : - Cliquez sur
parmi les boutons d'accès rapide. - La fenêtre de création d'un nouvel élément s'affiche : cliquez sur "Etat" puis sur "Etat".
- L'assistant de création d'un état s'affiche.
- Choisissez la présentation de votre état (tableau, fiche, étiquette, ...). Pour plus de détails, consultez Les différents types d'états.
- Sélectionnez si nécessaire le modèle d'états à utiliser. Un modèle d'états permet de respecter une mise en page spécifique. Pour plus de détails sur les modèles d'états, consultez Les modèles d'états.
- Sélectionnez la source de données de l'état (option "Autre (programmation, fichier texte, zone mémoire, vue HFSQL, ...)").
- Sélectionnez la source de données de l'état (option "D'un fichier texte").
- Sélectionnez l'option "Je veux programmer la lecture de mon fichier".
- Si l'état en cours de création :
- comporte un tableau (état de type Tableau ou de type Tableau + Graphe) :
- spécifiez le nombre de colonnes présentes dans le tableau.
- pour chaque colonne, spécifiez le libellé et le type de la valeur imprimée.
- modifiez si nécessaire l'ordre des différentes colonnes.
- est un état sur formulaire, il est nécessaire de spécifier des options spécifiques au formulaire (l'image du formulaire, l'impression de l'image du formulaire, ...). Ces options sont détaillées dans la page Etat sur formulaire.
- est un état Étiquette, il est nécessaire de spécifier des options spécifiques aux étiquettes (format des étiquettes, nombre d'exemplaires identiques, ...). Ces options sont détaillées dans la page Etat Étiquette.
- Spécifiez le format de la feuille sur laquelle l'état va être imprimé. Par défaut, l'état est imprimé sur une feuille au format A4.
Remarque : Par défaut, les champs de l'état sont disposés sur une seule colonne. Pour réaliser un état multicolonne, il suffit de spécifier le nombre de colonnes voulues dans l'onglet "Format" de la fenêtre de description de l'état. - Sélectionnez le gabarit de l'état si nécessaire.
- Saisissez le nom et le titre de l'état (nom du fichier ".WDE" correspondant à l'état). Ce nom permettra d'identifier l'état dans vos programmes.
Il est également possible d'indiquer si l'état peut être modifié par l'utilisateur final sous le logiciel "Etats & Requêtes". - Validez la création de l'état.
- L'éditeur d'états propose automatiquement de changer le format de l'état utilisé et/ou de réduire le tableau si les conditions suivantes sont réunies :
- le format de l'état ne permet pas d'afficher l'ensemble des colonnes du tableau.
- l'état en cours de création comporte un tableau.
- Si nécessaire, indiquez le mode de réduction de l'état :
- Imprimer l'état sur plusieurs pages. Dans ce cas, l'utilisateur final devra assembler les pages. Pour plus de détails, consultez Impression multipage.
- Utiliser le mode paysage.
- Réduire l'état par rapport à l'original. Attention : selon le pourcentage de réduction choisi, l'état imprimé pourra devenir illisible.
- L'état en cours de création s'affiche sous l'éditeur d'états.
Programmer la lecture des enregistrements La programmation nécessaire à la lecture des enregistrements est illustrée par l'exemple suivant: L'ensemble des informations à imprimer est contenu dans le fichier Produit.TXT. Chaque ligne du fichier correspond à un enregistrement. Les données sont affichées dans des champs rubriques. Les différentes rubriques sont séparées par des tabulations ("TAB").
Pour programmer la lecture des enregistrements, la méthode est la suivante : - Ouverture du fichier texte dans l'événement "Ouverture" de l'état (fonction fOuvre).
Remarque : Les libellés des rubriques ne doivent pas être spécifiés dans ce fichier texte.
GLOBAL gfsLigne est une chaîne = "" gfnIDFichier est un entier = 0   // Identifiant du fichier texte LOCAL sFichierTexte est une chaîne = fRepEnCours() + "\Etats\Produit.txt" gfnIDFichier = fOuvre(sFichierTexte, foLecture)   // Ouvrir le fichier texte SI gfnIDFichier = -1 ALORS Erreur(ErreurInfo()) iFermeEtat()    // Arrêter le traitement de l'état FIN - Dans l'événement "Lecture des données de l'état" :
- Lecture de chaque ligne du fichier texte (fonction fLitLigne).
- Gestion de la fin du fichier texte. Selon le cas, les valeurs suivantes sont renvoyées :
- Vrai : fin du fichier non atteinte (étape 3 exécutée).
- Faux : fin du fichier atteinte (étape 4 exécutée).
// Extraire les données du fichier pour les afficher dans l'état gfsLigne = fLitLigne(gfnIDFichier) // Fin du fichier atteinte ? SI gfsLigne = EOT OU gfsLigne = "" ALORS RENVOYER Faux SINON RENVOYER Vrai FIN
- L'événement "Avant impression" du bloc CORPS permet de gérer les enregistrements du fichier :
- Extraction des différentes rubriques de l'enregistrement en cours (fonction ExtraitChaîne).
- Affectation des valeurs extraites dans les champs de l'état.
nPrix est un entier = 0 nPrix = ExtraitChaîne(gfsLigne, 4, TAB) // Initialiser les colonnes du tableau RUB_Référence = ExtraitChaîne(gfsLigne, 2, TAB) RUB_Description = ExtraitChaîne(gfsLigne, 3, TAB) RUB_Prix = nPrix RUB_Codebarre = ExtraitChaîne(gfsLigne, 5, TAB) RUB_Famille = ExtraitChaîne(gfsLigne, 6, TAB)
- L'événement "Fermeture" de l'état permet de fermer le fichier texte lorsque la fin de ce fichier est atteinte (fonction fFerme).
// Fermer le fichier fFerme(gfnIDFichier)
Ordre d'exécution des différents événements WLangage L'ordre d'exécution des différents événements WLangage permettant de lire les enregistrements est présenté dans le tableau suivant : | | Ordre d'exécution des événements de l'état | Programmation nécessaire à la lecture du fichier texte |
---|
1. Ouverture de l'état | Ouverture du fichier texte (fonction fOuvre). | 2. Lecture des données de l'état | Lecture de chaque ligne du fichier texte (fonction fLitLigne) et gestion de la fin du fichier texte. | 3. Avant impression du bloc Corps | Extraction des différentes rubriques de l'enregistrement en cours (fonction ExtraitChaîne) et affectation des valeurs extraites dans les champs de l'état. | 4. Fermeture de l'état | Fermeture du fichier texte (fonction fFerme). |
Modifier la méthode de lecture des enregistrements d'un état sur un fichier texte Lorsque l'état sur un fichier texte est créé, il est possible à tout moment de modifier la méthode de lecture des enregistrements (lecture automatique ou programmée). Cette méthode est définie dans l'onglet "Données" de la description de l'état. Pour passer d'une lecture automatique à une lecture programmée : - Affichez la fenêtre de description de l'état en utilisant une des méthodes suivantes :
- option "Description de l'état" du menu contextuel de l'état.
- sous le volet "Modification", cliquez sur l'icône de regroupement
du groupe "Etat".
- Affichez l'onglet "Données" de la description de l'état.
- Cochez l'option "Je veux programmer la lecture de mon fichier".
- Programmez la lecture des enregistrements. Pour plus de détails, consultez le paragraphe Programmer la lecture des enregistrements.
Pour passer d'une lecture programmée à une lecture automatique : - Affichez la fenêtre de description de l'état en utilisant une des méthodes suivantes :
- option "Description de l'état" du menu contextuel de l'état.
- sous le volet "Modification", cliquez sur l'icône de regroupement
du groupe "Etat".
- Affichez l'onglet "Données" de la description de l'état.
- Cochez l'option "Tout automatique".
- Spécifiez le nombre de rubriques contenues dans le fichier texte.
- Spécifiez le séparateur utilisé pour séparer les différentes rubriques :
- "TAB" si le séparateur correspond à une tabulation.
- ";" si le séparateur correspond à un point-virgule.
- ":" si le séparateur correspond à deux points.
- ...
- Sélectionnez le fichier texte contenant les enregistrements.
Remarques :- Les libellés des rubriques ne doivent pas être spécifiés dans ce fichier texte. Par exemple :
- Lors du déploiement d'une application contenant un état sur un fichier texte avec lecture automatique des enregistrements, certaines règles doivent être respectées. Pour plus de détails, consultez le paragraphe Caractéristiques du fichier texte lors du déploiement de l'application.
- Supprimez l'ensemble des lignes de codes spécifiques à la lecture des enregistrements.
Imprimer un état sur un fichier texte L'impression d'un état sur un fichier texte est identique quel que soit le type de lecture des enregistrements (automatique ou programmée). Il suffit de : - Paramétrer la destination de l'impression de l'état :
En WINDEV, grâce à la fonction iDestination (visualisateur de rapports, impression dans un fichier HTML, ...). En WEBDEV, grâce à la fonction iDestination (impression dans un fichier HTML, ...). Pour plus de détails, consultez Modes d'impression d'un état. - Préciser le nom de l'état à imprimer grâce à la fonction iImprimeEtat.
Remarques : - Si des paramètres supplémentaires doivent être passés à l'état, ces paramètres doivent être indiqués dans la fonction iImprimeEtat, après le nom de l'état à imprimer.
- La propriété NomSource utilisée dans le code de l'état permet de connaître et de changer le nom du fichier texte associé à l'état (dans le cas où la lecture des enregistrements est automatique).
![](https://doc.pcsoft.fr/ext/images/fr/note_v2.png?478445243) Sous le logiciel Etats & Requêtes, il est possible d'imprimer un état : - soit en lançant une impression (icône
). - soit en testant l'état (icône
).
Il n'est donc pas nécessaire de programmer l'impression de l'état.
Liste des exemples associés :
|
Exemples didactiques (WINDEV) : WD Etats
[ + ] Cet exemple montre les différentes méthodes pour réaliser un état : - impressions basées sur différentes sources de données (requêtes, variables, ...) - impressions basées sur des champs (Table, Tableur, TCD, ...) - impression d'états composés - impressions spécifiques (portrait / paysage, état avec filigrane, état avec code-barres, ...)
|
Documentation également disponible pour…
|
|
|