Alaska Software Inc. - fuentes con impresoras matriciales
Username: Password:
AuthorTopic: fuentes con impresoras matriciales
Gustavofuentes con impresoras matriciales
on Tue, 18 Nov 2008 19:58:20 -0300
Tengo el siguiente problema con la simpresoras matriciales no imprime los 
font como cuando imprimo en una chorro de tinta o lasar
probe de varios metodos, alguno me puede ayudar en este tema
gracias


Gustavo M. Burgos
Rivadavia 278
Pcia Roque Saenz Pea - Chaco
Tel 03732-420635
Burmanspm@arnet.com.ar
Jorge LRe: fuentes con impresoras matriciales
on Sun, 16 Nov 2008 07:33:33 -0300
Hola Gustavo

ests imprimiendo directamente o con que driver ests scando la impresin ?

si ests imprimiendo directamente ests usando las fuentes de la impresora, 
si utilizas el driver de windows generic only text, tambin

saludos -

PD tambin soy de Argentina - de La Plata - Bs.As.

"Gustavo" <Burmanspm@arnet.com.ar> escribi en el mensaje 
news:3a3b708e$722681aa$3eb@news.alaska-software.com...
> Tengo el siguiente problema con la simpresoras matriciales no imprime los 
> font como cuando imprimo en una chorro de tinta o lasar
> probe de varios metodos, alguno me puede ayudar en este tema
> gracias
>
>
> -- 
> Gustavo M. Burgos
> Rivadavia 278
> Pcia Roque Saenz Pea - Chaco
> Tel 03732-420635
> Burmanspm@arnet.com.ar
>
>
GustavoRe: fuentes con impresoras matriciales
on Wed, 19 Nov 2008 09:06:43 -0300
No estoy intentando imprimir con el driver de windows
lo que estoy haciendo es esto, no se si estara bien
tengo esta funcion que me permite imprimir.
en las impresoras corro de tinta y en las laser emite bien
pero en las matriciales no
te mado el codigo,  a lo mejor tengo mal definido los font
Gracias
y que bueno que en foro contemos con gente de argentina


static function 
imprime_grupo(lave,i_datos,i_enca1,i_enca2,i_enca3,i_denca,i_titulo,dfont,loto)
local que_impre := XbpPrinter():new()
if pide_impresora(@que_impre)
   oPS := XbpPresSpace():New()
   que_impre:Setorientation(2)
   oPS:Create( que_impre, que_impre:paperSize(), GRA_PU_LOMETRIC )

   apapel := que_impre:papersize()


   sfont10  := xbpfont():new(ops)
   sfont10  :Familyname := "Courier New"
   sFont10 :nominalPointSize  := 10
   sfont10 :create()

   sfont12  := xbpfont():new(ops)
   sfont12  :Familyname := "Courier New"
   sFont12 :nominalPointSize  := 12
   sfont12 :create()

   sfont9 := xbpfont():new(ops)
   sfont9 :Familyname := "Courier New"
   sFont9:nominalPointSize  := 9
   sfont9:create()

   sfont8 := xbpfont():new(ops)
   sfont8 :Familyname := "Courier New"
   sFont8:nominalPointSize  := 8
   sfont8:create()

   sfont6 := xbpfont():new(ops)
   sfont6 :Familyname := "Courier New"
   sFont6:nominalPointSize  := 6
   sfont6:create()
   m_pagi := 1


   ops:device():startdoc()

   GraSetFont(ops,&(dfont))

   xposi := 50
   yposi := apapel[2]-200

   ctext := padl("Fecha  "+dtoc(Date()),loto)
   grastringAt(ops,{xposi,yposi},ctext)


   yposi -= 30

   ctext := padl("P gina "+strzero(m_pagi,4),loto)
   grastringAt(ops,{xposi,yposi},ctext)

   yposi -= 50
   ctext := padc(i_titulo,loto)
   grastringAt(ops,{xposi,yposi},ctext)
   yposi -= 30
   ctext := i_enca1
   grastringAt(ops,{xposi,yposi},ctext)
   yposi -= 40
   ctext := i_enca2
   grastringAt(ops,{xposi,yposi},ctext)
   yposi -= 40
   ctext := i_enca3
   grastringAt(ops,{xposi,yposi},ctext)

   yposi -= 40
   ctext := replicate("-",loto)
   grastringAt(ops,{xposi,yposi},ctext)
   ctext := ""
   for koki := 1 to len(i_denca)
           do case
              case valtype(i_datos[1,koki]) = "C"
                   xlongi := len(i_datos[1,koki])
              case valtype(i_datos[1,koki]) = "N"
                   xlongi := len(transform(i_datos[1,koki],"9999999.99"))
              case valtype(i_datos[1,koki]) = "D"
                   xlongi := len(dtoc(i_datos[1,koki]))
           endcase
           ctext += padc(i_denca[koki],xlongi)+" "
   next
   yposi -= 40
   grastringAt(ops,{xposi,yposi},ctext)
   yposi -= 40
   ctext := replicate("-",loto)
   grastringAt(ops,{xposi,yposi},ctext)
   for kilo := 1 to len(i_datos)
       ctext := ""
       for colu := 1 to len(i_denca)
           do case
              case valtype(i_datos[kilo,colu]) = "C"
                   ctext += i_datos[kilo,colu]+" "
              case valtype(i_datos[kilo,colu]) = "N"
                   ctext += Transform(i_datos[kilo,colu],"9999999.99")+" "
              case valtype(i_datos[kilo,colu]) = "D"
                   ctext += dtoc(i_datos[kilo,colu])+" "
           endcase
       next
       yposi -= 40
       grastringAt(ops,{xposi,yposi},ctext)
       if yposi < 60
          yposi -= 30
          ctext := replicate("-",loto)
          grastringAt(ops,{xposi,yposi},ctext)

          ops:device():newpage()

          xposi := 50
          yposi := apapel[2]-200

          ctext := padl("Fecha  "+dtoc(Date()),loto)
          grastringAt(ops,{xposi,yposi},ctext)
          m_pagi += 1

          yposi -= 30

          ctext := padl("P gina "+strzero(m_pagi,4),loto)
          grastringAt(ops,{xposi,yposi},ctext)

          yposi -= 50
          ctext := padc(i_titulo,loto)
          grastringAt(ops,{xposi,yposi},ctext)
          yposi -= 40
          ctext := i_enca1
          grastringAt(ops,{xposi,yposi},ctext)
          yposi -= 40
          ctext := i_enca2
          grastringAt(ops,{xposi,yposi},ctext)
          yposi -= 40
          ctext := i_enca3
          grastringAt(ops,{xposi,yposi},ctext)

          yposi -= 40
          ctext := replicate("-",loto)
          grastringAt(ops,{xposi,yposi},ctext)
          ctext := ""
          for koki := 1 to len(i_denca)
                  do case
                     case valtype(i_datos[1,koki]) = "C"
                          xlongi := len(i_datos[1,koki])
                     case valtype(i_datos[1,koki]) = "N"
                          xlongi := 
len(transform(i_datos[1,koki],"9999999.99"))
                     case valtype(i_datos[1,koki]) = "D"
                          xlongi := len(dtoc(i_datos[1,koki]))
                  endcase
                  ctext += padc(i_denca[koki],xlongi)+" "
          next
          yposi -= 40
          grastringAt(ops,{xposi,yposi},ctext)
          yposi -= 40
          ctext := replicate("-",loto)
          grastringAt(ops,{xposi,yposi},ctext)
       endif
   next
   yposi -= 40
   ctext := replicate("-",loto)
   grastringAt(ops,{xposi,yposi},ctext)
   ops:device():enddoc()
   *ops:configure()
   que_impre:destroy()
endif
return(.t.)








"Jorge L" <jlborlando@way.com.ar> escribi en el mensaje 
news:5aaacc45$60fbf59$28e3@news.alaska-software.com...
> Hola Gustavo
>
> ests imprimiendo directamente o con que driver ests scando la impresin 
> ?
>
> si ests imprimiendo directamente ests usando las fuentes de la 
> impresora, si utilizas el driver de windows generic only text, tambin
>
> saludos -
>
> PD tambin soy de Argentina - de La Plata - Bs.As.
>
> "Gustavo" <Burmanspm@arnet.com.ar> escribi en el mensaje 
> news:3a3b708e$722681aa$3eb@news.alaska-software.com...
>> Tengo el siguiente problema con la simpresoras matriciales no imprime los 
>> font como cuando imprimo en una chorro de tinta o lasar
>> probe de varios metodos, alguno me puede ayudar en este tema
>> gracias
>>
>>
>> -- 
>> Gustavo M. Burgos
>> Rivadavia 278
>> Pcia Roque Saenz Pea - Chaco
>> Tel 03732-420635
>> Burmanspm@arnet.com.ar
>>
>>
>
>
Jorge LRe: fuentes con impresoras matriciales
on Sun, 16 Nov 2008 13:08:16 -0300
Hola Gustavo

por lo que veo estas imprimiendo hacia el driver de windows y no 
directamente como en clipper ( o sea al LPT1 )

quizas por velocidad de impresin estas usando la impresora "generic 
only/text", y ah no tens nada configurable ya que imprime como en DOS

por lo que asegurate tener la impresora correspondiente configurada con los 
valores predeterminados

lo que s, en las matriciales al imprimir en grficos se torna muy lento
en mi caso parametriz la rutina de impresin y en ves de utilizar 
xbpPrinter() utilizo set device to LPTx

saludos

"Gustavo" <Burmanspm@arnet.com.ar> escribi en el mensaje 
news:39403009$7f366cd$3825@news.alaska-software.com...
> No estoy intentando imprimir con el driver de windows
> lo que estoy haciendo es esto, no se si estara bien
> tengo esta funcion que me permite imprimir.
> en las impresoras corro de tinta y en las laser emite bien
> pero en las matriciales no
> te mado el codigo,  a lo mejor tengo mal definido los font
> Gracias
> y que bueno que en foro contemos con gente de argentina
>
>
> static function 
> imprime_grupo(lave,i_datos,i_enca1,i_enca2,i_enca3,i_denca,i_titulo,dfont,loto)
> local que_impre := XbpPrinter():new()
> if pide_impresora(@que_impre)
>   oPS := XbpPresSpace():New()
>   que_impre:Setorientation(2)
>   oPS:Create( que_impre, que_impre:paperSize(), GRA_PU_LOMETRIC )
>
>   apapel := que_impre:papersize()
>
>
>   sfont10  := xbpfont():new(ops)
>   sfont10  :Familyname := "Courier New"
>   sFont10 :nominalPointSize  := 10
>   sfont10 :create()
>
>   sfont12  := xbpfont():new(ops)
>   sfont12  :Familyname := "Courier New"
>   sFont12 :nominalPointSize  := 12
>   sfont12 :create()
>
>   sfont9 := xbpfont():new(ops)
>   sfont9 :Familyname := "Courier New"
>   sFont9:nominalPointSize  := 9
>   sfont9:create()
>
>   sfont8 := xbpfont():new(ops)
>   sfont8 :Familyname := "Courier New"
>   sFont8:nominalPointSize  := 8
>   sfont8:create()
>
>   sfont6 := xbpfont():new(ops)
>   sfont6 :Familyname := "Courier New"
>   sFont6:nominalPointSize  := 6
>   sfont6:create()
>   m_pagi := 1
>
>
>   ops:device():startdoc()
>
>   GraSetFont(ops,&(dfont))
>
>   xposi := 50
>   yposi := apapel[2]-200
>
>   ctext := padl("Fecha  "+dtoc(Date()),loto)
>   grastringAt(ops,{xposi,yposi},ctext)
>
>
>   yposi -= 30
>
>   ctext := padl("P gina "+strzero(m_pagi,4),loto)
>   grastringAt(ops,{xposi,yposi},ctext)
>
>   yposi -= 50
>   ctext := padc(i_titulo,loto)
>   grastringAt(ops,{xposi,yposi},ctext)
>   yposi -= 30
>   ctext := i_enca1
>   grastringAt(ops,{xposi,yposi},ctext)
>   yposi -= 40
>   ctext := i_enca2
>   grastringAt(ops,{xposi,yposi},ctext)
>   yposi -= 40
>   ctext := i_enca3
>   grastringAt(ops,{xposi,yposi},ctext)
>
>   yposi -= 40
>   ctext := replicate("-",loto)
>   grastringAt(ops,{xposi,yposi},ctext)
>   ctext := ""
>   for koki := 1 to len(i_denca)
>           do case
>              case valtype(i_datos[1,koki]) = "C"
>                   xlongi := len(i_datos[1,koki])
>              case valtype(i_datos[1,koki]) = "N"
>                   xlongi := len(transform(i_datos[1,koki],"9999999.99"))
>              case valtype(i_datos[1,koki]) = "D"
>                   xlongi := len(dtoc(i_datos[1,koki]))
>           endcase
>           ctext += padc(i_denca[koki],xlongi)+" "
>   next
>   yposi -= 40
>   grastringAt(ops,{xposi,yposi},ctext)
>   yposi -= 40
>   ctext := replicate("-",loto)
>   grastringAt(ops,{xposi,yposi},ctext)
>   for kilo := 1 to len(i_datos)
>       ctext := ""
>       for colu := 1 to len(i_denca)
>           do case
>              case valtype(i_datos[kilo,colu]) = "C"
>                   ctext += i_datos[kilo,colu]+" "
>              case valtype(i_datos[kilo,colu]) = "N"
>                   ctext += Transform(i_datos[kilo,colu],"9999999.99")+" "
>              case valtype(i_datos[kilo,colu]) = "D"
>                   ctext += dtoc(i_datos[kilo,colu])+" "
>           endcase
>       next
>       yposi -= 40
>       grastringAt(ops,{xposi,yposi},ctext)
>       if yposi < 60
>          yposi -= 30
>          ctext := replicate("-",loto)
>          grastringAt(ops,{xposi,yposi},ctext)
>
>          ops:device():newpage()
>
>          xposi := 50
>          yposi := apapel[2]-200
>
>          ctext := padl("Fecha  "+dtoc(Date()),loto)
>          grastringAt(ops,{xposi,yposi},ctext)
>          m_pagi += 1
>
>          yposi -= 30
>
>          ctext := padl("P gina "+strzero(m_pagi,4),loto)
>          grastringAt(ops,{xposi,yposi},ctext)
>
>          yposi -= 50
>          ctext := padc(i_titulo,loto)
>          grastringAt(ops,{xposi,yposi},ctext)
>          yposi -= 40
>          ctext := i_enca1
>          grastringAt(ops,{xposi,yposi},ctext)
>          yposi -= 40
>          ctext := i_enca2
>          grastringAt(ops,{xposi,yposi},ctext)
>          yposi -= 40
>          ctext := i_enca3
>          grastringAt(ops,{xposi,yposi},ctext)
>
>          yposi -= 40
>          ctext := replicate("-",loto)
>          grastringAt(ops,{xposi,yposi},ctext)
>          ctext := ""
>          for koki := 1 to len(i_denca)
>                  do case
>                     case valtype(i_datos[1,koki]) = "C"
>                          xlongi := len(i_datos[1,koki])
>                     case valtype(i_datos[1,koki]) = "N"
>                          xlongi := 
> len(transform(i_datos[1,koki],"9999999.99"))
>                     case valtype(i_datos[1,koki]) = "D"
>                          xlongi := len(dtoc(i_datos[1,koki]))
>                  endcase
>                  ctext += padc(i_denca[koki],xlongi)+" "
>          next
>          yposi -= 40
>          grastringAt(ops,{xposi,yposi},ctext)
>          yposi -= 40
>          ctext := replicate("-",loto)
>          grastringAt(ops,{xposi,yposi},ctext)
>       endif
>   next
>   yposi -= 40
>   ctext := replicate("-",loto)
>   grastringAt(ops,{xposi,yposi},ctext)
>   ops:device():enddoc()
>   *ops:configure()
>   que_impre:destroy()
> endif
> return(.t.)
>
>
>
>
>
>
>
>
> "Jorge L" <jlborlando@way.com.ar> escribi en el mensaje 
> news:5aaacc45$60fbf59$28e3@news.alaska-software.com...
>> Hola Gustavo
>>
>> ests imprimiendo directamente o con que driver ests scando la impresin 
>> ?
>>
>> si ests imprimiendo directamente ests usando las fuentes de la 
>> impresora, si utilizas el driver de windows generic only text, tambin
>>
>> saludos -
>>
>> PD tambin soy de Argentina - de La Plata - Bs.As.
>>
>> "Gustavo" <Burmanspm@arnet.com.ar> escribi en el mensaje 
>> news:3a3b708e$722681aa$3eb@news.alaska-software.com...
>>> Tengo el siguiente problema con la simpresoras matriciales no imprime 
>>> los font como cuando imprimo en una chorro de tinta o lasar
>>> probe de varios metodos, alguno me puede ayudar en este tema
>>> gracias
>>>
>>>
>>> -- 
>>> Gustavo M. Burgos
>>> Rivadavia 278
>>> Pcia Roque Saenz Pea - Chaco
>>> Tel 03732-420635
>>> Burmanspm@arnet.com.ar
>>>
>>>
>>
>>
>
>
GustavoRe: fuentes con impresoras matriciales
on Wed, 19 Nov 2008 09:21:05 -0300
jorge en todo caso enviame un ejemplo de como configurar los font
gracias

"Gustavo" <Burmanspm@arnet.com.ar> escribi en el mensaje 
news:39403009$7f366cd$3825@news.alaska-software.com...
> No estoy intentando imprimir con el driver de windows
> lo que estoy haciendo es esto, no se si estara bien
> tengo esta funcion que me permite imprimir.
> en las impresoras corro de tinta y en las laser emite bien
> pero en las matriciales no
> te mado el codigo,  a lo mejor tengo mal definido los font
> Gracias
> y que bueno que en foro contemos con gente de argentina
>
>
> static function 
> imprime_grupo(lave,i_datos,i_enca1,i_enca2,i_enca3,i_denca,i_titulo,dfont,loto)
> local que_impre := XbpPrinter():new()
> if pide_impresora(@que_impre)
>   oPS := XbpPresSpace():New()
>   que_impre:Setorientation(2)
>   oPS:Create( que_impre, que_impre:paperSize(), GRA_PU_LOMETRIC )
>
>   apapel := que_impre:papersize()
>
>
>   sfont10  := xbpfont():new(ops)
>   sfont10  :Familyname := "Courier New"
>   sFont10 :nominalPointSize  := 10
>   sfont10 :create()
>
>   sfont12  := xbpfont():new(ops)
>   sfont12  :Familyname := "Courier New"
>   sFont12 :nominalPointSize  := 12
>   sfont12 :create()
>
>   sfont9 := xbpfont():new(ops)
>   sfont9 :Familyname := "Courier New"
>   sFont9:nominalPointSize  := 9
>   sfont9:create()
>
>   sfont8 := xbpfont():new(ops)
>   sfont8 :Familyname := "Courier New"
>   sFont8:nominalPointSize  := 8
>   sfont8:create()
>
>   sfont6 := xbpfont():new(ops)
>   sfont6 :Familyname := "Courier New"
>   sFont6:nominalPointSize  := 6
>   sfont6:create()
>   m_pagi := 1
>
>
>   ops:device():startdoc()
>
>   GraSetFont(ops,&(dfont))
>
>   xposi := 50
>   yposi := apapel[2]-200
>
>   ctext := padl("Fecha  "+dtoc(Date()),loto)
>   grastringAt(ops,{xposi,yposi},ctext)
>
>
>   yposi -= 30
>
>   ctext := padl("P gina "+strzero(m_pagi,4),loto)
>   grastringAt(ops,{xposi,yposi},ctext)
>
>   yposi -= 50
>   ctext := padc(i_titulo,loto)
>   grastringAt(ops,{xposi,yposi},ctext)
>   yposi -= 30
>   ctext := i_enca1
>   grastringAt(ops,{xposi,yposi},ctext)
>   yposi -= 40
>   ctext := i_enca2
>   grastringAt(ops,{xposi,yposi},ctext)
>   yposi -= 40
>   ctext := i_enca3
>   grastringAt(ops,{xposi,yposi},ctext)
>
>   yposi -= 40
>   ctext := replicate("-",loto)
>   grastringAt(ops,{xposi,yposi},ctext)
>   ctext := ""
>   for koki := 1 to len(i_denca)
>           do case
>              case valtype(i_datos[1,koki]) = "C"
>                   xlongi := len(i_datos[1,koki])
>              case valtype(i_datos[1,koki]) = "N"
>                   xlongi := len(transform(i_datos[1,koki],"9999999.99"))
>              case valtype(i_datos[1,koki]) = "D"
>                   xlongi := len(dtoc(i_datos[1,koki]))
>           endcase
>           ctext += padc(i_denca[koki],xlongi)+" "
>   next
>   yposi -= 40
>   grastringAt(ops,{xposi,yposi},ctext)
>   yposi -= 40
>   ctext := replicate("-",loto)
>   grastringAt(ops,{xposi,yposi},ctext)
>   for kilo := 1 to len(i_datos)
>       ctext := ""
>       for colu := 1 to len(i_denca)
>           do case
>              case valtype(i_datos[kilo,colu]) = "C"
>                   ctext += i_datos[kilo,colu]+" "
>              case valtype(i_datos[kilo,colu]) = "N"
>                   ctext += Transform(i_datos[kilo,colu],"9999999.99")+" "
>              case valtype(i_datos[kilo,colu]) = "D"
>                   ctext += dtoc(i_datos[kilo,colu])+" "
>           endcase
>       next
>       yposi -= 40
>       grastringAt(ops,{xposi,yposi},ctext)
>       if yposi < 60
>          yposi -= 30
>          ctext := replicate("-",loto)
>          grastringAt(ops,{xposi,yposi},ctext)
>
>          ops:device():newpage()
>
>          xposi := 50
>          yposi := apapel[2]-200
>
>          ctext := padl("Fecha  "+dtoc(Date()),loto)
>          grastringAt(ops,{xposi,yposi},ctext)
>          m_pagi += 1
>
>          yposi -= 30
>
>          ctext := padl("P gina "+strzero(m_pagi,4),loto)
>          grastringAt(ops,{xposi,yposi},ctext)
>
>          yposi -= 50
>          ctext := padc(i_titulo,loto)
>          grastringAt(ops,{xposi,yposi},ctext)
>          yposi -= 40
>          ctext := i_enca1
>          grastringAt(ops,{xposi,yposi},ctext)
>          yposi -= 40
>          ctext := i_enca2
>          grastringAt(ops,{xposi,yposi},ctext)
>          yposi -= 40
>          ctext := i_enca3
>          grastringAt(ops,{xposi,yposi},ctext)
>
>          yposi -= 40
>          ctext := replicate("-",loto)
>          grastringAt(ops,{xposi,yposi},ctext)
>          ctext := ""
>          for koki := 1 to len(i_denca)
>                  do case
>                     case valtype(i_datos[1,koki]) = "C"
>                          xlongi := len(i_datos[1,koki])
>                     case valtype(i_datos[1,koki]) = "N"
>                          xlongi := 
> len(transform(i_datos[1,koki],"9999999.99"))
>                     case valtype(i_datos[1,koki]) = "D"
>                          xlongi := len(dtoc(i_datos[1,koki]))
>                  endcase
>                  ctext += padc(i_denca[koki],xlongi)+" "
>          next
>          yposi -= 40
>          grastringAt(ops,{xposi,yposi},ctext)
>          yposi -= 40
>          ctext := replicate("-",loto)
>          grastringAt(ops,{xposi,yposi},ctext)
>       endif
>   next
>   yposi -= 40
>   ctext := replicate("-",loto)
>   grastringAt(ops,{xposi,yposi},ctext)
>   ops:device():enddoc()
>   *ops:configure()
>   que_impre:destroy()
> endif
> return(.t.)
>
>
>
>
>
>
>
>
> "Jorge L" <jlborlando@way.com.ar> escribi en el mensaje 
> news:5aaacc45$60fbf59$28e3@news.alaska-software.com...
>> Hola Gustavo
>>
>> ests imprimiendo directamente o con que driver ests scando la impresin 
>> ?
>>
>> si ests imprimiendo directamente ests usando las fuentes de la 
>> impresora, si utilizas el driver de windows generic only text, tambin
>>
>> saludos -
>>
>> PD tambin soy de Argentina - de La Plata - Bs.As.
>>
>> "Gustavo" <Burmanspm@arnet.com.ar> escribi en el mensaje 
>> news:3a3b708e$722681aa$3eb@news.alaska-software.com...
>>> Tengo el siguiente problema con la simpresoras matriciales no imprime 
>>> los font como cuando imprimo en una chorro de tinta o lasar
>>> probe de varios metodos, alguno me puede ayudar en este tema
>>> gracias
>>>
>>>
>>> -- 
>>> Gustavo M. Burgos
>>> Rivadavia 278
>>> Pcia Roque Saenz Pea - Chaco
>>> Tel 03732-420635
>>> Burmanspm@arnet.com.ar
>>>
>>>
>>
>>
>
>
Jos Luis Otermin [Alaska Software]Re: fuentes con impresoras matriciales
on Wed, 19 Nov 2008 17:00:11 -0300
Hola Gustavo,

> y que bueno que en foro contemos con gente de argentina

Somos muchos los usuarios de Latinoamrica.
En cada pais hay al menos una docena de usuarios muy activos que nos 
consultan.
Pero son tmidos y no se animan a participar.

Afortunadamente quienes participan sea preguntando o respondiendo hacen 
grande a esta comunidad.
Gracias por integrarte.

Respecto de tu pregunta sugiero examines mejor XbpPrinter() especialmente 
donde se crea el espacio de prsentacin asociado al dispositivo de 
impresin.

Mira detenidamente (casi te dira que la estudies).
La siguiente funcin est copiada textualmente de la ayuda en lnea de 
Xbase++.

   FUNCTION PrinterPS( cPrinterObjectName )
      LOCAL oPS
      LOCAL oDC := XbpPrinter():New()  Se crea un Contexto de Dispositivo
      LOCAL aSize

      oDC:Create( cPrinterObjectName )  Se inicializa la instancia.

      oPS := XbpPresSpace():New()    Se crea un espacio de presentacin.
      aSize := oDC:paperSize()

       Size of printable region on paper
      aSize := { aSize[5] - aSize[3], ;
                 aSize[6] - aSize[4]  }
      oPS:Create( oDC, aSize, GRA_PU_LOMETRIC )  Se vincula al espacio de 
presentacin con el contexto de dispositivo
   RETURN oPS

Espero haber clarificado parte de la duda.

Saludos

Jos Luis Otermin
Soporte Tcnico
--------------------------------------------------------------------
Foros de Usuarios: news://news.alaska-software.com
Pgina Web: http://www.alaska-software.com
Base de Conocimientos en la Web: http://www.alaska-software.com/kbase.shtm
Oficina en Europa: Fax: +49 (0) 61 96 - 77 99 99 23
Oficina en EEUU: Fax: +1 (646) 218 1281
--------------------------------------------------------------------
GustavoRe: fuentes con impresoras matriciales
on Wed, 19 Nov 2008 17:39:49 -0300
Gracias jose luis la verdad que es de mucha ayuda contar con una fuente de 
informacin y conocimiento como es el foro.
Respecto al problema que tengo con la impresora matriciales, creo que ya 
casi lo tengo solucinado.
pero la pregunta inicial era utilizar cualquier tipo de impresora sin que se 
desproporcione los font, cosa que con la matriciales me estaba ocurriendo.
sobre todo con las ticketeras comandera, (epson)
Lo que pretendo es seleccionar una impresora cualquiera (atravez de la 
funcion pide_impresora() en el codigo antes enviado y que la impresion se lo 
mismo en una laser,matricial, chorro de tinta, etc.

Bueno jose luis gracias por tu atencin

"Jos Luis Otermin [Alaska Software]" <jose.otermin@alaska-software.com> 
escribi en el mensaje 
news:578c75d0$44c10ac3$21bf@news.alaska-software.com...
> Hola Gustavo,
>
>> y que bueno que en foro contemos con gente de argentina
>
> Somos muchos los usuarios de Latinoamrica.
> En cada pais hay al menos una docena de usuarios muy activos que nos 
> consultan.
> Pero son tmidos y no se animan a participar.
>
> Afortunadamente quienes participan sea preguntando o respondiendo hacen 
> grande a esta comunidad.
> Gracias por integrarte.
>
> Respecto de tu pregunta sugiero examines mejor XbpPrinter() especialmente 
> donde se crea el espacio de prsentacin asociado al dispositivo de 
> impresin.
>
> Mira detenidamente (casi te dira que la estudies).
> La siguiente funcin est copiada textualmente de la ayuda en lnea de 
> Xbase++.
>
>   FUNCTION PrinterPS( cPrinterObjectName )
>      LOCAL oPS
>      LOCAL oDC := XbpPrinter():New()  Se crea un Contexto de Dispositivo
>      LOCAL aSize
>
>      oDC:Create( cPrinterObjectName )  Se inicializa la instancia.
>
>      oPS := XbpPresSpace():New()    Se crea un espacio de presentacin.
>      aSize := oDC:paperSize()
>
>       Size of printable region on paper
>      aSize := { aSize[5] - aSize[3], ;
>                 aSize[6] - aSize[4]  }
>      oPS:Create( oDC, aSize, GRA_PU_LOMETRIC )  Se vincula al espacio de 
> presentacin con el contexto de dispositivo
>   RETURN oPS
>
> Espero haber clarificado parte de la duda.
>
> Saludos
>
> Jos Luis Otermin
> Soporte Tcnico
> --------------------------------------------------------------------
> Foros de Usuarios: news://news.alaska-software.com
> Pgina Web: http://www.alaska-software.com
> Base de Conocimientos en la Web: http://www.alaska-software.com/kbase.shtm
> Oficina en Europa: Fax: +49 (0) 61 96 - 77 99 99 23
> Oficina en EEUU: Fax: +1 (646) 218 1281
> -------------------------------------------------------------------- 
>
>
Jos Luis Otermin [Alaska Software]Re: fuentes con impresoras matriciales
on Thu, 20 Nov 2008 06:01:24 -0300
Gustavo,

Quiza este fuente te sea de utilidad.

//////////////////////////////////////////////////////////////////////

  Copyright:
        Your Copyright goes here., (c) 2000. All rights reserved.

  Contents:
        This is a standard win32 exe.

//////////////////////////////////////////////////////////////////////

#include "Common.ch"
#include "Gra.ch"
#include "Xbp.ch"
#include "XBPDEV.CH"

////////////////////////////////////////////////

PROCEDURE AppSys

////////////////////////////////////////////////////////////

   SET CHARSET TO ANSI

RETURN

////////////////////////////////////////////////

PROCEDURE Main

////////////////////////////////////////////////////////////

   LOCAL oImpresora := MiImpresora():new():create()

   oImpresora:SetFont( "Courier New", 10)

   oImpresora:Print( 100, 200, "Funciona!" )
   oImpresora:NewLine()
   oImpresora:Print( 100 , , "Nueva Linea")
   oImpresora:Eject()
   oImpresora:destroy()

RETURN


////////////////////////////////////////////////////////////

CLASS MiImpresora FROM XbpPrinter

////////////////////////////////////////////////////////////
   EXPORTED:
   VAR oPS                     Espacio de Presentacin
   VAR oDC                     Contexto del Dispositivo
   VAR oFont                   Tipografia en uso
   VAR cNombreObjetoImpresora  Nombre de Impresora
   VAR lImprimiendo            .t. si estamos imprimiendo
   VAR nPosY                   Linea actual de Impresion
   VAR nFontHeight             Altura de cada linea

   METHOD init
   METHOD Create
   METHOD Destroy

   METHOD Print
   METHOD Eject

   METHOD SetFont
   METHOD Vertical
   METHOD Horizontal
   METHOD NewLine

ENDCLASS

////////////////////////////////////////////////////////////

METHOD MiImpresora:init( cNombreObjetoImpresora )

////////////////////////////////////////////////////////////
   IF ValType( cNombreObjetoImpresora ) == "C"
      ::cNombreObjetoImpresora := cNombreObjetoImpresora
   ENDIF
   ::XbpPrinter:init()
   ::oPS := XbpPresSpace():New()
RETURN self

////////////////////////////////////////////////////////////

METHOD MiImpresora:Create()

////////////////////////////////////////////////////////////
   ::lImprimiendo := .F.
   ::oFont        := NIL
   ::nFontHeight  := 10
   ::nPosY        := 0
   ::XbpPrinter:Create( ::cNombreObjetoImpresora )
   ::XbpPrinter:SetOrientation( XBPPRN_ORIENT_PORTRAIT )// 
XBPPRN_ORIENT_LANDSCAPE )
   ::oPS:Create( ::XbpPrinter, ::XbpPrinter:paperSize(), GRA_PU_LOMETRIC )
RETURN self

////////////////////////////////////////////////////////////

METHOD MiImpresora:Destroy()

////////////////////////////////////////////////////////////
   IF ::lImprimiendo
      ::oPS:device():EndDoc()
   ENDIF
RETURN NIL

////////////////////////////////////////////////////////////

METHOD MiImpresora:Print( nPosX, nPosY, cTexto )

////////////////////////////////////////////////////////////
   IF .NOT. ::lImprimiendo
      ::oPS:device():startDoc( AppName() )
      ::lImprimiendo := .T.
   ENDIF
   IF ValType( nPosY ) <> "N"
      nPosY := ::nPosY
   ENDIF
   GraStringAt(::oPS, {nPosX,nPosY} ,ConvToAnsiCP( cTexto ))
   ::nPosY := nPosY
RETURN self

////////////////////////////////////////////////////////////

 Establece una tipografa nueva y devuelve la anterior

METHOD MiImpresora:SetFont( cNombre, nPuntos )

////////////////////////////////////////////////////////////
   LOCAL oFont := ::oFont
   ::oFont                   := XbpFont():new()
   ::oFont:Familyname        := cNombre
   ::oFont:nominalPointSize  := nPuntos
   ::oFont:create()
   ::nFontHeight             := nPuntos
   GraSetFont( ::oPS, ::oFont )
RETURN oFont

////////////////////////////////////////////////////////////

METHOD MiImpresora:Eject()

////////////////////////////////////////////////////////////
   IF ::lImprimiendo
      ::oPS:device():NewPage()
   ENDIF
RETURN self

////////////////////////////////////////////////////////////

METHOD MiImpresora:Vertical()

////////////////////////////////////////////////////////////
RETURN ::XbpPrinter:SetOrientation( XBPPRN_ORIENT_PORTRAIT )

////////////////////////////////////////////////////////////

METHOD MiImpresora:Horizontal()

////////////////////////////////////////////////////////////
RETURN ::XbpPrinter:SetOrientation( XBPPRN_ORIENT_LANDSCAPE )


////////////////////////////////////////////////////////////

METHOD MiImpresora:NewLine()

////////////////////////////////////////////////////////////
    ::nPosY += ::nFontHeight
RETURN


Saludos

