PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → WM Imprimir Mobile - Print From Mobile
WM Imprimir Mobile - Print From Mobile
Débuté par Willian Fernando, 28 juin 2016 23:18 - 16 réponses
Membre enregistré
123 messages
Popularité : +46 (46 votes)
Posté le 28 juin 2016 - 23:18
1 - Procedimento para Conectar/Desconectar
1 - Procedimiento para Conectar/Desconectar
1 - Procedure to Connect and Disconnect

// Summary: Conectar/Desconectar con la Impresora
// Syntax:
//[ <Result> = ] PRINT_ConnectarDesconectar (<s_nombreDispositivo> is string [, <b_conectarDesconectar> is boolean [, <s_socketNombre> is string]])
//
// Parameters:
// s_nombreDispositivo (ANSI string): Nombre del Dispositivo Bluetooth conectado al Telefono
// b_conectarDesconectar (boolean - default value=1): Para Conectar(true) o Desconectar(false)
// s_socketNombre (ANSI string - default value=""): Nombre del Socket para la Desconexion
// Return Value:
// Unspecified Type: // String
//
// For instance:
// Indicate an example.
//
Procedure PRINT_ConnectarDesconectar(s_nombreDispositivo is string,b_conectarDesconectar is boolean = True , s_socketNombre is string = "")
WHEN EXCEPTION IN
IF b_conectarDesconectar = True THEN
s_listaDeDispositivos is string
s_dispositivo is string //Para el For Each
s_idDispositivo is string
s_mACAddress is string //Este es la informacion que nos interesa
s_listaDeDispositivos = BTListDevice(btSimpleList) //Lista todos los dispositivos Conectados
b_conectado is boolean = False
FOR EACH STRING s_dispositivo OF s_listaDeDispositivos SEPARATED by CR
s_idDispositivo = ExtractString(s_dispositivo, 1)
s_mACAddress = ExtractString(s_dispositivo, 2)
IF s_nombreDispositivo = BTInfoDevice(s_idDispositivo, btName) THEN //Si encontramos el Dispositivo que queremos, Conectamos
b_conectado = True
BREAK
END
END
IF b_conectado THEN
s_sock is string
s_sock = "SOCK"+s_mACAddress
IF NOT SocketConnectBluetooth(s_sock,"SerialPortServiceClass_UUID",s_mACAddress,15000) THEN
RESULT "No se Pudo Conectar a la Impresora " + ErrorInfo()
ELSE
SocketChangeTransmissionMode(s_sock,SocketEndTag,CRLF) //Cambiar a modo Fin de Texto para el envio de String
RESULT s_sock //en caso de Conexion retornamos el SOCK
END
ELSE
RESULT "No Se Encontro Dispositivo"
END
ELSE
IF SocketClose(s_socketNombre) THEN
RESULT ""
ELSE
RESULT "Error "+ErrorInfo()
END
END
DO
RESULT "Error Exception "+ExceptionInfo()
END


2 - Procedimento para Enviar Impresão
2 - Procedimiento para Enviar la Impresion
2 - Procedure to Send to Printer

// Summary: Envia Impresion para la Impresora
// Syntax:
//[ <Result> = ] PRINT_Imprimir (<s_nombreSocket> is string, <s_texto> is string)
//
// Parameters:
// s_nombreSocket (ANSI string): Nombre del Socket Creado por >> PRINT_ConnectarDesconectar <<
// s_texto (ANSI string): Texto a Imprimir
// Return Value:
// boolean: // True = Imprimio, False = No Imprimio
//
// For instance:
// Indicate an example.
//
Procedure PRINT_Imprimir(s_nombreSocket is string , s_texto is string)
IF NOT SocketWrite(s_nombreSocket,s_texto) THEN
Info("Error al Enviar Impresion"+ErrorInfo())
RESULT False
ELSE
RESULT True
END



Exemplo de como utilizar
Ejemplo de como utilizar
Example of using

s_socketImpresora is string
s_socketImpresora = PRINT_ConnectarDesconectar("MPD2",True,"")
IF Left(s_socketImpresora,4) = "SOCK" THEN //Conectado
PRINT_Imprimir(s_socketImpresora,"HOLA MUNDO Con Windev Mobile")
PRINT_ConnectarDesconectar("",False,s_socketImpresora)
ELSE
Info(s_socketImpresora)
END



Bom Proveito :merci:

--
Atte. Willian Fernando
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 29 juin 2016 - 00:47
:merci:

Parabéns Willian!

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membre enregistré
123 messages
Popularité : +46 (46 votes)
Posté le 29 juin 2016 - 16:55
A modo de correção
Correccion

no primeiro metodo
en el primer metodo
In the first method

IF SocketClose(s_socketNombre) THEN
RESULT ""
ELSE
RESULT "Error "+ErrorInfo()
END


deve estar assim
debe estar asi
You must be well

SocketClose(s_socketNombre)
RESULT ""


o metodo SocketClose http://doc.pcsoft.fr/en-US/?3070015&name=SocketClose não retorna valores
el metodo SocketClose http://doc.pcsoft.fr/en-US/?3070015&name=SocketClose no devuelve valores
the method SocketClose http://doc.pcsoft.fr/en-US/?3070015&name=SocketClos does not return values

