DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Editeurs / Editeur d'états / Sources de données
  • 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
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Etat sur un fichier texte
Présentation
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 :
  1. 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.
  2. Choisissez la présentation de votre état (tableau, fiche, étiquette, ...). Pour plus de détails, consultez Les différents types d'états.
  3. 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.
  4. Sélectionnez la source de données de l'état (option "Autre (programmation, fichier texte, zone mémoire, vue HFSQL, ...)").
  5. Sélectionnez la source de données de l'état (option "D'un fichier texte").
  6. Sélectionnez l'option "Je veux que tout soit automatique".
  7. Spécifiez le nombre de rubriques contenues dans le fichier texte. Ce nombre correspond au nombre d'informations contenues dans chaque enregistrement.
  8. 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.
    • ...
  9. 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.
  10. 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.
  11. 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.
  12. Selon le type d'état en cours de création, indiquez les options spécifiques correspondantes.
    Type d'étatOptions spécifiques
    État sur formulaireImage du formulaire, impression de l'image du formulaire, ...
    Options détaillées dans la page Etat sur formulaire
    État ÉtiquetteFormat des étiquettes, nombre d'exemplaires identiques, ...
    Options détaillées dans la page Etat Étiquette
  13. 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.
  14. Sélectionnez le gabarit de l'état si nécessaire.
  15. 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.
    WINDEV Il est également possible d'indiquer si l'état peut être modifié par l'utilisateur final sous le logiciel "Etats & Requêtes".
  16. Validez la création de l'état.
  17. 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.
  18. 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.
  19. 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 :
    1. dans les bibliothèques associées à l'application et chargées en mémoire lors de l'impression de l'état.
    2. dans le répertoire spécifié lors de la création de l'état.
    3. dans le répertoire courant.
    4. 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 :
  1. Création de l'état à l'aide de l'assistant de création.
  2. 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 :
  1. 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.
  2. Choisissez la présentation de votre état (tableau, fiche, étiquette, ...). Pour plus de détails, consultez Les différents types d'états.
  3. 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.
  4. Sélectionnez la source de données de l'état (option "Autre (programmation, fichier texte, zone mémoire, vue HFSQL, ...)").
  5. Sélectionnez la source de données de l'état (option "D'un fichier texte").
  6. Sélectionnez l'option "Je veux programmer la lecture de mon fichier".
  7. 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.
  8. 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.
  9. Sélectionnez le gabarit de l'état si nécessaire.
  10. 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.
    WINDEV Il est également possible d'indiquer si l'état peut être modifié par l'utilisateur final sous le logiciel "Etats & Requêtes".
  11. Validez la création de l'état.
  12. 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.
  13. 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.
  14. 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 :
  1. 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
  2. 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
  3. 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)
  4. 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'étatProgrammation nécessaire à la lecture du fichier texte
1. Ouverture de l'étatOuverture du fichier texte (fonction fOuvre).
2. Lecture des données de l'étatLecture de chaque ligne du fichier texte (fonction fLitLigne) et gestion de la fin du fichier texte.
3. Avant impression du bloc CorpsExtraction 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'étatFermeture 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 :
  1. 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".
  2. Affichez l'onglet "Données" de la description de l'état.
  3. Cochez l'option "Je veux programmer la lecture de mon fichier".
  4. 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 :
  1. 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".
  2. Affichez l'onglet "Données" de la description de l'état.
  3. Cochez l'option "Tout automatique".
  4. Spécifiez le nombre de rubriques contenues dans le fichier texte.
  5. 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.
    • ...
  6. 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.
  7. 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 :
  1. Paramétrer la destination de l'impression de l'état :
    • WINDEV En WINDEV, grâce à la fonction iDestination (visualisateur de rapports, impression dans un fichier HTML, ...).
    • WEBDEV - Code Serveur En WEBDEV, grâce à la fonction iDestination (impression dans un fichier HTML, ...).
    Pour plus de détails, consultez Modes d'impression d'un état.
  2. 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).
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.
WINDEVEtats et RequêtesWindows

Exemple WINDEV et WINDEV Mobile

L'état "ETAT_Client" est un état basé sur le fichier texte "Client.TXT". Ce fichier texte contient les caractéristiques des clients.
L'état "ETAT_Client" s'imprime lors d'un clic sur le bouton "BTN_Client".
Dans cet exemple, le code de clic du bouton "BTN_Client" est le suivant :
WINDEV Code WINDEV :
// Ouvrir le visualisateur de rapports
iDestination(iVisualisateur)
// Imprimer l'état ETAT_Client
iImprimeEtat(ETAT_Client)
WEBDEV - Code Serveur

Exemple WEBDEV

L'état "ETAT_Client" est un état basé sur un fichier texte "Client.txt". Ce fichier texte contient les caractéristiques des clients. Ce fichier est accessible depuis le serveur.
L'état "ETAT_Client" s'affiche dans un fichier PDF lors d'un clic sur le bouton "BTN_Client".
Dans cet exemple, le code de clic du bouton "BTN_Client" est le suivant :
// Génère un nom de fichier PDF unique
NomFicUnique est une chaîne = fRepWeb() + "\" + "ETAT_Client_" + DateSys() + HeureSys() + ".pdf"
// Paramètre la destination de l'impression
iDestination(iPDF, NomFicUnique)
// Imprime l'état ETAT_Client
iImprimeEtat(ETAT_Client)
// Envoie le fichier dans le navigateur
FichierAffiche(NomFicUnique, "application/pdf")
// Supprime le fichier
fSupprime(NomFicUnique)
Liste des exemples associés :
WD Etats 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, ...)
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 30/06/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale