OVH Cloud OVH Cloud

Oups !!! Impression de facture !!!!

5 réponses
Avatar
Gators
Excusez moi, j'ai oublier de vous poser une question !!!!

j'aimerais savoir la meilleur façon d'imprimer avec VB6, j'ai seulement des
donnée a faire inscrire sur une facture pré-imprimer.... ces a dire que je
dois faire imprimer les donnée dans des cases prédéterminer.....

merci encore 1000 fois...
Dany

5 réponses

Avatar
ng
Regarde du coté de l'objet Printer...

"Gators" a écrit dans le message de news:

Excusez moi, j'ai oublier de vous poser une question !!!!

j'aimerais savoir la meilleur façon d'imprimer avec VB6, j'ai seulement


des
donnée a faire inscrire sur une facture pré-imprimer.... ces a dire que je
dois faire imprimer les donnée dans des cases prédéterminer.....

merci encore 1000 fois...
Dany




Avatar
\(\( Olivier \)\)
Printer.CurentX = 200
Printer.CurrentY = 300
Printer.Print "L'impression avec VB, c'est la galère... en .Net aussi
d'ailleur..."

Olivier



"ng" a écrit dans le message de
news:
Regarde du coté de l'objet Printer...

"Gators" a écrit dans le message de news:

> Excusez moi, j'ai oublier de vous poser une question !!!!
>
> j'aimerais savoir la meilleur façon d'imprimer avec VB6, j'ai seulement
des
> donnée a faire inscrire sur une facture pré-imprimer.... ces a dire que


je
> dois faire imprimer les donnée dans des cases prédéterminer.....
>
> merci encore 1000 fois...
> Dany
>
>




Avatar
François ROLAND
Mais non, pas si galère que ça

j'ai fais une appli qui rempli tout un tas de formulaire administratif (que
la prefecture utilise en lecture optique d'ailleurs) et ça marche très bien.

Il faut juste de la rigueur et ..................du temps pour les mise au
point.

Pour economiser de l'encre pour mes essais, j'utilise un utilitaire qui
edite un PDF : je vois tout de suite ce que ça donne.


--

François ROLAND

"(( Olivier ))" a écrit dans le message de news:

Printer.CurentX = 200
Printer.CurrentY = 300
Printer.Print "L'impression avec VB, c'est la galère... en .Net aussi
d'ailleur..."

Olivier



"ng" a écrit dans le message de
news:
> Regarde du coté de l'objet Printer...
>
> "Gators" a écrit dans le message de news:
>
> > Excusez moi, j'ai oublier de vous poser une question !!!!
> >
> > j'aimerais savoir la meilleur façon d'imprimer avec VB6, j'ai


seulement
> des
> > donnée a faire inscrire sur une facture pré-imprimer.... ces a dire


que
je
> > dois faire imprimer les donnée dans des cases prédéterminer.....
> >
> > merci encore 1000 fois...
> > Dany
> >
> >
>
>




Avatar
David
Bonjour Dany,

J'ai fais un programme de facturation en VB6.

Impression et Apercu avant impression.

Tu trouveras les explications a la page :

http://support.microsoft.com/default.aspx?scid=kb;
en-us;Q193379

et pour les "scroll bar" :

http://msdn.microsoft.com/library/default.asp?url /library/en-us/vbcon98/html/vbconscrollbarcontrols
scenariocreatingscrollablegraphicsviewport.asp

En attendant voici des extraits (copier/coller) de
mon application :

'pr appeler l'impression :
Private Sub Command3_Click()
Call ImpressionOuApercu(Printer)
Printer.EndDoc
End Sub


'pr appeler l'apercu :
Private Sub Command4_Click()
Picture2.Top = 0
Picture2.Height = 7900
Picture2.Left = 3200
Picture2.Width = 8400
Picture2.Visible = True
Picture2.ZOrder


Picture1.Top = 500
Picture1.Height = 11500
Picture1.Left = 0
Picture1.Width = 8000
Picture1.Visible = True

VScroll1.Top = 0
VScroll1.Height = Picture2.Height - 375
VScroll1.Left = Picture2.Width - VScroll1.Width

HScroll1.Top = Picture2.Height - VScroll1.Width
HScroll1.Width = Picture2.Width - VScroll1.Width
HScroll1.Left = 0


Picture1.Cls

'il y a moyen d'affiner les ratios mais moi je me
contente pr mon application de :
'0,7 pour les caractéres et les images, 0,.9 pr
les tabulations et 0,15 pour les lignes
' a toi de voir selon ton affichage !

Call ImpressionOuApercu(Picture1, 0.7, 0.9, 0.15)
'caractere tabulation ligne
End Sub