Jos Luis Otermin
Soporte Tcnico
--------------------------------------------------------------------
Foros de Usuarios: news://news.alaska-software.com
Pgina Web: http://www.alaska-software.com
Base de Conocimientos en la Web: http://www.alaska-software.com/kbase.shtm
Oficina en Europa: Fax: +49 (0) 61 96 - 77 99 99 23
Oficina en EEUU: Fax: +1 (646) 218 1281
--------------------------------------------------------------------
GustavoRe: fuentes con impresoras matriciales
on Thu, 20 Nov 2008 08:13:01 -0300
ok gracias jose luis
"Jos Luis Otermin [Alaska Software]" <jose.otermin@alaska-software.com> 
escribi en el mensaje 
news:588931f3$65ecd3df$8c74@news.alaska-software.com...
> Gustavo,
>
> Quiza este fuente te sea de utilidad.
>
> //////////////////////////////////////////////////////////////////////
> 
>   Copyright:
>         Your Copyright goes here., (c) 2000. All rights reserved.
> 
>   Contents:
>         This is a standard win32 exe.
> 
> //////////////////////////////////////////////////////////////////////
>
> #include "Common.ch"
> #include "Gra.ch"
> #include "Xbp.ch"
> #include "XBPDEV.CH"
>
> ////////////////////////////////////////////////
> 
> PROCEDURE AppSys
> 
> ////////////////////////////////////////////////////////////
>
>   SET CHARSET TO ANSI
>
> RETURN
>
> ////////////////////////////////////////////////
> 
> PROCEDURE Main
> 
> ////////////////////////////////////////////////////////////
>
>   LOCAL oImpresora := MiImpresora():new():create()
>
>   oImpresora:SetFont( "Courier New", 10)
>
>   oImpresora:Print( 100, 200, "Funciona!" )
>   oImpresora:NewLine()
>   oImpresora:Print( 100 , , "Nueva Linea")
>   oImpresora:Eject()
>   oImpresora:destroy()
>
> RETURN
>
>
> ////////////////////////////////////////////////////////////
> 
> CLASS MiImpresora FROM XbpPrinter
> 
> ////////////////////////////////////////////////////////////
>   EXPORTED:
>   VAR oPS                     Espacio de Presentacin
>   VAR oDC                     Contexto del Dispositivo
>   VAR oFont                   Tipografia en uso
>   VAR cNombreObjetoImpresora  Nombre de Impresora
>   VAR lImprimiendo            .t. si estamos imprimiendo
>   VAR nPosY                   Linea actual de Impresion
>   VAR nFontHeight             Altura de cada linea
>
>   METHOD init
>   METHOD Create
>   METHOD Destroy
>
>   METHOD Print
>   METHOD Eject
>
>   METHOD SetFont
>   METHOD Vertical
>   METHOD Horizontal
>   METHOD NewLine
>
> ENDCLASS
>
> ////////////////////////////////////////////////////////////
> 
> METHOD MiImpresora:init( cNombreObjetoImpresora )
> 
> ////////////////////////////////////////////////////////////
>   IF ValType( cNombreObjetoImpresora ) == "C"
>      ::cNombreObjetoImpresora := cNombreObjetoImpresora
>   ENDIF
>   ::XbpPrinter:init()
>   ::oPS := XbpPresSpace():New()
> RETURN self
>
> ////////////////////////////////////////////////////////////
> 
> METHOD MiImpresora:Create()
> 
> ////////////////////////////////////////////////////////////
>   ::lImprimiendo := .F.
>   ::oFont        := NIL
>   ::nFontHeight  := 10
>   ::nPosY        := 0
>   ::XbpPrinter:Create( ::cNombreObjetoImpresora )
>   ::XbpPrinter:SetOrientation( XBPPRN_ORIENT_PORTRAIT )// 
> XBPPRN_ORIENT_LANDSCAPE )
>   ::oPS:Create( ::XbpPrinter, ::XbpPrinter:paperSize(), GRA_PU_LOMETRIC )
> RETURN self
>
> ////////////////////////////////////////////////////////////
> 
> METHOD MiImpresora:Destroy()
> 
> ////////////////////////////////////////////////////////////
>   IF ::lImprimiendo
>      ::oPS:device():EndDoc()
>   ENDIF
> RETURN NIL
>
> ////////////////////////////////////////////////////////////
> 
> METHOD MiImpresora:Print( nPosX, nPosY, cTexto )
> 
> ////////////////////////////////////////////////////////////
>   IF .NOT. ::lImprimiendo
>      ::oPS:device():startDoc( AppName() )
>      ::lImprimiendo := .T.
>   ENDIF
>   IF ValType( nPosY ) <> "N"
>      nPosY := ::nPosY
>   ENDIF
>   GraStringAt(::oPS, {nPosX,nPosY} ,ConvToAnsiCP( cTexto ))
>   ::nPosY := nPosY
> RETURN self
>
> ////////////////////////////////////////////////////////////
> 
>  Establece una tipografa nueva y devuelve la anterior
> 
> METHOD MiImpresora:SetFont( cNombre, nPuntos )
> 
> ////////////////////////////////////////////////////////////
>   LOCAL oFont := ::oFont
>   ::oFont                   := XbpFont():new()
>   ::oFont:Familyname        := cNombre
>   ::oFont:nominalPointSize  := nPuntos
>   ::oFont:create()
>   ::nFontHeight             := nPuntos
>   GraSetFont( ::oPS, ::oFont )
> RETURN oFont
>
> ////////////////////////////////////////////////////////////
> 
> METHOD MiImpresora:Eject()
> 
> ////////////////////////////////////////////////////////////
>   IF ::lImprimiendo
>      ::oPS:device():NewPage()
>   ENDIF
> RETURN self
>
> ////////////////////////////////////////////////////////////
> 
> METHOD MiImpresora:Vertical()
> 
> ////////////////////////////////////////////////////////////
> RETURN ::XbpPrinter:SetOrientation( XBPPRN_ORIENT_PORTRAIT )
>
> ////////////////////////////////////////////////////////////
> 
> METHOD MiImpresora:Horizontal()
> 
> ////////////////////////////////////////////////////////////
> RETURN ::XbpPrinter:SetOrientation( XBPPRN_ORIENT_LANDSCAPE )
>
>
> ////////////////////////////////////////////////////////////
> 
> METHOD MiImpresora:NewLine()
> 
> ////////////////////////////////////////////////////////////
>    ::nPosY += ::nFontHeight
> RETURN
>
>
> Saludos
>
> Jos Luis Otermin
> Soporte Tcnico
> --------------------------------------------------------------------
> Foros de Usuarios: news://news.alaska-software.com
> Pgina Web: http://www.alaska-software.com
> Base de Conocimientos en la Web: http://www.alaska-software.com/kbase.shtm
> Oficina en Europa: Fax: +49 (0) 61 96 - 77 99 99 23
> Oficina en EEUU: Fax: +1 (646) 218 1281
> --------------------------------------------------------------------
>
>
>