IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

[Etats][Débutant] Ajouter des lignes à un tableau [WD9]


Sujet :

WinDev

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 71
    Points : 52
    Points
    52
    Par défaut [Etats][Débutant] Ajouter des lignes à un tableau
    Bonjour,
    Je developpe sous windev depuis deux jours, et on me demande, à partir des informations saisies par l'utilisateur, de sortir un beau bon de commande sur l'imprimante.

    Je me suis renseigné et je vois qu'un état avec tableau semble adapté.

    Seulement pour imprimer, ou modifier une ligne de tableau, ça va,
    mais je n'ai toujours qu'une seule ligne.

    En effet, dans mon application l'utilisateur peut saisir autant de produits à commander qu'il veut, ils doivent donc tous apparaitre sur le bon.

    J'aimerais donc savoir comment, par programmation, remplir le tableau d'un état.

    Je précise que je débute juste, tout cela est donc assez flou pour moi.


    Merci

  2. #2
    Membre actif Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Points : 217
    Points
    217
    Par défaut
    Pour répondre au mieux, peux tu me dire qu'elle est ta source de données ?

    Est ce des éléments dans une table graphique ( dans ton appli ) ? une base de données ( Hyperfile ou autres ... )

    Voilà dès que j'aurai ta réponse je t'explique

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 71
    Points : 52
    Points
    52
    Par défaut
    aie aie aie lol.
    En fait, c'est a partir d'un fichier, mais il n'est pas exploitable directement, car nom formaté.
    Je vais donc récupérer ce quil me faut dans le fichier, placer ca dans des variables, et je voudrais ensuite ajouter des lignes au tableau directement.

    J'ai donc choisi une source de donnée programmée, mais je ne sais pas comment ajouter des lignes.

    J'espere etre assez clair

    Merci

  4. #4
    Membre actif Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Points : 217
    Points
    217
    Par défaut
    WinDev permet de créer des états grâce à l'éditeur d'états. Les états peuvent être créés à partir de données issues :

    d'un fichier de données présent dans une analyse WinDev .
    du résultat d'une requête .
    d'une vue sur un fichier Hyper File .
    d'une zone mémoire .
    d'un champ Table présent dans une fenêtre WinDev .
    d'un fichier de type texte .
    d'une requête SQL via une connexion (ODBC, Accès Natif, ...)
    Peux alors 3 solutions :
    - tu crées une zone mémoire ( mais je te sens pas sur ce coup là )
    - tu formates ton fichier avec des séparateurs et tout
    - tu t'emmer... pas et tu affiches d'abord dans une Fenetre classique.


    Fenetre classique ( plus simple dans ton cas - même si c'est une combine mais faut pas le dire ) :
    - Tu crées une nouvelle fenetre avec une table. Tu entres tout tes valeurs dans cette table
    ( c'est super facile, MaTable.MaColonne[indice] = maVariable )
    - Tu changes la source de données de ton état et tu mets la table que tu viens de créer
    - Ensuite, tu crées un bouton qui te lance les fonctions d'impressions
    ( iAperçu ... )

    C'est de la bidouille mais c'est le plus simple ( vu que tu connais que très peu Windev... )
    En tout cas, ça marchera !!

    Si tu veux le faire autrement, ... bah ... dis le
    Et surtout montre un peu ton code et/ou capture d'écran car ce que tu fais n'est pas évident à cerner

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 71
    Points : 52
    Points
    52
    Par défaut
    Merci, je pense que je vais faire comme ca.
    Une fennetre inviisible avec une table, et les données dedans,
    puis indiquer a l'état de'utiliser la table.

    Mais la lecture de données par programmation ca marche comment alors ?

    En fait ce que je veux faire est simple,
    créé une application d'impression de bon de commande, dont les informations sont mises dans un fichier texte généré par une autre appli,
    mais formaté n'importe comment ( je ne sais pas encore comment je vais m'y prendre pour retrouver mes petis la dedans lol.

    merci pour ton aide en tout cas

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 71
    Points : 52
    Points
    52
    Par défaut
    Merci !!!
    Ca a parfaitment fonctionné;
    Jai une table invisible que je rempli, et mon etat s'en sert.

    Pour parfaire la chose, j'ai une derniere question.

    J'ai, sur mon etat, certaine zone que j'ai rajouté (de nouvelles rubriques donc), qui sont en dehors du tableau (par exemple, le numero du bon de commande).

    Prenons l'exemple du numero de commande. j'ai créé une nouvelle zone, je l'appelle 'noBon".
    Mon etat s'appelle 'etat1'.

    Depuis un bouton sur une fenetre, je voudrais mettre dans le code :
    Etat1.noBon = "trucbidule".

    La compilation passe, mais a l'exécution, il me mets que Etat1 est inconnu, alors que deux lignes plus bas, iImprime(Etat1) fonctionne.


    Comment s'y prendre donc pour modifier une zone de l'etat ?

    Merci

  7. #7
    Membre actif Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Points : 217
    Points
    217
    Par défaut
    Salut,

    Excuse le tps de réponse.
    La compilation passe, mais a l'exécution, il me mets que Etat1 est inconnu, alors que deux lignes plus bas, iImprime(Etat1) fonctionne.
    Normal l'etat n'est pas encore créer !!
    Tu ne pas lui ajouter des elements comme si tu étais dans une fenêtre.
    Pour lui donner ce genre d'infos, il faut lui passer en paramètre

    IL faut :

    1. Définir l'etat comme attendant des paramètres et les afficher :
    (il est recommandé d'utiliser une variable interne au cas où tu désirerais réutiliser ta variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //Ouverture ETAT1
    PROCEDURE Etat1 (MonNo est une chaine)
    no est une chaine = MonNo;
     
    noBon = no
    2. Passer ton argument dans la fonction iImprimeEtat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     iImprime(Etat1,"trucbidule")
    Et ça marche :-)

    Un état n'existe pas réellement, c'est juste un affichage à un moment donné, tu ne peux pas travailler dessus hors de lui même !!!

    2. Pour ta question source par programmation.
    En fait, cela signifie que c'est toi qui va la définir ultérieurement.
    Tu peux définir par programmation une zone mémoire ou une requêtes.
    Ton etat ira lire "dedans" et s'arretera quand finie.
    (surement pas tres clair mais il est presque 04h00 )

    En gros dans ton cas, je ferais une zone mémoire pour mon etat.
    Le titre "par programmation" reste assez trompeur au départ, mais logique en suite; dans le sens ou tu définis par programmation la source de l'etat.
    Sachant que la source elle même peut etre programmer ( requete particuliere, zone mémoire créer juste avnt ...)
    Le mieux est de le comprendre par soi meme et de tester.
    Si pb hésite pas

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 71
    Points : 52
    Points
    52
    Par défaut
    merci pour tout

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [IP-2010] Ajouter des lignes à un tableau extensible sans code
    Par hamzaj dans le forum InfoPath
    Réponses: 3
    Dernier message: 04/10/2011, 15h28
  2. Ajouter des lignes à un tableau dynamiquement
    Par madina dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/10/2011, 12h05
  3. ajouter des lignes dans un tableau dynamique
    Par yviii dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/06/2007, 12h15
  4. ajouter des lignes dans un tableau dynamique
    Par yviii dans le forum Windows
    Réponses: 1
    Dernier message: 20/06/2007, 11h28
  5. Réponses: 3
    Dernier message: 09/05/2007, 12h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo