Impresion desde Pocket

Impresion desde Pocket

Postby Carles » Wed Mar 22, 2006 9:59 am

Hola,

- Hay previsto realizar alguna clase para poder imprimir desde una Pocket ?

- Alguien tiene algun ejemplo de como abordar este tema ?

Saludos a todos
C.
User avatar
Carles
 
Posts: 1090
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Postby Antonio Linares » Wed Mar 22, 2006 10:30 am

Carles,

Por lo que se ha comentado aqui en los foros, la impresión se ha hecho via bluetooth, que en resumen es usar las funciones de uso de puertos comm.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41313
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Carles » Wed Mar 22, 2006 10:34 am

Antonio,

Ya probe algun ejemplo q vi por el foro, pero la verdad no me 'rulo' correctamente. Si alguien me puede echar un cable se lo agredeceria :D

Nota: Se puede probar con el simulador el tema bluetooth ?

Gracias.

C.
User avatar
Carles
 
Posts: 1090
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

user

Postby mamartin » Thu Mar 23, 2006 8:16 am

Yo imprimo mediante bluetooth.
El código que utilizo es el mismo que hay por el foro, pero
bueno aun así te pongo un ejemplo, por si te puede ayudar
en algo.

**************************
Local cTexto:=""
local hOut := CreateFile( "COM6:",GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL )
//com6 --> puerto com de salida
cTexto:= "TEXTO A IMPRIMIR" + chr(10) + chr(13) + chr(12)

SendText( hOut, cTexto )


CloseHandle( hOut )


**************************

FUNCTION SendText( hOut, cText )
local n

for n = 1 to Len( cText )
WriteByte( hOut, Asc( SubStr( cText, n, 1 ) ) )
next

RETURN NIL

Yo el problema que tenía era que no añadía al final de la cadena de texto el salto de página (chr(12)) con lo que el folio con el texto no llegaba a salir por la impresora.
mamartin
 
Posts: 12
Joined: Tue Feb 28, 2006 9:41 am

Postby Biel EA6DD » Thu Mar 23, 2006 6:06 pm

Siguiendo con el tema de imprimir, yo lo hago de la siguinete manera.
Escribo el listado en un fichero ASCII,
bien con Set PRINTER TO <file> y luego imprimiento con ?"Texto" o Qout("texto")
o creando el fichero con fCreate, y montado el listado con fWrite
una vez terminado, lo imprimo con la funcion que cirucla por el foro para imprimir via bluetooth.

Code: Select all  Expand view

...
    Set( 24 , cDirLocal+'carga.prn',.F.) //Redirecciono a fichero
    SET PRINTER ON
    SET DEVICE TO PRINTER
    BEGIN SEQUENCE
    Exi->(dbGoTop())
    Cabecera(++nPag,cTitulo,aRango,aLinCab) //Cabecera
    While !Exi->(Eof())
        If pRow()>26 .AND. Cfg->Prn=='S'
            Cabecera(++nPag,cTitulo,aRango,aLinCab)
        ENDIF
        IF Exi->Ini<>0
            ? Exi->ArtCod,DescArt(Exi->ArtCod),Exi->Ini //Detalle
        ENDIF
        Exi->(dbSkip())
    End
    ? Chr(12)
    END SEQUENCE
    SET PRINTER OFF
    SET PRINTER TO
    SendText( MemoRead( cDirlocal+'carga.prn')) //Envio al puerto serie
    fErase(cDirLocal+'carga.prn')
...
//---------------------------------
FUNCTION SendText( cText )
//---------------------------------
   LOCAL i, hOut := CreateFile( "COM6:",GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL )
   IF hOut==-1
      MsgStop('No pudo abrise el puerto de impresora')
   ELSE
      FOR i = 1 TO Len( cText )
         WriteByte( hOut, Asc( SubStr( cText, i, 1 ) ) )
      NEXT
      CloseHandle( hOut )
   ENDIF
RETURN NIL

Esto en impresoras conectadas por cable via RS232 funciona perfecto, pero con impresoras via bluetooth, no me termina el listado. Parece que no envia los datos a la impresora hasta tener una cantidad determinada de bytes. Con lo cual un trozo de listado se queda en el buffer, sin imprimir, y por ahora no se como vaciarlo(flush del com quizas).
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Postby Carles » Fri Mar 24, 2006 7:32 am

Hola mamartin,

Gracias por tu respuesta. Voy a intentar experimentar hoy, pero tengo unas cuantas dudas conceptuales:

1.- Se imprime directamente a una impresora q tiene dispositivo bluetooth, o al ordenador via bluetooth y usando una de sus impresoras asignadas ? (joder, quizas he dicho alguna tonteria :oops: )

2.- Como se configura los puertos en la Pocket ?


Biel,

Yo no tengo ni idea 'aun' para el manejo via bluetooth, pero al igual se deberia 'simular' un eject para forzar el vaciado del buffer (joder, me parece q la he vuelto a cargar... :lol: )


Venga, saludos y gracias a todos. A ver si conseguimos controlar este tema.
C.
User avatar
Carles
 
Posts: 1090
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Postby Biel EA6DD » Fri Mar 24, 2006 10:20 am

Carles,
el tema blutooth va de la siguiente manera.
Tienes una impresora bluetotth, o un conversor bluetooth de estos que se conectan al puerto centronics de la impresora, y por otro lado tienes el pocket PC con bluetooht.
Primero se asocia un dispositivo con el otro, la manera de hacerlo depende de cada fabricante, con eso tienes el enlace entre los dos dispositivos.

En el Pocket PC, el dispositivo bluetoth es tratado como un COM, entonces lo que haces es escribir sobre el puerto serie que tiene asociado el dispositvo bluetooth de tu PPC, y este lo envia al otro elemento asociado, que es la impresora.
Espero haberte aclarado algo el tema.
Last edited by Biel EA6DD on Fri Mar 24, 2006 5:09 pm, edited 1 time in total.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Postby Carles » Fri Mar 24, 2006 11:05 am

Biel,

Ok. Enterado y aclarado -> gracias. Yo veo importante el hecho de poder transmitir un documento en casa de un 'cliente'. A partir de aqui, seguro q los 'clientes', no tendran impresoras con bluetooth o conversores de este tipo, pero si es posible, q tengan ordenadores con esta capacidad, por lo q la solucion pasaria por transmitirle el documento via bluetooth e imprimirlo desde su impresora asociada, si tiene.

En este caso, la transmision hacia el PC, se generaria usando el mismo concepto que para impresora, no ?. Voy a probar a ver....

Gracias.
C.
User avatar
Carles
 
Posts: 1090
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Postby astursoft » Fri Mar 24, 2006 12:39 pm

Carles , es raro el señor que tiene bluetooht en su ordenador , lo que si es mas normal es que el vendedor , lleve una impresora bluetooht en el coche , conectada al mechero ( de estas tipo ticket) , y le mande la impresion a ese dispositivo ( los repartidores de cocacola , los de seur etc , funcionan así) .
Saludso.
Jose Luis Parajón
Asturias
User avatar
astursoft
 
Posts: 139
Joined: Sun Nov 06, 2005 6:14 pm
Location: Asturias

Postby Carles » Fri Mar 24, 2006 3:17 pm

Hola Jose Luis,

Entonces, cual crees q es la mejor manera si le tienes de pasar informacion a un cliente via Pocket ?

Saludos.
C.
User avatar
Carles
 
Posts: 1090
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Postby astursoft » Fri Mar 24, 2006 8:20 pm

yo creo que debemos distingir dos cosas :
1.- uso en autoventa o similar , donde lo que das es un albaran (o factura) , creo que en ese caso impresora de tickets bluetooth , lo mas portatil posible
en la furgoneta , mira esta http://www.deremate.com.ar/accdb/viewItem.asp?IDI=11720052
, coche de viajante o similar ( incluso existiran posiblemente aparatos pocket con impresora incluidas).
Mira aqui a seguro que ves algo que te ilumina:D :D (lo digo por lo de flamagas) http://www.flamagas.com/default.asp?NODO=5506

