Imprimer une variable qui récupère un editorgadget (RESOLU)

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
coxco
Messages : 92
Inscription : ven. 06/juin/2008 16:04

Imprimer une variable qui récupère un editorgadget (RESOLU)

Message par coxco »

Salut

Voila je voudrais imprimer une variable qui récupère un editorgadget.
Le problème c'est que l'impression des retours chariot, se fait sous forme de caractère au lieu de sauter une ligne.

j'ai essayé avec

Code : Tout sélectionner

FindString(variable,Chr(13),0) 
StringField(variable,1,Chr(13))

Pensez vous que c'est une bonne solution ?
Ou quoi d'autre ?

Merci
:roll:
Dernière modification par coxco le lun. 01/sept./2008 9:49, modifié 1 fois.
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Message par kernadec »

bonjour
tu le met chr(13) dans ta variable
utilise left(variable,len(variable)-1)) pour ne pas l'imprimer
deja pour commencer.
je ne pense pas que l'ont doit mettre de chr(13)
avec les commandes d impression startprinting etc..
mais il faut gerer avec la resolution de l'imprimante et la police de caractere utilisée, les sauts de lignes dans une boucle,
pour etre compatible avec toute les imprimantes.
coxco
Messages : 92
Inscription : ven. 06/juin/2008 16:04

Message par coxco »

Je comprend ce que tu veux dire.
Mais je ne peux pas supprimer tous les retours ligne, si l'on saisit un retour ligne dans un editorgadget je voudrais le conserver et pouvoir le transcrire en saut de ligne à l'impression.
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Message par kernadec »

tu les retire au cours de la copie dans une variable buffer pour imprimer
voila un exemple d'impression avec plusieurs lignes la commande impression est simple
a cette adresse j'ai poster ca:
http://www.purebasic.fr/french/viewtopic.php?t=8459
utilise acrobat distiller pour tester l'impression en fichier pdf
c'est moins cher que le papier

voila la routine d'impression
tu l'adapte a tes gadjets et hop!

Code : Tout sélectionner

Procedure xcm(x.f)
  x = x * (PrinterPageWidth()/21) ; 21cm A4
  ProcedureReturn x
EndProcedure
Procedure ycm(x.f)
  x = x * (PrinterPageHeight()/29.7) ; 29,7cm A4
  ProcedureReturn x
EndProcedure  



 yhaut = 300
xleft = 300
p=0
If PrintRequester() 
  If StartPrinting("Multipages av n°") 
    Font=ycm(((8*0.090)/2.5))
    LoadFont(1,"Arial",Font)
    If StartDrawing(PrinterOutput()) 
        DrawingFont(FontID(1)) 
        For n=0 To CountGadgetItems(1)  ; le nombre de ligne ici 
          yhaut=yhaut+(Font*1.5)
          DrawText(xleft,yhaut,GetGadgetItemText(1,n-1,0)) ; et ton texte gadget ici !
          If yhaut>ycm(780*0.035)    
            p=p+1                 ; 29.7cm/848pixels=0.035 - 21.0cm/600pixels=0.035              
            DrawText(xcm(500*0.035),ycm(800*0.035),Str(p))  ;numero de bas page droite 
            NewPrinterPage()
            yhaut=300
          EndIf  
        Next n
        p=p+1 
        DrawText(xcm(500*0.035),ycm(800*0.035),Str(p))  ;numero de derniere page 
      StopDrawing() 
    EndIf 
    StopPrinting() 
  EndIf 
EndIf
coxco
Messages : 92
Inscription : ven. 06/juin/2008 16:04

Message par coxco »

Ok merci pour ton aide
Répondre