Página 1 de 1

Seleccionar Imoresora

Publicado: Vie Dic 30, 2005 11:15 am
por Paco V
A ver si lo voy pillando.
Esto es lo que creo que deberia hacer para que funcionara.
Pues selecciona bien, me cambia el tipo de letra, pero al final imprime por
la que tengo predeterminada en WINDOWS.
METHOD ACTIVAIMP( oSender ) CLASS TForm8
LOCAL oFrm, oReport, oFont1, oFont2, n := 1

With Object oFont1 := TFont():New()
:cName := "Arial"
:nSize := 14
:lBold := .T.
END WITH

With Object oFont2 := TFont():New()
:cName := "Arial"
:nSize := 8
:lBold := .f.
END WITH
REPORT oReport TITLE "PRUEBA"FONT 1;
HEADER "Correspondiente a HOY"+" Impreso por el usuario:
"+ APPDATA:NombrOp;
FOOTER "Página: " + lTrim( Str( oReport:nPage ) ) ALIGN
taCENTER ;
FONT 2;
FONT oFont1, oFont2
*************
do while n < len(printer:aPrinterNames)+1
if Printer:aPrinter[n]= "LAQUEQUIERO"
Printer:nPrinterIndex := n
n := 8
else
n:= n+1
endif
enddo
**************
COLUMN OF oReport ;
TITLE "RESID." ;
DATA SUBSTR(::oDbfDataSet1:Residencia,1,5);
FONT 2
COLUMN OF oReport ;
TITLE "Nº VALE" ;
DATA VAL(::oDbfDataSet1:Numero);
FONT 2
RUN REPORT oReport
RETURN Nil

Seleccionar Imoresora

Publicado: Sab Dic 31, 2005 7:05 pm
por _support_
Paco,
No termino de entender porque tienes que hacer un bucle con las impresoras
instalados. Me cuesta seguir tu código. Como te ha comentado José Giménez
'nPrinterIndex' cambia la impresora por defecto para la aplicación por
decirlo de una forma sencilla.
Un saludo,
"Paco V" <ssi@ono.com> escribió en el mensaje
news:43b508c5$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> A ver si lo voy pillando.
>
> Esto es lo que creo que deberia hacer para que funcionara.
>
> Pues selecciona bien, me cambia el tipo de letra, pero al final imprime
> por
> la que tengo predeterminada en WINDOWS.
>
>
> METHOD ACTIVAIMP( oSender ) CLASS TForm8
> LOCAL oFrm, oReport, oFont1, oFont2, n := 1
>
> With Object oFont1 := TFont():New()
> :cName := "Arial"
> :nSize := 14
> :lBold := .T.
> END WITH
>
> With Object oFont2 := TFont():New()
> :cName := "Arial"
> :nSize := 8
> :lBold := .f.
> END WITH
>
> REPORT oReport TITLE "PRUEBA"FONT 1;
> HEADER "Correspondiente a HOY"+" Impreso por el usuario:
> "+ APPDATA:NombrOp;
> FOOTER "Página: " + lTrim( Str( oReport:nPage ) ) ALIGN
> taCENTER ;
> FONT 2;
> FONT oFont1, oFont2
> *************
> do while n < len(printer:aPrinterNames)+1
> if Printer:aPrinter[n]= "LAQUEQUIERO"
> Printer:nPrinterIndex := n
> n := 8
> else
> n:= n+1
> endif
> enddo
> **************
> COLUMN OF oReport ;
> TITLE "RESID." ;
> DATA SUBSTR(::oDbfDataSet1:Residencia,1,5);
> FONT 2
> COLUMN OF oReport ;
> TITLE "Nº VALE" ;
> DATA VAL(::oDbfDataSet1:Numero);
> FONT 2
> RUN REPORT oReport
> RETURN Nil
>
>
>

Seleccionar Imoresora

Publicado: Sab Dic 31, 2005 7:37 pm
por jfgimenez
Paco,
> do while n < len(printer:aPrinterNames)+1
> if Printer:aPrinter[n]= "LAQUEQUIERO"
> Printer:nPrinterIndex := n
> n := 8
> else
> n:= n+1
> endif
> enddo
Ojo con esto. Tendrías que comparar el nombre exacto de la impresora,
incluyendo mayúsculas y minúsculas. La mejor forma de hacerlo sería algo así
(supongamos que la impresora es una Epson Stylus):
IF ( n := AScan( Printer:aPrinterNames, {| x | At( "EPSON STYLUS",
Upper( x ) ) > 0 } ) ) > 0
Printer:nPrinterIndex := n
ENDIF
--
Un saludo,
José F. Giménez

Seleccionar Imoresora

Publicado: Dom Ene 01, 2006 1:04 pm
por paco-ssi
Perfecto Jose.
Pero el asunto es que lo que te he puesto debiera funcionar.
De hecho me cambia el tipo de letra, orientacion, etc. Pero al final lo
lanza por la impresora Predeterminada.
Ese es mi problema.
Gracias y que este 2006 sea Feliz para Todos.
Paco V
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:[email=43b6cfec@ozsrvnegro.ozlan.local...]43b6cfec@ozsrvnegro.ozlan.local...[/email]
> Paco,
>
>> do while n < len(printer:aPrinterNames)+1
>> if Printer:aPrinter[n]= "LAQUEQUIERO"
>> Printer:nPrinterIndex := n
>> n := 8
>> else
>> n:= n+1
>> endif
>> enddo
>
> Ojo con esto. Tendrías que comparar el nombre exacto de la impresora,
> incluyendo mayúsculas y minúsculas. La mejor forma de hacerlo sería algo
> así (supongamos que la impresora es una Epson Stylus):
>
> IF ( n := AScan( Printer:aPrinterNames, {| x | At( "EPSON STYLUS",
> Upper( x ) ) > 0 } ) ) > 0
> Printer:nPrinterIndex := n
> ENDIF
>
> --
> Un saludo,
>
> José F. Giménez
>

Seleccionar Imoresora

Publicado: Dom Ene 01, 2006 9:05 pm
por _support_
Paco,
Te recomiendo que revises el ejemplo PrinterInfo que se ofrece con Xailer.
Si sigues teniendo dudas o estimas que hay un fallo te rogaría que nos
mandases un pequeño proyecto que muestre el problema.
Un saludo,
"Paco V." <paco-ssi@usuarios.retecal.es> escribió en el mensaje
news:[email=43b7c547@ozsrvnegro.ozlan.local...]43b7c547@ozsrvnegro.ozlan.local...[/email]
> Perfecto Jose.
>
> Pero el asunto es que lo que te he puesto debiera funcionar.
> De hecho me cambia el tipo de letra, orientacion, etc. Pero al final lo
> lanza por la impresora Predeterminada.
> Ese es mi problema.
>
> Gracias y que este 2006 sea Feliz para Todos.
>
> Paco V
>
> "Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
> news:[email=43b6cfec@ozsrvnegro.ozlan.local...]43b6cfec@ozsrvnegro.ozlan.local...[/email]
>> Paco,
>>
>>> do while n < len(printer:aPrinterNames)+1
>>> if Printer:aPrinter[n]= "LAQUEQUIERO"
>>> Printer:nPrinterIndex := n
>>> n := 8
>>> else
>>> n:= n+1
>>> endif
>>> enddo
>>
>> Ojo con esto. Tendrías que comparar el nombre exacto de la impresora,
>> incluyendo mayúsculas y minúsculas. La mejor forma de hacerlo sería algo
>> así (supongamos que la impresora es una Epson Stylus):
>>
>> IF ( n := AScan( Printer:aPrinterNames, {| x | At( "EPSON STYLUS",
>> Upper( x ) ) > 0 } ) ) > 0
>> Printer:nPrinterIndex := n
>> ENDIF
>>
>> --
>> Un saludo,
>>
>> José F. Giménez
>>
>
>

Seleccionar Imoresora

Publicado: Dom Ene 01, 2006 9:36 pm
por paco-ssi
Ignacio:
Seguramente el problema sea mio. Voy a intentar crear un pequeño ejemplo a
ver si me funciona y si no os comento.
Gracias
Paco V
"Ignacio Ortiz de Zúñiga" <_support_@xailer.com> escribió en el mensaje
news:[email=43b835ee@ozsrvnegro.ozlan.local...]43b835ee@ozsrvnegro.ozlan.local...[/email]
> Paco,
>
> Te recomiendo que revises el ejemplo PrinterInfo que se ofrece con Xailer.
> Si sigues teniendo dudas o estimas que hay un fallo te rogaría que nos
> mandases un pequeño proyecto que muestre el problema.
>
> Un saludo,
>
> "Paco V." <paco-ssi@usuarios.retecal.es> escribió en el mensaje
> news:[email=43b7c547@ozsrvnegro.ozlan.local...]43b7c547@ozsrvnegro.ozlan.local...[/email]
>> Perfecto Jose.
>>
>> Pero el asunto es que lo que te he puesto debiera funcionar.
>> De hecho me cambia el tipo de letra, orientacion, etc. Pero al final lo
>> lanza por la impresora Predeterminada.
>> Ese es mi problema.
>>
>> Gracias y que este 2006 sea Feliz para Todos.
>>
>> Paco V
>>
>> "Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el
>> mensaje news:[email=43b6cfec@ozsrvnegro.ozlan.local...]43b6cfec@ozsrvnegro.ozlan.local...[/email]
>>> Paco,
>>>
>>>> do while n < len(printer:aPrinterNames)+1
>>>> if Printer:aPrinter[n]= "LAQUEQUIERO"
>>>> Printer:nPrinterIndex := n
>>>> n := 8
>>>> else
>>>> n:= n+1
>>>> endif
>>>> enddo
>>>
>>> Ojo con esto. Tendrías que comparar el nombre exacto de la impresora,
>>> incluyendo mayúsculas y minúsculas. La mejor forma de hacerlo sería algo
>>> así (supongamos que la impresora es una Epson Stylus):
>>>
>>> IF ( n := AScan( Printer:aPrinterNames, {| x | At( "EPSON STYLUS",
>>> Upper( x ) ) > 0 } ) ) > 0
>>> Printer:nPrinterIndex := n
>>> ENDIF
>>>
>>> --
>>> Un saludo,
>>>
>>> José F. Giménez
>>>
>>
>>
>
>

