Page 1 sur 1

Je voudrais savoir comment imprimer

Publié : sam. 12/juin/2004 18:50
par garzul
Je voudrais savoir comment imprimer mon texte comprisd dans un stringgadget et l'imprimer car j'ai essayer sa mais sa ne marche pas enfin la feuielle passe mais sa n'ecrit rien dessu

Code : Tout sélectionner

  Case #MENU_35
           PrintRequester()
                      StartPrinting("Projet du garzul bloc note") 
                       CreateFile(1, FileName)
             content.s = GetGadgetText(StringGadget)
StopPrinting() 

:D

Publié : sam. 12/juin/2004 19:28
par fweil
L'impression se fait comme un dessin sauf qu'on utilise un StartDrawing(PrinterOutput()).

Si tu veux imprimer du texte il faudra donc envoyer celui-ci avec des Locate et des DrawText.

Publié : sam. 12/juin/2004 19:37
par garzul
Merci mais tu peux me faire un exemple car il doit y avoir plus simple mais bon essaye de me faire un exemple pour que je vois ce que tu veux dire merci. :D

Publié : sam. 12/juin/2004 19:41
par fweil
Tu as un exemple dans l'aide de PureBasic

Je vais le décorer pour correspondre à l'utilisation d'un StringGadget.

Publié : sam. 12/juin/2004 20:41
par fweil
Bon j'ai pas plus simple ... sinon ça va me prendre beaucoup + de temps.

Je propose une mise à jour de mon NotePad sur les trucs et astuces

J'ai ajouté une section qui permet d'imprimer.

A regarder soigneusement.

J'utilise un requester qui demande quelle imprimante on veut utiliser.

Par contre pour l'instant je ne sais pas récupérer le pitch de l'imprimante. Donc je l'ai fixé à 360 points par pouces, et j'ai mis une transposition de taille de la police affichée qui est calculée avec un facteur 3 pour l'imprimante.

J'ai également mis des marges par défaut de 1 pouce (à 360 DPI) et une longueur de page de 11 pouces.

Vala pour l'instant.

Ce prog respecte la police, la taille et la couleur définis par le choix de l'utilisateur dans le menu.

Je complèterai sans doute ça + tard.

Publié : ven. 18/juin/2004 7:46
par brossden
Bonjour

Ceci est unexemple qui te permettra de voir comment fonctionne l'impression !

Code : Tout sélectionner

FontID1 = LoadFont(1, "Comic Sans MS", 12) 
rc=Chr(13)+Chr(10) 

Procedure Open_Window_0() 
  If OpenWindow(0, 477, 78, 283, 242,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "New window ( 0 )") 
    If CreateGadgetList(WindowID()) 
      EditorGadget(1, 20, 5, 240, 170) 
      SetGadgetFont(1, FontID1) 
      ButtonGadget(2, 80, 200, 120, 30, "Impression") 
      SetGadgetFont(2, FontID1) 
    EndIf 
  EndIf 
EndProcedure 


Open_Window_0() 
SetGadgetItemText(1,1,"Ceci est un test d'impression"+rc+"depuis un EditorGadget",0) 
Repeat 
  Event = WaitWindowEvent() 
  If Event = #PB_EventGadget 
    GadgetID = EventGadgetID() 
    If GadgetID = 1 
    ElseIf GadgetID = 2 
      If PrintRequester() 
        If StartPrinting("PureBasic Test") 
          If StartDrawing(PrinterOutput()) 
            DrawingFont(LoadFont(2, "Comic Sans MS", 80) ) 
            For n=1 To CountGadgetItems(1) 
              Locate(100, 160 * n ) : DrawText(GetGadgetItemText(1,n-1,0)) 
              Debug  GetGadgetItemText(1,n-1,0) 
            Next 
            StopDrawing() 
          EndIf 
          StopPrinting() 
        EndIf 
      EndIf      
    EndIf 
  EndIf 
Until Event = #PB_EventCloseWindow 
End