2.- el pasar unos datos al cliente , en ese caso , lo mas facil es construir un archivo de texto plano ( como indica biel ) y mandar el texto a un email del cliente .Luego el hace con el lo que crea oportuno .

Yo uso este segundo metodo en mi programa , y es muy operativo .
Saludso.
Jose Luis Parajón
Asturias
User avatar
astursoft
 
Posts: 139
Joined: Sun Nov 06, 2005 6:14 pm
Location: Asturias

Postby Carles » Mon Mar 27, 2006 6:43 am

Jose Luis,

Gracias por la iluminacion, uno no conocia este mundillo, jejeje. La opcion del email creo q es la q mejor se ajusta. Yo pensaba, q podria ser mas facil, traspasar un fichero, pero veo q hay demasiados factores a tener en cuenta. Al final y de momento., correo y tira palante.


Gracias a todos.

Saludos.
C.
User avatar
Carles
 
Posts: 1090
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Postby josevalle » Wed Mar 29, 2006 12:38 pm

Hola

Para imprimir en impresoras matriciales con bluetooth no hay problema. Lo que no se (y aún no he necesitado) es imprimir en impresoras windows. ¿Alguna experiencia?

Carles: Lo del mail para enviar un fichero a la central lo veo muy interesante. Avisanos si lo consigues.
Jose Valle
Bilbao
Spain
User avatar
josevalle
 
Posts: 65
Joined: Fri Oct 14, 2005 6:20 pm
Location: Bilbao

Postby astursoft » Wed Mar 29, 2006 1:06 pm

A usar el ingenio muchachos....... :D :D :D
Como tip ( con un poco de trampa ) .
Resulta que los señores usuarios de las pda usan con la central un sistema de mail de vodafone llamado algo asi como PUSH ¿¿ :shock:
Este sistema instala unas carpetas en el programa Tmail de microsoft de la pda para funcionar ( y nada de protocolos smtp y similar ).
Solucion .... usar el Tmail

Code: Select all  Expand view

cTexto:=  "Envio pedidos dia "+dtoc(date())+"a las " + Time()  +" del Vendedor "+cVend
eSubject:="?Subject="+ cTexto
eBody:="&body=" + cTexto
eTo:="mailto:"+ cDestino

eAttachment:="&attach="+ oApli:cCurdir+cdirsal+"\"+cfile

CmdLine = eto+eSubject+ebody+eAttachment

Shellexecute(ownd:hWnd,"open","Tmail.exe" ,cMdLine )


Parece facil verdad ? :D
Pues no tanto aqui nos encontramos con microsoft que tiene un bug en su tmail.exe .
Si ponemos archivo adjunto nos borra el destinatario y el body del mensaje .
Tenemos que decidir entre que el usuario busque el archivo a adjuntar , y los textos aparezcan escritos , o que ya vaya el archivo adjunto , pero el usuario añada de la agenda el destinatario ( para eso está ) y escriba el texto .
Yo cogui esta segunda .

Para los que usan mail normal por gprs una muy buena opcion es instalar un programa mail free llamado "npop" que a diferencia del tmail NO TIENE EL BUG , y el proceso es mas sencillo (usar el mismo codigo de antes pero sustituye tmail.exe por npop.exe )
Espero os sirva , a mi me salva la vida .
Saludso.
Jose Luis Parajón
Asturias
User avatar
astursoft
 
Posts: 139
Joined: Sun Nov 06, 2005 6:14 pm
Location: Asturias

Postby Carles » Wed Mar 29, 2006 1:12 pm

Jose Luis,


Muy bueeeeeno.

Code: Select all  Expand view
A usar el ingenio muchachos.......   


Siempre estamos con los tip y las trampas, jejeje. Lo importante es llegar al objetivo.

Thanks por el tip.
C.
User avatar
Carles
 
Posts: 1090
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Next

Return to FiveWin para Pocket PC

Who is online

Users browsing this forum: No registered users and 5 guests