@ 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
@ 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
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.
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 .
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
De quoi me parle tu???
Le dernier code que l'on m'a donné c'est :
(cf #15)
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;
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.
Ce code était en réponse à ta question qui était je te le rappelle:
Maintenant en sachant la finalité, tu devrais explorer une autre voieJ'aimerais savoir comment faire pour Imprimer une form au format 21x29,7cm...
Je ne vois aucune autre solution...
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.
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...
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.C'est beaucoup trop compliqué...
Et ce sont des composants que je ne connais pas...
-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
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...
Je ne sais même pas ce que c'est un quick report je ne trouve pas ce composant...
salut,
quick report est un générateur d'état.Ce composant se trouve dans la palette "QReport".Je ne sais même pas ce que c'est un quick report je ne trouve pas ce composant...
A+
NABIL74
Bah mince je n'ai pas QReport... pfff sa commence à être compliqué là...
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 !
bonjour,
cette page blanche est le "Quick Report"(la feuille sur laquelle tu vas visualiser et imprimer tes données).Je ne comprend même pas le principe si ce n'est que j'ai une page blanche qui apparait sur mon form...
-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
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...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager