Author | Topic: fuentes con impresoras matriciales | |
---|---|---|
Gustavo | fuentes 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 L | Re: 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 > > | |
Gustavo | Re: 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 L | Re: 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 >>> >>> >> >> > > | |
Gustavo | Re: 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 -------------------------------------------------------------------- | |
Gustavo | Re: 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 -------------------------------------------------------------------- | |
Gustavo | Re: 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 > -------------------------------------------------------------------- > > > |