Seleccionar Imoresora

Publicado: Lun Ene 02, 2006 6:18 pm
por jfgimenez
Paco,
> Pero el asunto es que lo que te he puesto debiera funcionar.
> De hecho me cambia el tipo de letra, orientacion, etc. Pero al final lo
> lanza por la impresora Predeterminada.
> Ese es mi problema.
Puede ser que no coindida exactamente la cadena que tú has puesto con el
nombre de la impresora. P.ej., yo tengo instalada la impresora "Brother
HL-5150D series (USB)"; pero si yo busco el nombre "HL-5150" pues no la va a
encontrar. Por eso te puse un ejemplo de búsqueda con ascan() y en
mayúsculas, para afinar mejor. Si usas lo que yo te puse con el ejemplo que
te acabo de poner, funciona perfectamente. Pero eso sí, la cadena a buscar
la tienes que escribir en mayúsculas.
--
Un saludo,
José F. Giménez

Seleccionar Imoresora

Publicado: Lun Ene 02, 2006 6:39 pm
por Paco V
Gracias Jose voy a probar, ya que si me cambia el tipo de letra y la orientación,
debiera funcionar.
Seguro que hago algo mal al final, pero por si acaso os lo pregunto.
Gracias por vuestro tiempo.
Paco V
"Jose F. Gimenez" <jfgimenez@wanadoo.es> wrote:
>Paco,
>
>> Pero el asunto es que lo que te he puesto debiera funcionar.
>> De hecho me cambia el tipo de letra, orientacion, etc. Pero al final lo
>> lanza por la impresora Predeterminada.
>> Ese es mi problema.
>
>Puede ser que no coindida exactamente la cadena que tú has puesto con el
>nombre de la impresora. P.ej., yo tengo instalada la impresora "Brother
>HL-5150D series (USB)"; pero si yo busco el nombre "HL-5150" pues no la
va a
>encontrar. Por eso te puse un ejemplo de búsqueda con ascan() y en
>mayúsculas, para afinar mejor. Si usas lo que yo te puse con el ejemplo
que
>te acabo de poner, funciona perfectamente. Pero eso sí, la cadena a buscar
>la tienes que escribir en mayúsculas.
>
>--
>Un saludo,
>
>José F. Giménez
>
>

Seleccionar Imoresora

Publicado: Mié Ene 04, 2006 11:06 pm
por paco-ssi
Solucionado el tema de la impresora.
No hacía la selección en el momento adecuado.
Gracias.
Paco V
"Paco V" <ssi@ono.com> escribió en el mensaje
news:43b9653f$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Gracias Jose voy a probar, ya que si me cambia el tipo de letra y la
> orientación,
> debiera funcionar.
>
> Seguro que hago algo mal al final, pero por si acaso os lo pregunto.
>
> Gracias por vuestro tiempo.
>
> Paco V
>
> "Jose F. Gimenez" <jfgimenez@wanadoo.es> wrote:
>>Paco,
>>
>>> Pero el asunto es que lo que te he puesto debiera funcionar.
>>> De hecho me cambia el tipo de letra, orientacion, etc. Pero al final lo
>
>>> lanza por la impresora Predeterminada.
>>> Ese es mi problema.
>>
>>Puede ser que no coindida exactamente la cadena que tú has puesto con el
>
>>nombre de la impresora. P.ej., yo tengo instalada la impresora "Brother
>
>>HL-5150D series (USB)"; pero si yo busco el nombre "HL-5150" pues no la
> va a
>>encontrar. Por eso te puse un ejemplo de búsqueda con ascan() y en
>>mayúsculas, para afinar mejor. Si usas lo que yo te puse con el ejemplo
> que
>>te acabo de poner, funciona perfectamente. Pero eso sí, la cadena a buscar
>
>>la tienes que escribir en mayúsculas.
>>
>>--
>>Un saludo,
>>
>>José F. Giménez
>>
>>
>