--
Atte. Willian Fernando
Membre enregistré
123 messages
Popularité : +46 (46 votes)
Posté le 19 octobre 2016 - 18:12
So a modo complementar , usamos as impresoras desta empresa na CHINA

http://www.regotek.com/product/portable_printer_1.html

especificamente este modelo (MATRICIAL)

http://www.regotek.com/product/product43.html

--
Atte. Willian Fernando
Posté le 01 décembre 2016 - 14:24
Hola William,
me puedes contactar por skype ? mi skype es avancys o por whatsapp al +57 318 350 44 91
Estuve probando tu codigo pero no me conecta la impresora ?
Saludos,
Manuel from Colombia
Membre enregistré
123 messages
Popularité : +46 (46 votes)
Posté le 02 décembre 2016 - 18:43
Manuel hay varias coincidencias

agregame
willan_fer@hotmail.com (Skype)

--
Atte. Willian Fernando
Membre enregistré
217 messages
Popularité : +12 (12 votes)
Posté le 29 décembre 2016 - 23:58
Hi everybody,
Thank you very much for this job Willian Fernando and for sharint it with us.

I'm wondering something.

The code you gave works only with a specific model of a printer ?
Can it be adapted to some other models of printer ?
Membre enregistré
123 messages
Popularité : +46 (46 votes)
Posté le 03 janvier 2017 - 18:34
In Theory should work with almost all Bluethoot models that print by SOCKET

Monsieur RÉDA a écrit :
Hi everybody,
Thank you very much for this job Willian Fernando and for sharint it with us.

I'm wondering something.

The code you gave works only with a specific model of a printer ?
Can it be adapted to some other models of printer ?


--
Atte. Willian Fernando
Membre enregistré
217 messages
Popularité : +12 (12 votes)
Posté le 03 janvier 2017 - 22:04
Thank you very much Willian Fernando.
I have just tried to print with SEWOO LK-P31, it worked!
It's a very good work you shared with us. Thanks again !
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 11 janvier 2017 - 16:16
Monsieur RÉDA, If you can do something else, please share with us!

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membre enregistré
217 messages
Popularité : +12 (12 votes)
Posté le 12 janvier 2017 - 14:18
Hi,
The procedures that Fernando shared with us are ready to be directly used.
I did not do anything more
If i do something more, i ll not hesitate to share it.
Membre enregistré
123 messages
Popularité : +46 (46 votes)
Posté le 13 janvier 2017 - 18:54
Perfect

Monsieur RÉDA a écrit :
Hi,
The procedures that Fernando shared with us are ready to be directly used.
I did not do anything more
If i do something more, i ll not hesitate to share it.


--
Atte. Willian Fernando
Posté le 16 janvier 2017 - 18:37
Caros, graças ao exemplo acima hj consigo imprimir via BT de um tablet android para uma impressora URANO ZP220. Ainda não consigo negrito, imagem ou etc. Mas por agora esta ok. Preciso que no final de cada impressão a impressora acione a guilhotina, pedi ao fabricante que me envia-se o comando e tive a seguinte resposta:

**************Reposta do fabricante*************************
Boa tarde,

envie o comando hex 1B 69



Atenciosamente,

Fábio Bica
**************************************************************
Com windev mobile, como eu passaria este comando para impressora?

Marcos Roberto.
Membre enregistré
11 messages
Popularité : +2 (2 votes)
Posté le 16 janvier 2017 - 18:38
Caros, graças ao exemplo acima hj consigo imprimir via BT de um tablet android para uma impressora URANO ZP220. Ainda não consigo negrito, imagem ou etc. Mas por agora esta ok. Preciso que no final de cada impressão a impressora acione a guilhotina, pedi ao fabricante que me envia-se o comando e tive a seguinte resposta:

**************Reposta do fabricante*************************
Boa tarde,

envie o comando hex 1B 69



Atenciosamente,

Fábio Bica
**************************************************************
Com windev mobile, como eu passaria este comando para impressora?

Marcos Roberto.
Posté le 06 janvier 2018 - 09:58
Buenos días Willian.

Muchas gracias por este código; me ha servido muchísimo.

Tengo una pregunta ¿cómo se puede hacer para imprimir un tipo de fuente específico, por ejemplo Arial, Times New Roman, etc? ¿Tendrías un ejemplo?

Te agradecería mucho la ayuda, ya que estoy desarrollando una app que imprime en una impresora bluetooth y tengo que cambiar el tipo de fuente.

Gracias de antemano.
Membre enregistré
123 messages
Popularité : +46 (46 votes)
Posté le 12 janvier 2018 - 20:50
Eso depende de la impresora, pero es muy probable que no se pueda, verifique con el proveedor si la misma posee soporte para imprimir otro tipo de fuente (normalmente nó), y si así fuera con el codigo que puse de ejemplo no seria posible ya que solo se envia TEXTO y nada mas

--
Atte. Willian Fernando
Membre enregistré
217 messages
Popularité : +12 (12 votes)
Posté le 23 avril 2018 - 13:40
Good Morning,
Do you think, it is possible to print Bar Code or QRCode with this printer using Socket ?

Thank you in advance.

Réda