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

 Delphi Discussion :

Capturer Form et changer format?


Sujet :

Delphi

  1. #21
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 423
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 423
    Points : 1 326
    Points
    1 326
    Par défaut
    @ jojo86 Drole de façon de procéder à mon avis, si toute tes étiquettes sont identiques tu as besoin d'un Timage, fais une procédure de copie de ton Timage jusque 8 pour remplir ta page.

    @+,

    Cincap

  2. #22
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Bah oui sa c'est déjà fait...

    Mais je pense que vous ne comprenez pas ce que je veux faire.

    J'veux faire un logiciel pour gérer les étiquettes du magasin.

    Les étiquettes seront remplies à l'aide d'un formulaire :

    Etiquette classique (affiche le prix la référence et un récapitulatif)
    Promo (raye le prix et affiche en dessous le nouveau prix)

    Les ecritures seront des TLabel que j'ajoute par programation.
    Chaque etiquette est placée dans un Panel.
    Chaque panel à la même base :

    Même taille et contient automatiquement le logo et l'image de fond...

    Au départ, l'application ne contient qu'une seul étiquette et en cliquant sur un bouton on ajoute d'autres étiquettes.

    Je ne sais toujours pas comment imprimer ma form en respectant ses proportions...

    Merci.

  3. #23
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 691
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 691
    Points : 13 121
    Points
    13 121
    Par défaut
    Bon alors, un TClientDataSet rempli à la volée et un report (Quick ou RAVE) sera certainement plus rapide et plus facile à programmer .
    Ou alors tu passes directement par un bitmap en mémoire aux dimensions de la zone d'impression de l'imprimante.

    Mais d'expérience, je peux d'ores et déjà te dire que tu vas vite te lasser de tes feuilles de N étiquettes et passer à une imprimante dédiée (style Zebra TLP) et ne travailler que sur une étiquette à la fois.

    (J'ai déjà utilisé 3 étiquettes sur la feuille et je veux la réutiliser -> Gestion des lignes, des colonnes. Cette fichu feuille à moitié pliée qui ne veut plus rentrer, etc. )

    En plus, j'espère que tu n'as pas beaucoup d'article parce que bonjour le prix à la page .
    Et si c'est de la confection et une imprimante jet d'encre, bonjour les tâches .

  4. #24
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 423
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 423
    Points : 1 326
    Points
    1 326
    Par défaut
    As tu essayé :

    pour ajuster la taille de l'image imprimée remplacer Printer.canvas.draw() par Printer.canvas.StretchDraw(const Rect: TRect; Graphic: TGraphic );

    @+,

    Cincap

  5. #25
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut

    De quoi me parle tu???

    Le dernier code que l'on m'a donné c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure PrintForm(aForm :TForm);
    begin
      with aForm.GetFormImage do
      try
        Printer.BeginDoc;
        StretchBlt(Printer.Canvas.Handle, 0, 0, Printer.PageWidth, Printer.PageHeight, Canvas.Handle, 0, 0, Width, Height, SRCCOPY);
        Printer.EndDoc;
      finally
        Free;
      end;
    end;
    (cf #15)

    Donc pardonne moi mais je ne comprend pas le coup de remplacer :

    Printer.canvas.draw() par Printer.canvas.StretchDraw(const Rect: TRect; Graphic: TGraphic );

    Sinon, pour ceux qui voudraient voir ce que j'ai en tête :
    (ce n'est qu'une éboche)
    http://ts.pilote-fsx.net/Project1.exe

    Cordialement.

  6. #26
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 691
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 691
    Points : 13 121
    Points
    13 121
    Par défaut
    Ce code était en réponse à ta question qui était je te le rappelle:

    J'aimerais savoir comment faire pour Imprimer une form au format 21x29,7cm...
    Maintenant en sachant la finalité, tu devrais explorer une autre voie

  7. #27
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Je ne vois aucune autre solution...

  8. #28
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 691
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 691
    Points : 13 121
    Points
    13 121
    Par défaut
    Je n'ai pas une grande expérience mais, il me semble qu'avec RAVE report tu peux fragmenter ta page en N parties, ajouter ton image de fond et bien sûr gérer la disposition de tes champs. Tu peux même mettre des tests pour imprimer Soldé si les deux prix ne sont pas identiques.

    Et dans le TClientDataSet, tu définis tes champs Ref, Description, Prix original, Prix actuel.

    Le report est lié à ce DataSet. Tu ajoutes tes données avant impression et les efface ensuite.

  9. #29
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    C'est beaucoup trop compliqué...

    Et ce sont des composants que je ne connais pas...

    Je pensais que c'était simple d'imprimer une form visiblement non...

  10. #30
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    salut,
    il y a beaucoup de choses qui se sont passées dans mon absence

    C'est beaucoup trop compliqué...

    Et ce sont des composants que je ne connais pas...
    jojo, tu peux faire ce que t'as dis Andnotor avec Quickreport.
    -mets un quick report sur ta fiche.
    -double clique dessus.
    -dans "report setting" => "margins" =>number of columns" et définis à 4 ou...
    c'est-à dire fragmenter ta page en 4 parties.

    essaye ça et dis nous si c'est ça que tu cherches à obtenir.

    A+

    NABIL74

  11. #31
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 691
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 691
    Points : 13 121
    Points
    13 121
    Par défaut
    Dans le pire des cas, si tu veux continuer avec tes impressions de fiches,
    arrange-toi pour que le rapport largeur/hauteur de la fiche soit égale au rapport largeur/hauteur de l'imprimante.

    Imprimante: 21/29.7 = 0.707
    Fiche si 600 de haut -> largeur = 424.

    Mais bon...

  12. #32
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Je ne sais même pas ce que c'est un quick report je ne trouve pas ce composant...

  13. #33
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Bon alors, un TClientDataSet rempli à la volée et un report (Quick ou RAVE) sera certainement plus rapide et plus facile à programmer .

    Mais d'expérience, je peux d'ores et déjà te dire que tu vas vite te lasser de tes feuilles de N étiquettes et passer à une imprimante dédiée (style Zebra TLP) et ne travailler que sur une étiquette à la fois.

    (J'ai déjà utilisé 3 étiquettes sur la feuille et je veux la réutiliser -> Gestion des lignes, des colonnes. Cette fichu feuille à moitié pliée qui ne veut plus rentrer, etc. )
    écoute la sagesse des expérimentés
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  14. #34
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    salut,
    Je ne sais même pas ce que c'est un quick report je ne trouve pas ce composant...
    quick report est un générateur d'état.Ce composant se trouve dans la palette "QReport".

    A+
    NABIL74

  15. #35
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Bah mince je n'ai pas QReport... pfff sa commence à être compliqué là...

  16. #36
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Citation Envoyé par NABIL74 Voir le message
    salut,
    il y a beaucoup de choses qui se sont passées dans mon absence



    jojo, tu peux faire ce que t'as dis Andnotor avec Quickreport.
    -mets un quick report sur ta fiche.
    -double clique dessus.
    -dans "report setting" => "margins" =>number of columns" et définis à 4 ou...
    c'est-à dire fragmenter ta page en 4 parties.

    essaye ça et dis nous si c'est ça que tu cherches à obtenir.

    A+

    NABIL74
    sa y es j'ai installé le package par contre NON ce n'est pas sa que je veux faire... je veux 2 colones et 4 lignes...

    Mais je ne sais pas du tout comment me servir de ce truke report...

    Je ne comprend même pas le principe si ce n'est que j'ai une page blanche qui apparait sur mon form...

    Merci !

  17. #37
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    un petit visite ici
    edit: ici sera mieux ou ici
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  18. #38
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    bonjour,
    Je ne comprend même pas le principe si ce n'est que j'ai une page blanche qui apparait sur mon form...
    cette page blanche est le "Quick Report"(la feuille sur laquelle tu vas visualiser et imprimer tes données).

    -mets un quick report sur ta fiche.
    -Dans la propriété "Dataset " affecte lui le nom de ta table ou ta query.
    -maintenant,dans la "Bands" =>"Hasdetail" =>"true.
    -double clique sur Quick Report .
    -dans "report setting" => "margins" =>number of columns" et définis à 2(2 colonnes) .

    pour avoir 4 lignes,c'est simple:
    -sur le Quick Report, mets la largeur de ta band "detail" à 7 cm(par exemple)de telle sorte à avoir 4 lignes.
    c'est tout.

    essaye ça et mets-nous au courant.

    A+
    NABIL74

  19. #39
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Ah super comme solution...

    Surtout quand on utilise pas de base de donnée..

    En effet, mon application ne fonctionnera pas avec une base de données... C'est juste un éditeur d'étiquettes...

  20. #40
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    Citation Envoyé par jojo86 Voir le message
    Ah super comme solution...

    Surtout quand on utilise pas de base de donnée..

    En effet, mon application ne fonctionnera pas avec une base de données... C'est juste un éditeur d'étiquettes...
    bonjour,
    voici un exemple parmi d'autres réalisé avec QuickReport sans base de données.
    il te reste à gérer l'événement du bouton "Ajouter étiquettes" et de "modeler" l'exemple.

    NABIL74
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. [forms 6i] changer les Propriétés d’un item
    Par imedg dans le forum Forms
    Réponses: 3
    Dernier message: 27/04/2006, 15h05
  2. [FORMS] Comment changer de canevas integral
    Par ousta dans le forum Oracle
    Réponses: 2
    Dernier message: 13/03/2006, 09h26
  3. Réponses: 2
    Dernier message: 07/02/2006, 20h57
  4. Réponses: 2
    Dernier message: 02/12/2005, 09h10
  5. changer format A4
    Par zax-tfh dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 14/03/2003, 14h30

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