#include "totvs.ch"
#define PRODUCT_MODE "PRODUCT_MODE" // Decode only UPC and EAN barcodes. This is the right choice for shopping apps which get prices, reviews, etc. for products.
#define ONE_D_MODE "ONE_D_MODE" // Decode only 1D barcodes.
#define QR_CODE_MODE "QR_CODE_MODE" // Decode only QR codes.
#define DATA_MATRIX_MODE "DATA_MATRIX_MODE" // Decode only Data Matrix codes.
#define AZTEC_MODE "AZTEC_MODE" // Decode only Aztec.
#define PDF417_MODE "PDF417_MODE" // Decode only PDF417.
Function u_tMobile()
Local calibri18Black := TFont():New("Calibri",,018,,.T.,,,,,.F.,.F.)
DEFINE MSDIALOG oDlg TITLE "Testes com TMobile" FROM 000, 000 TO 115, 700 COLORS 0, 16777215 PIXEL
@ 005, 040 SAY oSay1 PROMPT "Integrações disponíveis na classe tMobile para a plataforma TOTVS | FatClient Embarcado" SIZE 260, 016 OF oDlg FONT calibri18Black COLORS 0, 16777215 PIXEL
@ 035, 007 BUTTON oButton1 PROMPT "Ler Código de Barras" SIZE 100, 012 OF oDlg ACTION {|| u_tmbl1() } PIXEL
@ 035, 130 BUTTON oButton2 PROMPT "Listar Dispositivos Bluetooth Pareados" SIZE 100, 012 OF oDlg ACTION {|| u_tmbl2() } PIXEL
@ 035, 245 BUTTON oButton2 PROMPT "Capturar Foto" SIZE 100, 012 OF oDlg ACTION {|| u_tmbl3() } PIXEL
ACTIVATE DIALOG oDlg CENTERED
Return
Function u_tmbl1()
LOCAL oMbl
LOCAL cBarType
LOCAL aBarResult
oMbl:= TMobile():New()
// Especificar aqui um tipo de código de barras para limitar a leitura.
//cBarType:= PRODUCT_MODE;
cBarType:= "";
aBarResult:= oMbl:BarCode()
If aBarResult[1] = ""
sMsg := "Nenhum código de barras foi lido."
Else
sMsg := "Código de barras lido:" + chr(13) + chr(13) + "Código: " + aBarResult[1] + chr(13) + "Formato: " + aBarResult[2]
EndIf
MsgInfo(sMsg)
Return
Function u_tmbl2()
LOCAL oMbl
LOCAL aDevicesResult
Local i
oMbl:= TMobile():New()
aDevicesResult:= oMbl:GetPairedBluetoothDevices()
sMsg := ""
For i := 1 to len(aDevicesResult)
sMsg := sMsg + "Nome: " + aDevicesResult[i][1] + chr(13)
sMsg := sMsg + "Endereço: " + aDevicesResult[i][2] + chr(13) + chr(13)
Next i
If sMsg = ""
sMsg := "Nenhum dispositivo pareado ou interface Bluetooth desligada."
Else
sMsg := "Dispositivos Bluetooth Pareados:" + chr(13) + chr(13) + sMsg
EndIf
MsgInfo(sMsg)
Return
Function u_tmbl3()
Local cFilePath
Local cMsg
DEFINE DIALOG oDlg TITLE "Exemplo TMobile TakePicture" FROM 180,180 TO 610,700 PIXEL
oMbl:= TMobile():New()
cFilePath:= oMbl:TakePicture()
if (cFilePath = "")
cMsg := "Nenhuma imagem foi gravada."
else
cMsg := "Arquivo: " + cFilePath
endif
// Por ser o Android um sistema baseado no linux e para indicar que o arquivo encontra-se no
// lado do client, é adicionada uma letra de unidade de disco fictícia.
cFilePath:= "C:" + cFilePath
oTBitmap1 := TBitmap():New(01,01,260,184,,cFilePath,.F.,oDlg,,,.F.,.T.,,,.F.,,.T.,,.F.)
oTBitmap1:lAutoSize := .F.
oSay:= TSay():New(187, 02, {||cMsg},oDlg,,,,,,.T.,CLR_RED,CLR_WHITE,200,10)
oTButton1 := TButton():New( 200, 110, "Fechar", oDlg, {||oDlg:End()},40,10,,,.F.,.T.,.F.,,.F.,,,.F. )
ACTIVATE DIALOG oDlg CENTERED
Return
|