Hola,
estoy realizando una aplicación en la que tengo que imprimir vía bluetooth (cuento con una HP Ipaq con Windows movile 5.0 y una impresora con un adaptador bluetooth), la forma de imprimir es igual que la que aparece en el ejemplo bluetooth.prg.
Mi aplicación cuenta con un botón imprimir que llama a la siguiente función:
FUNCTION WIMPALB()
Local cTexto:=""
Local cCabeza:=""
Local nTotal:=0
Local hOut
USE (cRutaFic+"\PARAPK") NEW
GO TOP
cPuerto:="COM"+str(PARAPK->PSALIDA,1)+":"
CLOSE PARAPK
//EL PUERTO ES EL COM8:
hOut := CreateFile( rtrim(cPuerto),;
GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL )
DO WHILE hOut < 0 .AND. nVeces <= 30
hOut := CreateFile( rtrim(cPuerto),; // Cambiamos el n£mero dependiendo del puerto de la pocket
GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL )
nVeces++
ENDDO
IF hOut < 0
MsgInfo(OemToAnsi("Ha sido imposible abrir el puerto para imprimir, por favor comprueba que est activado el bluetooth ") + ;
OemToAnsi("y que en par metros est n configurados los puertos de salida y entrada"),;
OemToAnsi("ATENCIàN"))
ELSE
cCabeza:= cTabu + substr(rtrim(PARA->NOMC) + " - " + rtrim(PARA->CIF),1,nCaracter) + chr(10) + chr(13)
GHC->(DBGOTOP())
GHC->(DBSEEK(GCV->NUM))
DO WHILE GHC->NALC=GCV->NUM .AND. .NOT. GHC->(EOF())
cTexto:=cTexto + SPACE(2) + transform(GHC->UNID,"@EZ 9,999.9") + " " + substr(GHC->TEXTO,1,20) + " " + transform(GHC->PREC,"@EZ 9,999.999") + ;
" " + transform(GHC->DTO,"@EZ 999") + " " + transform(GHC->TOTAL,"@EZ 999,999.999") + chr(10) + chr(13)
GHC->(DBSKIP(1))
ENDDO
SendText( hOut, cCabeza )
SendText( hOut, cTexto )
MsgInfo("ENVIADO A IMPRIMIR",OemToAnsi("ATENCIàN"))
CloseHandle( hOut )
ENDIF
RETURN NIL
STATIC FUNCTION SendText( hOut, cText )
local n
for n = 1 to Len( cText )
WriteByte( hOut, Asc( SubStr( cText, n, 1 ) ) )
next
RETURN NIL
**************************************************************************************************************************
El problema que tengo es que a pesar de que me abre bien el puerto (siempre me devuelve hOut > -1), hay veces en las que me imprime y otras veces no (enviando a imprimir siempre los mismos datos).
Es decir yo puedo pulsar una o dos veces el botón de imprimir y no imprimirme y pulsarlo una tercera vez e imprimir entonces, y a veces funciona bien a la primera.
Sobre todo me pasa cuando apago la pocket y la vuelvo a encender entonces la primera vez que mando imprimir no me suele funcionar, sin embargo a la segunda o tercera vez que lo intento si que funciona.
¿ Se les ocurre a que puede ser debido o como puedo solucionarlo ?
Muchas gracias
PROBLEMA IMPRESIÓN
Return to “FiveWin para Pocket PC”
Jump to
- English Forums
- ↳ FiveWin for CA-Clipper
- ↳ FiveWin for Harbour/xHarbour
- ↳ FiveTouch
- ↳ EasyReport, EasyDialog and EasyPreview
- ↳ FiveMac / FivePhone (iPhone, iPad)
- ↳ FiveLinux / FiveDroid (Android)
- ↳ FiveWin for Pocket PC
- ↳ mod_harbour
- Foros en Español
- ↳ FiveWin para CA-Clipper
- ↳ FiveWin para Harbour/xHarbour
- ↳ FiveTouch
- ↳ EasyReport, EasyDialog y EasyPreview
- ↳ FiveMac / FivePhone (iPhone, iPad)
- ↳ FiveLinux / FiveDroid (Android)
- ↳ FiveWin para Pocket PC
- ↳ mod_harbour
- Forum italiani
- ↳ All products support
- Forum Portuguese
- ↳ All products support
- Forum German
- ↳ All products support
- General
- ↳ WhatsNew / Novedades
- ↳ Bugs report & fixes / Informe de errores y arreglos
- ↳ To do - WishList / Por hacer - Peticiones
- ↳ Utilities / Utilidades
- ↳ Off Topic / Otros temas
- Artificial Intelligence
- ↳ TensorFlow and Python examples
- ↳ TensorFlow.dll for Harbour and FWH
- ↳ latest AI news
- ↳ Building TensorFlow.dll
- ↳ AI Introduction (Harbour code and samples)