'la routine d'impression ET d'apercu :

Private Sub ImpressionOuApercu(objDestination As
Object, Optional dRatio As Double = 1, Optional
tRatio As Double = 1, Optional lRatio As Double 1)

Dim objimage As Picture
Set objimage LoadPicture("c:daviwebcoloviddavid01.bmp")
objDestination.PaintPicture objimage, 4650 *
dRatio, 850 * dRatio, 2000 * dRatio, 800 * dRatio

Dim objimage2 As Picture
Set objimage2 LoadPicture("c:daviwebcolovidbonhomme01.jpg")
objDestination.PaintPicture objimage2, 1650 *
dRatio, 3200 * dRatio, 2000 * dRatio, 1700 *
dRatio


With objDestination
.FontName = "Times New Roman"
.FontSize = 16 * dRatio


X0 = 400 * dRatio
x1 = 8500 * dRatio

.DrawWidth = 15 * lRatio
objDestination.Line (380 * dRatio, 250 *
dRatio)-(11100 * dRatio, 250 * dRatio)

.CurrentX = 2500 * dRatio
.CurrentY = 350 * dRatio

objDestination.Print "F a b r i q u e d e P e
i n t u r e s et V e r n i s";

.FontSize = 10 * dRatio
.CurrentX = X0
.CurrentY = 750 * dRatio
objDestination.Print "T.V.A. : Be 403.943.929";

'exemple ligne
.DrawWidth = 15 * lRatio
objDestination.Line (380 * dRatio, 250 *
dRatio)-(11100 * dRatio, 250 * dRatio)

End with

End sub

Private Sub VScroll1_Change()
Picture1.Top = -VScroll1.Value
End Sub

Private Sub VScroll1_Scroll()
VScroll1_Change

End Sub

'reste a faire le boulot pour le HScroll
'et pour le zoom de l'aperçu ! ! !

a+
Jean-Pol DAVID
--
Quis ? Quid ? Ubi ? Quibus auxiliis ? Cur ?
Quomodo ? Quando ?

"Gators" a écrit dans
le message news:

Excusez moi, j'ai oublier de vous poser une


question !!!!

j'aimerais savoir la meilleur façon d'imprimer


avec VB6, j'ai seulement des
donnée a faire inscrire sur une facture


pré-imprimer.... ces a dire que je
dois faire imprimer les donnée dans des cases


prédéterminer.....

merci encore 1000 fois...
Dany




Avatar
Christophe
Bonjour

Le plus simple (pas du point de vue programmation) c'est d'utiliser les API.

Dessiner ou ecrire dans un DC, qu'il soit d'imprimante ou ecran ou memoire
c'est la même chose.

Si ce DC est Mapper en mode metrique il est trés facile de prendre un
imprimer un double décimètre et d'ecrire exactement là où on le veut.

Pour les DC en mode metrique les archives de la lisste contiennent un
exemple de classe (MetricDC).

Il suffit d'y ajouter qqs fonctions pour pouvoir utiliser l'imprimante
systeme. Je crois d'ailleurs (non tester) qu'il suffit de passer la valeur
printer.hdc à la classe, et remplacer les fonctions utilisant la valeur hwnd
par d'autres similaires utilisant papersize

christophe vergon


"François ROLAND" a écrit dans le message de
news: #wY$
Mais non, pas si galère que ça

j'ai fais une appli qui rempli tout un tas de formulaire administratif


(que
la prefecture utilise en lecture optique d'ailleurs) et ça marche très


bien.

Il faut juste de la rigueur et ..................du temps pour les mise au
point.

Pour economiser de l'encre pour mes essais, j'utilise un utilitaire qui
edite un PDF : je vois tout de suite ce que ça donne.


--

François ROLAND

"(( Olivier ))" a écrit dans le message de news:

> Printer.CurentX = 200
> Printer.CurrentY = 300
> Printer.Print "L'impression avec VB, c'est la galère... en .Net aussi
> d'ailleur..."
>
> Olivier
>
>
>
> "ng" a écrit dans le message de
> news:
> > Regarde du coté de l'objet Printer...
> >
> > "Gators" a écrit dans le message de news:
> >
> > > Excusez moi, j'ai oublier de vous poser une question !!!!
> > >
> > > j'aimerais savoir la meilleur façon d'imprimer avec VB6, j'ai
seulement
> > des
> > > donnée a faire inscrire sur une facture pré-imprimer.... ces a dire
que
> je
> > > dois faire imprimer les donnée dans des cases prédéterminer.....
> > >
> > > merci encore 1000 fois...
> > > Dany
> > >
> > >
> >
> >
>
>