Jump to content
Fivewin Brasil

Leaderboard

Popular Content

Showing content with the highest reputation on 08/21/2021 in all areas

  1. hcunha

    SMS longo

    Oi Tales, Desculpe a demora pra responder amigo. Vai logo abaixo a rotina pra enviar SMS caso ainda precise ou se alguém do fórum precisar. Pra enviar pra vários modens basta selecionar as portas seriais de cada modem que acredito que vai enviar normalmente, ou coloque um loop pra correr entre as portas dos modens e enviar de cada serial. * A rotina abaixo é bem simples e funciona perfeitamente. Já tenho 4 clientes usando as mensagens sem problema cMsg := alltrim(cMsg) // Aqui é a mensagem cTel := alltrim(cTel) // Aqui é o telefone que vai receber a mensagem. Lembrando que tem que ser '55'+codigo de area+numero do celular nBits := 9600 // Aqui é parametro da porta serial, normalmente é 9600 cPort := '04' //Aqui a porta serial, no caso é a porta 04 smsenviado := .f. // Aqui é só uma variável pra retornar .t. ou .f. caso envie ou não o sms ** Aqui abre a porta serial do modem cBuffer := space(2048) nComm := OpenComm("COM"+alltrim(str(cPort)), 9600, 128) if BuildCommDcb("COM"+alltrim(str(cPort))+":9600,n,8,1", @cBuffer ) if !SetCommState(cBuffer) msgmens('Erro ao abrir porta serial '+alltrim(str(cPort)),'Atenção',1) CloseComm(nComm) return .f. endif ** Aqui inicia a comunicação com o primeiro parametro AT if(nBytes := WriteComm(nComm,"AT"+Chr(13))) < 0 msgmens('Erro ao gravar comando AT na serial '+alltrim(str(cPort)),'Atenção',1) CloseComm(nComm) return .f. endif sysWait(1) ** Aqui configura pra mensagem de texto if(nBytes := WriteComm(nComm,"AT+CMGF=1"+Chr(13))) < 0 msgmens('Erro ao gravar comando CMGF=1 na serial '+alltrim(str(cPort)),'Atenção',1) CloseComm(nComm) return .f. endif sysWait(1) ** Aqui envia a mensagem if(nBytes := WriteComm(nComm,"AT+CMGS="+Chr(34)+cTel+Chr(34)+Chr(13)+cMsg+Chr(26))) < 0 msgmens('Erro ao gravar comando AT+CMGS na serial '+alltrim(str(cPort)),'Atenção',1) CloseComm(nComm) return .f. endif sysWait(1) ** Aqui finaliza o envio fixando os valores na saida serial do modem if FlushComm(nComm,1 ) != 0 msgmens('Erro ao fixar mensagem na serial '+alltrim(str(cPort)),'Atenção',1) CloseComm(nComm) return .f. endif sysWait(1) smsenviado := .t. else msgmens('Porta serial não conectada','Atenção',1) CloseComm(nComm) return .t. endif ** Aqui finaliza o procedimento if FlushComm(nComm,1) != 0 msgmens('Erro ao fixar gravação de dados na serial'+alltrim(str(cPort)),'Atenção',1) return .f. endif CloseComm(nComm) endif
    1 point
×
×
  • Create New...