PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → Fazendo uma Chamada telefonica com o 3CX pelo Windev
Fazendo uma Chamada telefonica com o 3CX pelo Windev
Iniciado por BOLLER, dez., 16 2019 3:33 PM - 1 resposta
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em dezembro, 16 2019 - 3:33 PM
Olá Prezados

FAZENDO UMA CHAMADA TELEFONICA USANDO O APP 3CX





O Windev é poderoso como qualquer outra linguagem atual com muitas facilidades que reduz em muito o desenvolvimento, vejamos esse exemplo abaixo:

Procedure F_Call_3CX(NumCall)

//Com grandes poderes, vêm grandes responsabilidades.

IF NumCall = "" OR NumCall = EOT OR Length(NumCall) = 0 THEN

Info("Nenhum número informado para ser discado!")

ELSE

//Valida se existe o programa instalado
IF fFileExist("C:\Program Files (x86)\3CXPhone\3CXPhone.exe") = True THEN

//limpa numero de telefone sem caracteres especiais ou espaço
NumCall = Replace(NumCall," ","")
NumCall = Replace(NumCall,"(","")
NumCall = Replace(NumCall,")","")
NumCall = Replace(NumCall,"-","")
NumCall = Replace(NumCall,".","")
NumCall = Replace(NumCall,"/","")
NumCall = Replace(NumCall,"=","")
NumCall = Replace(NumCall,"*","")
NumCall = Replace(NumCall,"+","") // nao liga para fora do pais

// tira espaços do final do numero
NumCall = NoSpace(NumCall)

// valida se é número
IF IsNumeric(NumCall) = False THEN
Info("Não é um número válido!")
END

//String que sera usada na formula
SourceCallExec is string = ""

//Endereço do exe pode ser modificado via arquivo ini
SourceCallExec += "ExeRun("+Charact(34)+"C:\Program Files (x86)\3CXPhone\3CXPhone.exe"+Charact(34)+", exeActive)"+CR

// tempo para abrir o app pode ser ajustado via ini
SourceCallExec += "Multitask(100)"+CR

//Posiciona mouse no centro da tela
SourceCallExec += "nHorizontal is int = MyInternalWindow..Width / 2"+CR
SourceCallExec += "nVertical is int = MyInternalWindow..Height / 2"+CR
SourceCallExec += "EmulateMouse(MyWindow,eiShift,nHorizontal,nVertical)"+CR

//Processamento do Número a ser Discado
x,Numero is int = 0

nTotal is int = Length(NumCall) //Quantidade de numeros a ser digitado no 3CX

//Monta comando a ser executado
LOOP(nTotal)
x++
Numero = NumCall[[x]] // le cada numero digitado e monta texto para ser executado pelo compile
SourceCallExec += "SendKey(NumToString("+Numero+"))"+CR
END

SourceCallExec += "SendKey(CR)" //evia um enter para discar

//Compila codigo montado na string em tempo de execução
Formula is Procedure = Compile(SourceCallExec)

IF ErrorOccurred = False THEN

Formula() // executa código //

IF ErrorOccurred = True
Info(ErrorInfo()) // exibe motivo do erro
ELSE
//Cadastrar Log de ligação numa tabela
//************************************
//TabelaCall3cx.DataHora = Datesys()+Timesys()
//TabelaCall3cx.Usuario = GloLogin
//TabelaCall3cx.PC = GloNamePC
//TabelaCall3cx.NumCall = NumCall
//TabelaCall3cx.Motivo = Edt_Motivo
//Hadd(TabelaCall3cx)
END

ELSE
Info(ErrorInfo()) // exibe motivo do erro
END

ELSE

// exibe motivo do erro
Info("3CX não encontrado em:","C:\Program Files (x86)\3CXPhone\3CXPhone.exe","Por favor valide com o Administrador da Rede.")

END

END


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Mensagem modificada, dezembro, 16 2019 - 3:34 PM
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em dezembro, 16 2019 - 3:47 PM
EXEMPLO





CÓDIGO FONTE

https://repository.windev.com/resource.awp?file_id=281474976710872;fazendo-uma-chamada-telefonica-com-3cx-pelo-windev


https://repository.windev.com/resource.awp…






--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/