Jump to content
Fivewin Brasil

SMS longo


hcunha

Recommended Posts

Senhores,

          Faz tempo que não acesso o site. Desde a época da ideia do TEF. Acho voces não devem nem lembrar, Rssss.

          Olha só, estou usando o envio de SMS usando chip com modem via  porta serial usando HBComm, WRITECOMM, etc. Está funcionando bem, porem só envia pequenas mensagens, nas mensagens mais longas e abaixo do limite de 140 caracteres as mensagens não enviam. Parece que quando tem muitos espaços ente as palavras não vai, alguém já passou por isso? Se alguém tiver uma solução, por favor, me ajude.

Link to comment
Share on other sites

Olá de novo,

          Só pra ficar mais claro, se eu colocar o texto 1 abaixo a sms vai sem problema, mas se eu colocar o texto 2 abaixo o sms não envia. O que pode estar errado no texto 2 ?

Texto 1 : 'Ideal Magazine Teste Teste de mensagem 02 Teste de mensagem 03 Teste de mensagem 04 Teste de mensagem 05 Teste de mensagem 06 Teste de mensagem 07'

Texto 2 : 'Ideal Magazine informa que existem valores em aberto na loja. Ligue 99-3521-4301 para regularizar. Desconsidere se ja realizou o pagamento.'

 

          Se alguém puder me ajudar, eu agradeço.

 

 

Link to comment
Share on other sites

Ola,

 

cMsg := alltrim(cMsg)
          cTel := alltrim(cTel)
          nBits := 9600
          cPort := val(substr(commensagem,5,2))
          smsenviado := .f.

          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
             
                  
             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)
             
                                    
             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)

* Todas as mensagens abaixo envia sem problema, menos essa  'Ideal Magazine Ltda informa que existem valores em aberto na loja. Ligue 99-3521-4301 para regularizar. Desconsidere se ja realizou o pagamento.'
             

*cMsg := 'Pequena amostra de mensagem de novo pra demonstracao 01'
*https://www.developershome.com/sms/sendSmsByAtCommands.asp
*acMsg := cMsg
*cMsg := substr(alltrim(acMsg),1,27)
*cMsg := 'IDEAL_MAGAZINE_LTDA_informa_que_existem_valores_xxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxx_xxxxxxxxxxxxx_xxxxxxx'
*cMsg := 'IDEAL_MAGAZINE_LTDA_informa_que_existem_valores_em_aberto_na_loja._Ligue_99-3521-4301_para_regularizar._Desconsidere_se_ja_realizou_o_pagamento.'
cMsg := 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

             consms(2,15)
msginfo(cmsg,len(cmsg))

             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)
             
             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        
          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)

Link to comment
Share on other sites

Testes básicos:

  1. Desative temporariamente o antivírus (e etc) e teste.
  2. Salve o texto em arquivo no ponto exato do envio. Abra o arquivo em algum editor em modo binário e veja se não tem algum caracter estranho, alguns são invisíveis ao controles e afetam o funcionamento.
  3. Reinicie tudo, software, hardware/dispositivos, e comece enviando pela mensagem suspeita. Se a mensagem for enviada/recebida normalmente então o problema deve ser outro.
  4. Envie a mensagem problemática pelo dispositivo, sem o software.
  5. Envie a mensagem problemática sem o '99'
  6. Conecte o dispositivo em outro computador e teste.
  7. Testar com outros encoding (?!?!). 

reporte os resultados (1 ao 6).
[],
idlagam.com
facebook.com/DevClubForDevelopers

15 horas atrás, hcunha disse:

Olá de novo,

          Só pra ficar mais claro, se eu colocar o texto 1 abaixo a sms vai sem problema, mas se eu colocar o texto 2 abaixo o sms não envia. O que pode estar errado no texto 2 ?

Texto 1 : 'Ideal Magazine Teste Teste de mensagem 02 Teste de mensagem 03 Teste de mensagem 04 Teste de mensagem 05 Teste de mensagem 06 Teste de mensagem 07'

Texto 2 : 'Ideal Magazine informa que existem valores em aberto na loja. Ligue 99-3521-4301 para regularizar. Desconsidere se ja realizou o pagamento.'

 

          Se alguém puder me ajudar, eu agradeço.

 

 

 

Link to comment
Share on other sites

Tentou com outro chip, operadora?

Enviar parte da mensagem e incrementando (a mesma mensagem), algo como:
FOR nPos:=50 to LEN(cText2)
   enviaSMS(LEFT(cText2, nPos))
   inkey(.2)
NEXT

 

37 minutos atrás, hcunha disse:

 

Nada deu certo, minha esperança era o item 2 do texto com caracteres estranhos.

 

Link to comment
Share on other sites

Eric.Developer, ja tentei com outras operadoras sim e com outro modem tambem.

Kapiaba, esse link é para modem-roteador de rede wifi, o que estou usando é aquele modem pequeno que coloco o chip da operadora e  ligo na saida USB. O modelo que uso é o Huawei E303.

Hoje piorou, kkk, não esta enviando nem mensagem pequena agora. Lascou foi tudo e já estou com vontade de tocar fogo nesse modem, :D:D:D

 

Link to comment
Share on other sites

Senhores,

          O problema foi resolvido quando eu alterei a mensagem. Todas as mensagens que coloco enviam sem problema, só aquele determinado texto que não ia, estranho, muito estranho. o detalhe é que o cliente queria aquele texto, tive que convence-lo que tinha que ser outro texto. Mudei o texto da mensagem e esta funcionando.

          De qualquer forma, muito obrigado pela ajuda.

 

Link to comment
Share on other sites

          Já havia feito isso no inicio ao fim, enviando incrementando por cada letra, no momento que para não tem nenhum caracter estranho. Mas já foi resolvido alterando o  conteúdo da mensagem.  

          Obrigado a todos

Link to comment
Share on other sites

21 horas atrás, hcunha disse:

Senhores,

          O problema foi resolvido quando eu alterei a mensagem. Todas as mensagens que coloco enviam sem problema, só aquele determinado texto que não ia, estranho, muito estranho. o detalhe é que o cliente queria aquele texto, tive que convence-lo que tinha que ser outro texto. Mudei o texto da mensagem e esta funcionando.

          De qualquer forma, muito obrigado pela ajuda.

 

que bom que o cliente aceitou mudar a msg; assim resolveu sem resolver kkkkkkk 

vai ficar a curiosidade de saber o que acontece com esta string que não aceita... rsrsrsrsrsrsrsrsrsrs

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...