Jump to content
Fivewin Brasil

MatheusFarias

Membros
  • Posts

    69
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by MatheusFarias

  1. Bem... Não entendo de PELLESC.EXE,  mas, se eu fizer isto em WORKSHOP.EXE,

     

    -Nome no prg: Define icon oico Resource "FR3toPRG"

    -Nome no res: "FR3toPRG" DO ICONE

     

    Certo:

     

    -Nome no prg: Define icon oico Resource "FR3TOPRG"

    -Nome no res: "FR3TOPRG" DO ICONE

     

    Não importa se está MAIÚSCULO ou MINÚSCULO, a reação é sempre como se fosse MAISCÚLO... Se é que entendi...

    Certo , por isso mesmo q comentei pois no Pelles somente funciona maiúsculo mesmo q escreve Minusculo 

  2. Não entendi o que você quis dizer, mas se ele fizer uma busca sobre FR3TOPRG o que acontecerá?

    Kapiaba , se acompanhar a leitura do post , o arthur tinha uma duvida sobre o icone da aplicaçao que ele esta desenvolvendo , Sou Amigo dele , e comentei no post : Que coisa o cara migra fast report para prg e nao consegue colocar um icon srsrsrs 

    Entao as pessoas magicamente entenderam q ele estava fazendo algo no fast report , que nao é , somente lendo o post voce pode ver isso , entao agora disse q a leitura é a mãe do entendimento do texto pois essa nao é a duvida dele , graças a Deus encontramos o erro , que era o nome do ICONE no Recurso (.Res) (No Programa Pelles C 7.0 32 Bits) quando mudamos o nome no recurso e deixamos igual funcionou corretamente 

    Explicaçao 

    Errado:

     

    -Nome no prg: Define icon oico Resource "FR3toPRG"

    -Nome no res: "FR3toPRG" DO ICONE

     

    Certo:

     

    -Nome no prg: Define icon oico Resource "FR3TOPRG"

    -Nome no res: "FR3TOPRG" DO ICONE

  3. Leitura é a mãe do entendimento do texto

    Arthur Disse:

    Pessoal pode parecer algo besta, mas eu defini um ícone na maquina do meu trabalho WXP eficou bonitinho, mas quando passei para meu desktop de casa W7 e meu notebook W8 ele não aparece ícone, fica somo se não tivesse ícone nenhum. Alguém já passou por isso ? 

    Quanto ao código é aquele procedimento padrão.

     

     

    Define icon oicon resource "Nome"

     

    Define dialog odlg resource "DLG" icon oicon

     

    Activate dialog odlg centered

    Se der um crtl+F no texto voce nao vai encontrar uma palavra sobre fastreport 

  4. Olá pessoal...

     

    Me perdoem...

     

    Embora a sugestão do Kleyber seja ótima, não vejo como podemos trazer o Linarers se não conseguimos nem Organizar um Encontro de Amigos, quanto mais um Congresso de fato.

     

    Até o momento,  tivemos 162 visitas e 12 repostas neste post. Como realizar algo com tamanha importância sem a plena participação da comunidade ?

     

    Acho legal alguns virem aqui e apresentar o seu manifesto favorável, porém, cadê a grande massa de usuários deste Fórum ?

     

    Sem uma concreta participação da maioria, fica complicado realizarmos algo.

     

    Todos os Eventos realizados até hoje, somente foram possíveis graças á participação daquela meia dúzia de abnegados que se colocam à frente, disponibilizando seus escassos tempos para que esses Encontros sejam realizados.

     

    Sugiro a Contratação de um Profissional para cuidar de todos os detalhes deste próximo evento.

     

    Esta é apenas a minha opinião.

     

    Um abraço

    Acredito que a contrataçao de um profissional sim é a melhor solução pois nos deixa com a possibilidade  de poder vislumbrar outras coisas , e sim tambem vou 

  5. Olha ja use implementaçao com dll em um modem daruma aqui vai o codigo dele , caso queira se basear 

    #Include 'Fivewin.Ch'
    #Include 'Dll.Ch'
    #Include 'ribbon.Ch'
    #Define CLR_SKY    nRGB( 202, 228, 255 )
    #Define CLR_AZUL_BRANCO nRGB( 040, 004, 090 )
    /*
    Exemplo de Como Usar:
    ... 
    aVetor:={}
    aadd(aVetor,{"Titulo da Funçao",{||Funcao()}}
    aadd(aVetor,{"Titulo da Funçao",{||Funcao()}}
    
    Modem_1(aVetor)
    
    ...
    */
    Function Modem_1(aProcesso) // Funçao PARA Abertura 
       
    	Local oBmp1,oEtapa,oContador,oDlgModem
       Local cEtapa:="Daruma Modem",nContador,x,nProcesso:=len(aProcesso),lFim:=.f.,xRet
       nContador:=0
       
       Define Dialog oDlgModem Resource "DLG_MODEM_ABERTURA" Brush oBrushPapel1
       
       REDEFINE IMAGE oBmp1 ID 10 OF oDlgModem NAME "MODEMDARUMA" Adjust
       Redefine Say oEtapa Prompt cEtapa ID 11 Of oDlgModem
       REDEFINE PROGRESS oContador ID 12 OF oDlgModem
       Activate Dialog oDlgModem Centered Nowait Valid lFim
       Sysrefresh()
    	oContador:SetRange( 0,3+nProcesso)
       oContador:SetStep( 1 )
       
    	
       if !DllDarumaLoad()
          lFim:=.t.
    		oDlgModem:ENd()
    		return .f.
       endif   
       cEtapa:="Modem Daruma - Define Produto"
       nContador++;oContador:SetPos( nContador );oEtapa:Refresh()
       if  Modem_Definir(.t.)#1
          lFim:=.t.
    		oDlgModem:ENd()
    		return .f.
       endif   
       
       SysWait(.5)
       cEtapa:="Modem Daruma - Ajusta Velocidade de Transmissão"
       nContador++;oContador:SetPos( nContador );oEtapa:Refresh()
       if Modem_Velocidade(.t.)#1
          lFim:=.t.
    		oDlgModem:ENd()
    		return .f.
       endif   
       SysWait(.5)
       cEtapa:="Modem Daruma - Inicialização"
       nContador++;oContador:SetPos( nContador );oEtapa:Refresh()
       if Modem_Inicializa(.t.)#1
          lFim:=.t.
    		oDlgModem:ENd()
    		return .f.
       endif   
       SysWait(.5)
       
    	For x:=1 to nProcesso
           cEtapa:=aProcesso[x][1]
    		 nContador++;oContador:SetPos( nContador );oEtapa:Refresh()
    		 xRet:=eval(aProcesso[x][2])
    		 if xRet#1
    		    MsgInfo("Daruma -"+aProcesso[x][1]+CRLF+" Erro Encontrado !"+CRLF+"Numero: "+ strzero(xRet,3,0),"Informação")
    			 lFim:=.t.
    			 oDlgModem:ENd()
    			 Return .f.
    		 endif   
    		 SysWait(.5)
    	Next	 
       DllDarumaUnLoad()       
       lFim:=.t.
    	oDlgModem:End()
           
    Function Meter_Funcao(aProcesso,cTitulo) // Funçao Outros Processos
       
    	Local oBmp1,oEtapa,oContador,oDlgModem
       Local cEtapa:=cTitulo,nContador,x,nProcesso:=len(aProcesso),lFim:=.f.
       nContador:=0
       
       Define Dialog oDlgModem Resource "DLG_MODEM_ABERTURA" Brush oBrushPapel1
       
       REDEFINE IMAGE oBmp1 ID 10 OF oDlgModem NAME "MODEMDARUMA" Adjust
       Redefine Say oEtapa Prompt cEtapa ID 11 Of oDlgModem
       REDEFINE PROGRESS oContador ID 12 OF oDlgModem
       Activate Dialog oDlgModem Centered Nowait Valid lFim
       Sysrefresh()
    	oContador:SetRange( 0,nProcesso)
       oContador:SetStep( 1 )
       For x:=1 to nProcesso
           cEtapa:=aProcesso[x][1]
    		 nContador++;oContador:SetPos( nContador );oEtapa:Refresh()
    		 eval(aProcesso[x][2])
    		 SysWait(.5)
    	Next	 
       lFim:=.t.
    	oDlgModem:End()
           
       
    Return .t.
    Function Modem_1_Sms(cNumero)
    
                Local cMsg:=space(1000),oDlgModemSms,aProcessos:={},lSave:=.f.
                Default cNumero:=space(0)
    				cNumero:=cNumero+space(9999)
                Define Dialog oDlgModemSms Resource "DLG_MODEM_SMS" Brush oBrushPapel1
         
                DEFINE FONT   oFontrb     NAME     "Lucida Console"  SIZE 0,-15
                REDEFINE RBBTN oInfoBar3 ID 10 OF oDlgModemSms  PROMPT "Enviar Sms " CENTER  ADJUST  SAYBUTTON ROUND LINECOLORS CLR_SKY,CLR_AZUL_BRANCO
                Set font to oFontrb of oInfoBar3
    	
    	  
                Redefine Get oNumero var cNumero id 11 of oDlgModemSms valid ! Empty(cNumero)
                oNumero:cToolTip:="Para Enviar a mais de um Destinatário Siga o Exemplo:"+CRLF+;
                        "08388213032|08199874567 , Nao use * , ( ) Alem do | é usado para separar ,  "+CRLF+;
    						  " os Numeros dos Destinatários"
                      
                Redefine Get oMsg var cMsg id 12 of oDlgModemSms MULTILINE valid ! Empty(cMsg)
    	  
                Redefine ButtonBmp oBmp01 Id 13 of oDlgModemSms Prompt "Enviar" action (lSave:=.t.,oDlgModemSmS:End()) bitmap cbitmaps+"sms.bmp" adjust
                Redefine ButtonBmp oBmp01 Id 14 of oDlgModemSms Prompt "Retornar" action (lSave:=.f.,oDlgModemSmS:End()) bitmap cbitmaps+"cancelar.bmp" cancel
     
                Activate Dialog oDlgModemSms Centered
                if lsave
    					aadd(aProcessos,{"Envia Sms ",{|| Modem_EnviaSmsVarios(cNumero,alltrim(cMsg),"SIM1",.t.)}})
                   Modem_1(aProcessos)
                endif
    	  
    
    FUNCTION DllDarumaLoad()
          	if ! File(cdll+"DarumaFrameWork.dll")
    	           MsgAlert("Atenção o Equipamento Modem Daruma não localizado e a Dll DarumaFrameWork Não está na Pasta, se faz necessário a aquisição do Mini Modem Externo min 210a , Contate o departamento comercial da Inteligence Informatica para aquisição do equipamento","Atençao"  )
    	           RETURN .f.
    	      Else
       	        hDllDaruma :=  LoadLib32( cdll+"DarumaFrameWork.dll" )
                  RETURN .t.
             Endif
    
    FUNCTION DllDarumaUnLoad()
       FreeLibrary( hDllDaruma )
       RETURN nil
    
    Function Modem_Inicializa(lMensagem)//Ok
    
       Local nRetorno:=0 // Numero do Retorno
       Default lMensagem:=.f.
       nRetorno:=eInicializar_MODEM_DarumaFramework()
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro na comunicação da serial.","Alerta"  )
          case nRetorno == -2
             msgalert( "Modem retornou erro.","Alerta"  )
          case nRetorno == -3
             msgalert( "Modem retornou caractere(s) invalido(s)","Alerta"  )
          case nRetorno == -4
             msgalert( "Modem não conectado na rede GSM","Alerta"  )
          endcase
       endif
       Return nRetorno
    
    Function Modem_ApagaSms(nIndiceMensagem,lMensagem)// Numero da Mensagem
       Local nRetorno:=0
    
       nRetorno:=eApagarSms_MODEM_DarumaFramework(nIndiceMensagem)
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro na comunicação da serial.","Alerta"  )
          case nRetorno == -2
             msgalert( "Modem retornou erro.","Alerta"  )
          endcase
       endif
       return nRetorno
    Function Modem_EnviarDados(cParamentros,lMensagem)
       // Essa Funçao tem que receber o cParametros como Referencia
       Local nRetorno:=0
    
       nRetorno:=tEnviarDadosCsd_MODEM_DarumaFramework(@cParametros)
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro na comunicação da serial.","Alerta"  )
          endcase
       endif
    
       Return nRetorno
    
    Function Modem_RecebeDados(cParamentros,lMensagem)
       // Essa Funçao tem que receber o cParametros como Referencia
       Local nRetorno:=0
    
       nRetorno:=rReceberDadosCsd_MODEM_DarumaFramework(@cParametros)
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro na comunicação da serial.","Alerta"  )
          endcase
       endif
    
       Return nRetorno
    
    Function Modem_AtivaDados(lMensagem)
       Local nRetorno:=0
       Default lMensagem:=.f.
       nRetorno:=eAtivarConexaoCsd_MODEM_DarumaFramework()
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro na comunicação da serial.","Alerta"  )
          case nRetorno == -2
             msgalert( "Modem Retornou Erro.","Alerta"  )
          endcase
       endif
       return nRetorno
    Function Modem_FinalizaChamada(lMensagem)
       Local nRetorno:=0
       Default lMensagem:=.f.
       nRetorno:=eFinalizarChamadaCsd_MODEM_DarumaFramework()
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro na comunicação da serial.","Alerta"  )
          case nRetorno == -2
             msgalert( "Modem Retornou Erro.","Alerta"  )
          endcase
       endif
       return nRetorno
       
    Function Modem_RealizaChamada(cParametros,lMensagem)
       Local nRetorno:=0
       Default lMensagem:=.f.
       nRetorno:=eRealizarChamadaCsd_MODEM_DarumaFramework(cParametros)
          
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro na comunicação da serial.","Alerta"  )
          case nRetorno == -2
             msgalert( "Modem Retornou Erro.","Alerta"  )
          case nRetorno == -3
             msgalert( "Modem retornou caractere(s) invalido(s).","Alerta"  )
          case nRetorno == -4
             msgalert( "Modem não conectado na rede GSM.","Alerta"  )
          case nRetorno == -5
             msgalert( "Você Não Possue Creditos Suficientes para realizar essa chamada.","Alerta"  )
          case nRetorno == -6
             msgalert( "Sem Tom de Discagem","Alerta"  )
          case nRetorno == -7
             msgalert( "Numero Ocupado.","Alerta"  )
          endcase
       endif
       return nRetorno
       *
    Function Modem_TotalSms(nTipoSms,nTotalSms,lMensagem)//+-
       // nTotalSms - Deve Ser Passada Por Referencia
       Local nRetorno:=0
       Default lMensagem:=.f.
       // nTipoSms Pode Ser 0 , 1 , 2 : Todas As Mensagens , Lidas e Não Lidas
       nRetorno:=rTotalSms_MODEM_DarumaFramework(nTipoSms,@nTotalSms)
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro na comunicação da serial.","Alerta"  )
          case nRetorno == -2
             msgalert( "Modem Retornou Erro.","Alerta"  )
          case nRetorno == -3
             msgalert( "Modem retornou caractere(s) invalido(s).","Alerta"  )
          endcase
       endif
       return nRetorno
    
    Function Modem_Operadora(cOperadora,lMensagem)//Ok
       // cOperadora Precisa ser passado como referencia
       Local nRetorno:=0
       Default lMensagem:=.f.
       nRetorno:=rRetornarOperadora_MODEM_DarumaFramework(@cOperadora)
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro na comunicação da serial.","Alerta"  )
          case nRetorno == -2
             msgalert( "Modem Retornou Erro.","Alerta"  )
          case nRetorno == -3
             msgalert( "Modem retornou caractere(s) invalido(s).","Alerta"  )
          endcase
       endif
       return nRetorno
    
    Function Modem_Imei(cImei,lMensagem)//OK
       // Necessario passar por referencia
       Local nRetorno:=0
       Default lMensagem:=.f.
       nRetorno:=rRetornarImei_MODEM_DarumaFramework(@cImei)
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro na comunicação da serial.","Alerta"  )
          case nRetorno == -2
             msgalert( "Modem Retornou Erro.","Alerta"  )
          case nRetorno == -3
             msgalert( "Modem retornou caractere(s) invalido(s).","Alerta"  )
          endcase
       endif
       return nRetorno
    Function Modem_IdSim(cIdSim,lMensagem)
       //Necessario Passar por referencia
       Local Retorno:=0
       Default lMensagem:=.f.
       nRetorno:=rRetornarIDSIM_MODEM_DarumaFramework(@cIdSim)
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro na comunicação da serial.","Alerta"  )
          case nRetorno == -2
             msgalert( "Modem Retornou Erro.","Alerta"  )
          case nRetorno == -3
             msgalert( "Modem retornou caractere(s) invalido(s).","Alerta"  )
          case nRetorno == -8
             msgalert("Modem retornou resposta incompleta (sem 'OK' ou 'ERRO')","Alerta")
          endcase
       endif
       return nRetorno
    
    Function Modem_SmsIndice(cIndiceSMS,cNumFone,cData,cHora ,cMsg,lMensagem)
       // Exceto cIndiceSMS e lMensagem todas deve ser passadas referencia
       Local nRetorno :=0
       Default lMensagem:=.f.
       nRetorno:=rReceberSmsIndice_MODEM_DarumaFramework(cIndiceSMS,@cNumFone,@cData,@cHora ,@cMsg)
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro na comunicação da serial.","Alerta"  )
          case nRetorno == -2
             msgalert( "Modem Retornou Erro.","Alerta"  )
          case nRetorno == -3
             msgalert( "Modem retornou caractere(s) invalido(s).","Alerta"  )
          endcase
       endif
       Return nRetorno
          
    Function Modem_ReceberSms(sIndiceSMS,cNumFone,cData,cHora,cMsg,lMensagem)
    
       Local nRetorno
       Default lMensagem:=.f.
       nRetorno:=rReceberSms_MODEM_DarumaFramework(sIndiceSMS,cNumFone,cData,cHora,cMsg)
    
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro na comunicação da serial.","Alerta"  )
          case nRetorno == -2
             msgalert( "Modem Retornou Erro.","Alerta"  )
          case nRetorno == -3
             msgalert( "Modem retornou caractere(s) invalido(s).","Alerta"  )
          case nRetorno > 1
             MsgInfo( "Mensagens a Ser Lidas : "+str(nRetorno,3,0),"Informação"  )
          endcase
       endif
       Return nRetorno
    
    Function Modem_ApagaMensagemAoLer(lApaga,lMensagem)
    
       Local nRetorno,cParametro
       Default lMensagem:=.f.
       cParametro:=IF( lApaga,"TRUE","FALSE")
    
       nRetorno:=regLerApagar_MODEM_DarumaFramework(cParametro)
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( " Erro de atualização de Chave. ","Alerta"  )
          endcase
       endif
       return nRetorno
    
    Function Modem_Porta(cParametro,lMensagem)
    
       Local nRetorno
       Default lMensagem:=.f.
       nRetorno:=regPorta_MODEM_DarumaFramework(cParametro)
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro de atualização de Chave. ","Alerta"  )
          endcase
       endif
       return nRetorno
    
    Function Modem_BuscaMensagens(lAtiva,lMensagem)
    
       Local nRetorno,cThread
       Default lMensagem:=.f.
       cThread:=if(lAtiva,"TRUE","FALSE")
    
       nRetorno:=regThread_MODEM_DarumaFramework(cThread)
    
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro de atualização de Chave. ","Alerta"  )
          endcase
       endif
       return nRetorno
    
    Function Modem_MudaVelocidade(cParametro,lMensagem)
    
       Local nRetorno
       Default lMensagem:=.f.
       nRetorno:=regVelocidade_MODEM_DarumaFramework(cParametro)
    
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro de atualização de Chave. ","Alerta"  )
          endcase
       endif
       return nRetorno
    
    Function Modem_Definir(lMensagem)//Ok
    
       Local nRetorno
       Default lMensagem:=.f.
       nRetorno:=eDefinirProduto_Daruma("MODEM")
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          endcase
       endif
       return nRetorno
    
    
    Function Modem_TempoAlerta(cParametro,lMensagem)
    
    
       Local nRetorno
       Default lMensagem:=.f.
       nRetorno:=regTempoAlertar_MODEM_DarumaFramework(cParametro)
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro de atualização de Chave. ","Alerta"  )
          endcase
       endif
       return nRetorno
    
    Function Modem_JanelaMensagem(cParametro,lMensagem)
       Local nRetorno
       Default lMensagem:=.f.
       nRetorno:=regCaptionWinAPP_MODEM_DarumaFramework(cParametro)
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro de atualização de Chave. ","Alerta"  )
          endcase
       endif
       return nRetorno
    
    Function Modem_Resetar(lMensagem)
       Local nRetorno
       Default lMensagem:=.f.
       nRetorno:=eReiniciar_MODEM_DarumaFramework(cParametro)
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          endcase
       endif
       return nRetorno
    
    Function Modem_EnviaSmsVarios(cNumero , cMsg , cSIM ,lMensagem) //Ok
    
       Local nRetorno,nMsg,nInicia,nTamanho,nNum
       Default lMensagem:=.f.
       Default cSIM:="SIM1"
       
       cnumero:=StrTran(StrTran(StrTran(StrTran(StrTran(StrTran(cNumero,"(",""),")",""),"-",""),"*",""),".",""),",","")
       aNumeros:= HB_ATokens(cNumero,"|")
    					
       For nNum:=1 to len(aNumeros)
          nInicia:=1
          nTamanho:=Round( if(len(cMsg)<100,1,len(cMsg)/100),0)
    	
          for nMsg:=1 to nTamanho
             nRetorno:=tEnviarSmsOperadora_MODEM_DarumaFramework(aNumeros[nNum] ,  SubStr(cMsg,nInicia,140)  , cSIM)
             nInicia:=nInicia+140
             if lMensagem
                do case
                case nRetorno == 0
                   msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
                case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
                   msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
                case nRetorno == -1
                   msgalert( "Erro na comunicação da serial.","Alerta"  )
                case nRetorno == -2
                   msgalert( "Modem retornou erro.","Alerta"  )
                case nRetorno == -3
                   msgalert( "Modem retornou caractere(s) invalido(s).","Alerta"  )
                endcase
             endif
             SysWait(.5)
          Next
       Next
       Return nRetorno
    
    Function Modem_Velocidade(lMensagem)//Ok
       Local nRetorno
       Default lMensagem:=.f.
       nRetorno:=eBuscarPortaVelocidade_MODEM_DarumaFramework()
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          endcase
       endif
       return nRetorno
    Function Modem_Informacao(cInfoEstendida,lMensagem)
       Local nRetorno
       Default lMensagem:=.f.
       nRetorno:=rInfoEstendida_MODEM_DarumaFramework(cInfoEstendida)
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          endcase
       endif
       return nRetorno
       
    Function Modem_NumeroLigacao(cNumero,lMensagem)
       Local nRetorno
       Default lMensagem:=.f.
       // cNumero precisa ser passado como referencia
       nRetorno:=rRetornarNumeroChamada_MODEM_DarumaFramework(@cNumero)
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro da Comunicação Serial.","Alerta"  )
          case nRetorno == -2
             msgalert( "Modem retornou Erro .","Alerta"  )
          case nRetorno == -3
             msgalert( "Modem retornou caracteres inválidos.","Alerta"  )
          case nRetorno == -8
             msgalert( "Modem retornou resposta incompleta (sem 'OK' ou 'ERRO'). ","Alerta"  )
          endcase
       endif
       
       Return nRetorno
    
    Function Modem_Sinal(lMensagem)
    
       Local nRetorno
       Default lMensagem:=.f.
       nRetorno:=rNivelSinalRecebido_MODEM_DarumaFramework()
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro da Comunicação Serial.","Alerta"  )
          case nRetorno == -2
             msgalert( "Modem retornou Erro .","Alerta"  )
          case nRetorno == -3
             msgalert( "Modem retornou caracteres inválidos.","Alerta"  )
          case nRetorno > 0
             msginfo( "Nivel do Sinal : "+ Str( nRetorno,4,0)   , "Informação" )
          endcase
       endif
       return nRetorno
    
    Function Modem_ListaMensagem(lMensagem)
       Local nRetorno
       Default lMensagem:=.f.
       nRetorno:=rListarSms_MODEM_DarumaFramework()
       // Precisa Manipular o XML para Obter as Mensagens
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro da Comunicação Serial.","Alerta"  )
          case nRetorno == -2
             msgalert( "Modem retornou Erro .","Alerta"  )
          case nRetorno == -3
             msgalert( "Modem retornou caracteres inválidos.","Alerta"  )
          case nRetorno == -8
             msgalert( "Modem retornou resposta incompleta (sem 'OK' ou 'ERRO'). ","Alerta"  )
          endcase
       endif
       
       Return nRetorno
    
    Function Modem_ListaMensagemNumero(cNumero,lMensagem)
       Local nRetorno
       Default lMensagem:=.f.
       nRetorno:=rListarSMSTelefone_MODEM_DarumaFramework(cNumero)
       // Precisa Manipular o XML para Obter as Mensagens
       if lMensagem
          do case
          case nRetorno == 0
             msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
          case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
             msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
          case nRetorno == -1
             msgalert( "Erro da Comunicação Serial.","Alerta"  )
          case nRetorno == -2
             msgalert( "Modem retornou Erro .","Alerta"  )
          case nRetorno == -3
             msgalert( "Modem retornou caracteres inválidos.","Alerta"  )
          case nRetorno == -8
             msgalert( "Modem retornou resposta incompleta (sem 'OK' ou 'ERRO'). ","Alerta"  )
          endcase
       endif
       
       Return nRetorno
    Function Modem_EnviaSms(cNumero,cMensagem,lMensagem)
    
       Local nRetorno,nMsg,nInicia,nTamanho,nNum
       Default lMensagem:=.f.
       cNumero:=StrTran(StrTran(StrTran(StrTran(StrTran(StrTran(cNumero,"(",""),")",""),"-",""),"*",""),".",""),",","")
       aNumeros:= HB_ATokens(cNumero,"|")
    					
       For nNum:=1 to len(aNumeros)
          nInicia:=1
          nTamanho:=Round( if(len(cMensagem)<100,1,len(cMensagem)/100),0)
          for nMsg:=1 to nTamanho
             nRetorno:=tEnviarSms_MODEM_DarumaFramework(aNumeros[nNum] ,  SubStr(cMensagem,nInicia,140))
             nInicia:=nInicia+140
             if lMensagem
                do case
                case nRetorno == 0
                   msgalert( "Erro de comunicação, não foi possível enviar o método.","Alerta"  )
                case nRetorno == 1 .and. File("c:\modem.sys")      // Comentar esse case apos a conclusão , agora usado como debug do processo
                   msginfo( "OK, Sucesso ao enviar o método.","Informaçao"  )
                case nRetorno == -1
                   msgalert( "Erro na comunicação da serial.","Alerta"  )
                case nRetorno == -2
                   msgalert( "Modem retornou erro.","Alerta"  )
                case nRetorno == -3
                   msgalert( "Modem retornou caractere(s) invalido(s).","Alerta"  )
                endcase
             endif
          Next
       Next
       Return nRetorno
    
    DLL32 function eApagarSms_MODEM_DarumaFramework(iNumeroSMS AS STRING) AS LONG PASCAL LIB  hDllDaruma
    //Permite excluir a mensagem selecionada na memória do Modem.
    //O método é  geralmente usado quando o desenvolvedor deseja que a DarumaFramework, apague a mensagem lida evitando assim o armazenamento excessivo de mensagens no modem no qual poderia resultar no não recebimento de novas mensagens devido ao limite imposto em seu SimCard.
    //Caso você deseja que a DarumaFramework.dll após a leitura da mensagem execute uma ação para excluir automaticamente, existe uma chave no registro do modem chamada LerApagar, no qual realiza esta função.
    //Sintaxe:
    //eApagarSms_MODEM_DarumaFramework( char *pszIndice )
    //Parâmetros:
    //Id	Variável	Tipo	Tam.	Descrição
    //1	pszIndice	A	3	Variável no qual devera constar o numero da mensagem a ser excluída.
    //Observações:
    //Para executar esta funcionabilidade, necessitamos acionar o método Inicializar_MODEM_DarumaFramework.
    //Retornos:
    //0: Erro de comunicação, não foi possível enviar o método.
    //1: OK, Sucesso ao enviar o método.
    //-1: Erro na comunicação da serial.
    //-2: Modem Retornou erro.
    
    DLL32 function tEnviarDadosCsd_MODEM_DarumaFramework(sParametro AS STRING) AS LONG PASCAL LIB  hDllDaruma
    //Definição:
    //Permite enviar dados através da conexão csd.
    //Sintaxe:
    //tEnviarDadosCsd_MODEM_DarumaFramework(char *pszDados)
    //Parâmetros:
    //Id	Variável	Tipo	Tam.	Descrição
    //1	stDados	A	999	Variável string no qual você devera inserir os dados a ser enviado pelo modem.
    //Retornos:
    //0: Erro de comunicação, não foi possível enviar o método.
    //1: OK, Sucesso ao enviar o método.
    //-1: Erro na comunicação da serial.
    DLL32 function rReceberDadosCsd_MODEM_DarumaFramework(sParametro AS STRING) AS LONG PASCAL LIB  hDllDaruma
    //Definição:
    //Permite ao desenvolvedor receber dados através da conexão csd.
    //Sintaxe:
    //rReceberDadosCsd_MODEM_DarumaFramework(char *pszDados )
    //Parâmetros:
    //Id	Variável	Tipo	Tam.	Descrição
    //1	pszDados	A	999	Variável string para receber os dados.
    //Retornos:
    //0: Não existem novas mensagem.
    //1: OK, Existe uma nova mensagem.
    //-1: Erro na comunicação da serial.
    DLL32 function eAtivarConexaoCsd_MODEM_DarumaFramework() AS LONG PASCAL LIB  hDllDaruma
    //Definição:
    //Permite ao desenvolvedor configurar o modem para receber chamadas CSD e realizar auto atendimento.
    //Sintaxe:
    //eAtivarConexaoCsd_MODEM_DarumaFramework(void)
    //Parâmetros:
    //Não possui.
    //Retornos:
    //0: Erro de comunicação, não foi possível enviar o método.
    //1: OK, Sucesso ao enviar o método.
    //-1: Erro na comunicação da serial.
    //-2: Modem retornou erro.
     
    DLL32 function eFinalizarChamadaCsd_MODEM_DarumaFramework() AS LONG PASCAL LIB hDllDaruma
    //Definição:
    //Permite ao desenvolvedor finalizar a chamada CSD.
    //Sintaxe:
    //eFinalizarChamadaCsd_MODEM_DarumaFramework(void)
    //Parâmetros:
    //Não possui.
    //Retornos:
    //0: Erro de comunicação, não foi possível enviar o método.
    //1: OK, Sucesso ao enviar o método.
    //-1: Erro na comunicação da serial.
    DLL32 function eRealizarChamadaCsd_MODEM_DarumaFramework(sParametro AS STRING) AS LONG PASCAL LIB hDllDaruma
    //Definição:
    //Permite ao desenvolvedor realizar chamada csd a um modem definido pelo número.
    //Sintaxe:
    //eRealizarChamadaCsd_MODEM_DarumaFramework(char *pszNumFone )
    //Parâmetros:
    //Id	Variável	Tipo	Tam.	Descrição
    //1	pszNumFone	A	15	Variável string no qual você devera informar o numero a ser chamado.
    //Retornos:
    //0: Erro de comunicação, não foi possível enviar o método.
    //1: OK, Sucesso ao enviar o método.
    //-1: Erro na comunicação da serial.
    //-2: Modem retornou erro.
    //-3: Modem retornou caractere(s) invalido(s)
    //-4: Modem não conectado na rede GSM
    //-5: Modem retornou NO CARRIER
    //-6: Modem retornou NO DIALTONE
    //-7: Modem retornou BUSY
    DLL32 function rTotalSms_MODEM_DarumaFramework (Int_TipoSMS As _INT, @Int_Total As BYTE)AS LONG PASCAL LIB hDllDaruma
    //Definição:
    //Método que permite ao desenvolvedor verificar quantas mensagens existem na caixa de entrada do chip,
    //de acordo com o tipo de sms informado: Todas, Lidas e Não lidas. Possui 2 parâmetros inteiros,
    //sendo o segundo passado por referência, pois receberá a quantidade.
    //Sintaxe:
    //rTotalSms_MODEM_DarumaFramework(int iTipoSMS, int *QuantSMS)
    //Parâmetros:
    //Id	Variável	Tipo	Tam.	Descrição
    //1	iTipoSMS	N	1	Valor inteiro que representa o tipo de sms que deseja saber a quantidade:
    //    0 -Todas as Mensagens;
     //    1 - Mensagens Lidas;
     //    2- Mensagens Não Lidas
    //2	QuantSMS	N	5	Variável inteira passada por referência para receber o número de Mensagens solicitado.
    //Retornos:
    //O método poderá retornar os possíveis erros inteiros demonstrados abaixo:
    //0: Erro de comunicação, não foi possível enviar o método.
    //1: OK, Sucesso ao enviar o método.
    //-1: Erro na comunicação da serial.
    //-2: Modem retornou erro.
    //-3: Modem retornou caractere(s) invalido(s).
    DLL32 function rRetornarOperadora_MODEM_DarumaFramework(sOperadora AS STRING)AS LONG PASCAL LIB hDllDaruma
    //Definição:
    //Permite ao desenvolvedor verificar a operadora GSM (Claro, Tim, Oi, Vivo) conectado no momento no modem.
    //Existem diversos motivos para que o desenvolvedor possa verificar a operado , como por exemplo, se estiver utilizando o modem de 2 bandejas assim fica fácil a identificação.
    //Sintaxe:
    //rRetornarOperadora_MODEM_DarumaFramework( char *pszOperadora )
    //Parâmetros:
    //Id	Variável	Tipo	Tam.	Descrição
    //1	pszOperadora	A	49	Variável passada por referência que retorna a string que indica a operadora do Chip GSM utilizado no equipamento.
    //Retornos:
    //0: Erro de comunicação, não foi possível enviar o método.
    //1: OK, Sucesso ao enviar o método.
    //-1: Erro na comunicação da serial.
    //-2: Modem retornou erro.
    //-3: Modem retornou caractere(s) invalido(s).
     
    DLL32 function rRetornarImei_MODEM_DarumaFramework(sImei AS STRING)AS LONG PASCAL FROM "rRetornarImei_MODEM_DarumaFramework" LIB hDllDaruma
    //Definição:
    //Permite ao desenvolvedor verificar o IMEI - International Mobile Equipment Identity (Identificação Internacional de Equipamento Móvel),  do Modem, no qual será realizado a consulta.
    //Existem diversos motivos para que o desenvolvedor possa verificar o código IMEI do Modem, como por exemplo, registro, controle, bloqueio do aparelho entre outras funções.
    //Sintaxe:
    //rRetornarImei_MODEM_DarumaFramework( char *pszImei )
    //Parâmetros:
    //Id	Variável	Tipo	Tam.	Descrição
    //1	stIMEI	A	49	Variável passada por referência que retorna a string com ao IMEI do equipamento.
    //Observações:
    //Para executar esta funcionabilidade, necessitamos acionar o método Inicializar_MODEM_DarumaFramework.
    //Retornos:
    //0: Erro de comunicação, não foi possível enviar o método.
    //1: OK, Sucesso ao enviar o método.
    //-1: Erro na comunicação da serial.
    //-2: Modem retornou erro.
    //-3: Modem retornou caractere(s) invalido(s).
     
    DLL32 function rRetornarIDSIM_MODEM_DarumaFramework(sIDSIM AS DWORD)AS LONG PASCAL LIB hDllDaruma
    //Definição:
    //Método que possibilita saber a identificação do Chip/ SimCard que está utilizando. Não é a bandeja que está sendo usada (SIM1 ou SIM2), nem o número de discagem ou envio de sms para ele. É apenas um o número de Identificação do Chip/ SimCard.
    //Sintaxe:
    //rRetornarIDSIM_MODEM_DarumaFramework( char *pszIdSim ) ;
     //Parâmetros:
    //Id	Variável	Tipo	Tam.	Descrição
    //1	pszIdSim A	   50    Variável passada por referência que retorna a string com a Identidicação
    //                         do SimCard/ Chip que está sendo utilizado no momento.
       //Retornos:
       //Este método pode retornar os seguintes valores:
       // 0: Erro de comunicação, não foi possível enviar o método.
       // 1: OK, Sucesso ao enviar o método.
       //-1: Erro da Comunicação Serial;
        //-2: Modem retornou Erro;
        //-3: Modem retornou caracteres inválidos;
        //-8: Modem retornou resposta incompleta (sem "OK" ou "ERRO").
    DLL32 function rReceberSmsIndice_MODEM_DarumaFramework(sIndiceSMS AS STRING,sNumFone AS STRING,sData AS STRING,sHora AS STRING,sMsg AS STRING)AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Método que faz a leitura de um determinado SMS, de acordo com o índice que for informado.
       //Sintaxe:
       //rReceberSmsIndice_MODEM( char *pszIndice, char *pszNumFone, char *pszData, char *pszHora, char *stMensagemRetornada);
        //Parâmetros:
       //Id	Variável	Tipo	Tam.	Descrição
       //1	stIndice	A	3	Variável string indicando o índice do SMS
       //2	stNumeroFone	A	14	Variável string passada por referencia para número do telefone remetente do SMS.
       //3	stData	A	9	Variável string para receber a data do Sms
       //4	stHora	A	9	Variável string para receber a hora do Sms
       //5	stMensagemRetornada	A	499	Variável string referente ao conteúdo da mensagem.
       //Retornos:
       //Possíveis retornos para o método:
       //0: Não existe mensagem a ser lida.
       //1: OK, Mensagem lida com sucesso.
       //-1: Erro na comunicação da serial.
       //-2: Modem retornou erro.
       //-3: Modem retornou caractere(s) invalido(s).
    DLL32 function rReceberSms_MODEM_DarumaFramework(sIndiceSMS AS STRING,sNumFone AS STRING,sData AS STRING,sHora AS STRING,sMsg AS STRING) AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Permite ao desenvolvedor ler a última mensagem enviada para o Modem.
       //Existem situações onde, necessitamos estar informados das ultimas mensagens
       //que o modem recebeu, possibilitando a ação imediata de outras funções que ele pode executar.
       //Sintaxe:
       //rReceberSms_MODEM( char *pszIndice, char *pszNumFone, char *pszData, char *pszHora, char *stMensagemRetornada);
        //Parâmetros:
       //Id	Variável	Tipo	Tam.	Descrição
       //1	stIndice	A	3	Variável string referente ao índice do SMS no modem.
       //2	stNumeroFone	A	14	Variável string referente ao número do telefone remetente do SMS.
       //3	stData	A	9	Variável string referente a data do envio do SMS.
       //4	stHora	A	9	Variável string referente a hora do envio do SMS
       //5	stMensagemRetornada	A	499	Variável string referente ao conteúdo da mensagem.
       //Observações:
       //Esta opção pode ser utilizada pela novidade! na DarumaFramework.dll,
       //no qual estamos utilizando o método do "Thread", no qual aciona um LOOP interno
       //capaz de identificar as novas mensagens chegadas em seu modem, para maiores informações clique aqui.
       //Esta opção pode ser utilizada juntamente com a "Thread" criada a partir da DLL,
       //que aciona um LOOP interno capaz de identificar as novas mensagens chegadas em seu modem,
       //para maiores informações clique aqui.
       //Retornos:
       //Modem está projetada junta a nossa DarumaFramework.dll para retornar os possíveis erros inteiros demonstrados abaixo:
       //0: Não existem novas mensagem.
       //1: OK, Existe uma nova mensagem.
       //-1: Erro na comunicação da serial.
       //-2: Modem retornou erro.
       //-3: Modem retornou caractere(s) invalido(s)
       //2: Existem duas mensagem a serem lidas.
       dll32 Function regLerApagar_MODEM_DarumaFramework(sParametro AS STRING)AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Permite configurar a chave <LerApagar> na DarumaFrameWork.dll. Quando essa chave está habilitada, as mensagens ligas são apagadas automaticamente, evitando que a memória do CardSim fique muito cheia.
       //Sintaxe:
       //regLerApagar_MODEM_DarumaFramework(char *pszParametro)
       //Parâmetros:
       //Id	Variável	Tipo	Tam.	Descrição
       //1	sParametro	A	6	Variável string no qual você devera informar os parâmetros no qual o comando irá executar, sendo ele "TRUE" ou "FALSE".
       //Observações:
       //Esta chave deve estar habilitada como "TRUE" para executar a função antes do aplicativo inicializar.
       //Retornos:
       //Modem está projetada junta a nossa DarumaFramework.dll para retornar os possíveis erros inteiros demonstrados abaixo:
       //0: Erro de comunicação, não foi possível enviar o método.
       //1: OK, Sucesso ao enviar o método.
       //-1: Erro de atualização de Chave.
     
       dll32 Function regPorta_MODEM_DarumaFramework(sParametro AS STRING)AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Permite ao desenvolvedor configurar a Porta Serial, no qual ira executar a comunicação com o modem, esta chave por padrão esta configurada como DEFAULT, necessitando no atual momento que seja realizado a configuração da porta serial, para haver comunicação com o periférico.
       //Sintaxe:
       //regPorta_MODEM_DarumaFramework(char *pszParametro)
       //Parâmetros:
       //Id	Variável	Tipo	Tam.	Descrição
       //1	sParametro	A	5	Variável string no qual você devera informar o valor que será usado no parametro, no caso, a porta de comunicação no qual estará o modem.
       //Retornos:
    
       //0: Erro de comunicação, não foi possível enviar o método.
       //1: OK, Sucesso ao enviar o método.
       //-1: Erro de atualização de Chave.
       dll32 Function regThread_MODEM_DarumaFramework(sParametro AS STRING)AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Modifica o valor da chave <Thread> no arquivo DarumaFrameWork.xml. Essa chave, quando configurada com o valor "TRUE", habilita a busca frequente por nova mensagens SMS não lidas no MODEM. Essa operação é realizada através de uma thread criada pela DarumaFrameWork.dll.
       //A chave <Thread> é utilizada juntamente com as chaves <TempoAlertar>, <CaptionWinAPP> e <Tecla>, também presentes no arquivo DarumaFrameWork.xml .
       //A chave <TempoAlertar> determina o tempo em que as notificações sobre novas mensagens recebidas no MODEM irão acontecer. E a chave <CaptionWinAPP> informa o título da janela em que as notificações serão exibidas. Para saber mais sobre essas chaves e como alterar seus valores, consulte os tópicos regTempoAlertar_MODEM_DarumaFramework e regCaptionWinAPP_MODEM_DarumaFramework.
       //A chave <Tecla> armazena a string de uma tecla, por padrão F10. Quando a thread encontra mensagens não lidas no MODEM chama a função, caso exista, que é acionada pela tecla armazenada.
       //Para entender melhor o processo de recebimento e notificação de mensagens consulte Recebendo Mensagens do Modem - Thread.
       //Observações:
       //Está chave deve estar acionada como "TRUE" antes do aplicativo iniciar.
       //Parâmetros:
       //Id	Variável	Tipo	Tam.	Descrição	Exemplo
       //1	pszParametro	A	4	Variável string com o novo valor da chave.	 TRUE
       //Sintaxe:
       //regThread_MODEM_DarumaFramework(char *pszParametro)
       //Retornos:
       //0: Erro de comunicação, não foi possível enviar o método.
       //1: OK, Sucesso ao enviar o método.
       //-1: Erro de atualização de Chave.
       dll32 Function regVelocidade_MODEM_DarumaFramework(sParametro AS STRING)AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Permite ao desenvolvedor configurar a velocidade no qual a sua porta de comunicação ira trabalhar, sendo ela 9600, 38400 ou 115200, por padrão o modem esta inicialmente configurado para 9600, onde através deste registro você poderá alterar a velocidade conforme a sua necessidade.
       //Parâmetros:
       //Id	Variável	Tipo	Tam.	Descrição
       //1	sParametro	A	9	Variável string no qual você devera informar o valor que será usado no parametro, no caso, a velocidade no qual estará o modem.
       //Observações:
       //O modem trabalha com as velocidades em BPS, disponível na porta serial, lembrando que está configuração não diz respeito a velocidade no qual a mensagem será enviada até seu destinatário e sim a velocidade de comunicação com a porta serial e o Modem.
       //Devemos sempre observar a velocidade que o Modem estará configurado, pois caso a velocidade da sua porta não estiver igual a velocidade do Modem, não haverá comunicação.
       //Retornos:
       //0: Erro de comunicação, não foi possível enviar o método.
       //1: OK, Sucesso ao enviar o método.
       //-1: Erro de atualização de Chave.
       dll32 Function eDefinirProduto_Daruma(szProduto AS STRING)AS LONG PASCAL FROM "eDefinirProduto_Daruma" LIB hDllDaruma
       //Definição:
       //Este método permite indicar para a DarumaFramework.dll qual produto está sendo utilizado no momento, assim a dll realiza o startup do produto, já carregando em memória as informações relativas ao mesmo, que estão preenchidas no arquivo .XML ou Registry.
       //Atualmente (a partir da versão 07.14.04 da DarumaFramework.dll) não é mais obrigatória a indicação do produto, então você não precisa mais se preocupar em configurar o produto que seu aplicativo está utilizando. Em outras palavras consegue utilizar vários produtos com as chamadas de seus métodos intercaladas, sem precisar fazer a chamada deste comando aqui.
       //Caso seu sistema trabalhe com um produto apenas, recomendamos que sempre deixe esta informação pré-configurada.
       //Sintaxe:
       //eDefinirProduto(char*pszProduto);
        //Parâmetros:
       //Id	Variável	Tipo	Tam.	Descrição
       //1	pszProduto	A	20	Nome Produto: DUAL- ECF - MODEM - DSP - TA2000
       //Saídas:
       //Não possui.
       //Retornos:
       //0: Erro de comunicação, não foi possível enviar o método.
       //1: OK, Sucesso ao enviar o método.
    
       dll32 Function eInicializar_MODEM_DarumaFramework()AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Permite ao desenvolvedor iniciar o modem e dar inicio a suas funções.
       //Neste método estaremos inicializando os comandos e abrindo a porta serial do modem para assim ser executados todos os comandos no qual você desenvolvedor ira enviar para o modem.
       //O método alem de inicializar o modem executa os primeiros comandos universais para este tipo de plataforma que seriam os comandos AT, onde o mesmo ira iniciar com o comando AT que ira abrir a comunicação com o modem, seguindo dos comandos AT+CMGF e ATE0, alem de abrir a comunicação com a porta serial programada em seu registro.
       //Sintaxe:
       //eInicializar_MODEM_DarumaFramework(void)
       //Parâmetros:
       //Não possui.
       //Observações:
       //Devemos executar este comando quando carregado o FORM(Formulário) de sua aplicação, no qual quando inicializado seu aplicado a função já ira inicializar automaticamente seguindo os padrões do seu registro e abrindo a comunicação com o modem.
       //A função por si verifica todas as chaves de registros configuradas pelo desenvolvedor executando elas no inicio de sua aplicação, sendo elas:
       //Auditoria
       //Apagar;
        //LerApagar;
        //Porta;
        //Thread;
        //Velocidade;
        //TempoAlertar;
        //CaptionWinAPP.
       //Retornos:
       //0: Erro de comunicação, não foi possível enviar o método.
       //1: OK, Sucesso ao enviar o método.
       //-1: Erro na comunicação da serial.
       //-2: Modem retornou erro.
       //-3: Modem retornou caractere(s) invalido(s)
       //-4: Modem não conectado na rede GSM
     
       dll32 Function regTempoAlertar_MODEM_DarumaFramework(sParametro AS STRING)AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Permite ao desenvolvedor determinar em quantos segundos  thread, ativada através do método regThread_MODEM_DarumaFramework, deverá retornar ao usuário que tem um novo SMS não lido, por meio de uma janela da aplicação informada por regCaptionWinAPP_MODEM_DarumaFramework.
       //Sintaxe:
       //regTempoAlertar_MODEM(char *pszParametro)
       //Parâmetros:
       //Id	Variável	Tipo	Tam.	Descrição
       //1	sParametro	A	6	Variável string no qual você devera informar o valor do tempo que a thread irá enviar o alerta de novo SMS.
       //Observações:
       //Esta chave deve estar habilitada como "TRUE" para executar a função antes do aplicativo inicializar.
       //Chaves-Interligadas:
       //Está chave esta interligada com a utilização das chaves abaixo:
       //Thread;
        //CaptionWinAPP.
       //Retornos:
       //0: Erro de comunicação, não foi possível enviar o método.
       //1: OK, Sucesso ao enviar o método.
       //-1: Erro de atualização de Chave.
       dll32 Function regCaptionWinAPP_MODEM_DarumaFramework(sParametro AS STRING)AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Permite ao desenvolvedor configurar o nome da janela no qual ira receber o alerta da existência de novas SMS não lidas.
       //Sintaxe:
       //regCaptionWinAPP_MODEM_DarumaFramework(char *pszParametro)
       //Parâmetros:
       //Id	Variável	Tipo	Tam.	Descrição
       //1	sParametro	A	29	Variável string no qual você devera informar os parametros no qual o comando irá executar, sendo ele "TRUE" ou "FALSE".
       //Observações:
       //Esta chave deve conter o nome da janela no qual ira receber o alerta. Exemplo "MODEM DARUMA".
       //Chaves-Interligadas:
       //Está chave esta interligada com a utilização das chaves abaixo:
       //Thread;
        //TempoAlertar.
       //Retornos:
       //Modem está projetada junta a nossa DarumaFramework.dll para retornar os possíveis erros inteiros demonstrados abaixo:
       //0: Erro de comunicação, não foi possível enviar o método.
       //1: OK, Sucesso ao enviar o método.
       //-1: Erro de atualização de Chave.
       dll32 Function eTrocarBandeja_MODEM_DarumaFramework()AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Permite ao desenvolvedor a troca de bandeja do modem, indicando se o modem está conectado a rede GSM(timeout de 30 segundos).
       //Sintaxe:
       //eTrocarBandeja_MODEM_DarumaFramework(void)
       //Parâmetros:
       //Não possui.
       //Observações:
       //Devemos executar este comando quando toda vez que houver necessidade de trocar a chip a ser utilizando (SIM1 ou SIM2). Esse comando está disponível para os modelos (MIN200D e MIN200E).
       //Para que ocorra a troca sem erros o Modem deve estar na velocidade de comunicação de: 115200 Bits/ segundo.
       //Retornos:
       //0: Erro de comunicação, não foi possível enviar o método.
       //1: OK, Sucesso ao enviar o método.
       //-1: Erro na comunicação da serial.
       //-2: Modem retornou erro.
       //-3: Modem retornou caractere(s) invalido(s)
       //-4: Modem não conectado na rede GSM
       dll32 Function regBandejaInicio_MODEM_DarumaFramework(sParametro AS STRING)AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Permite ao desenvolvedor configurar a bandeja que o modem irá iniciar com o CardSim(chip), SIM1 ou SIM2.
       //Sintaxe:
       //regBandejaInicio_MODEM(char *pszParametro)
       //Parâmetros:
       //Id	Variável	Tipo	Tam.	Descrição
       //1	pszParametro	    A	9	Variável string no qual você devera informar os parâmetros no qual o comando irá executar, sendo ele "SIM1" ou "SIM2"
       //Observações:
       //Esta chave só tem efeito para o modelo de modem (MIN200D e MIN200E)
       //Retornos:
       //0: Erro de comunicação, não foi possível enviar o método.
       //1: OK, Sucesso ao enviar o método.
       //-1: Erro de atualização de Chave.
     
       dll32 Function eReiniciar_MODEM_DarumaFramework()AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Este método reinicia o modem para a configuração padrão
       //Sintaxe:
       // eReiniciar_MODEM_DarumaFramework();
        //Parâmetros:
       //Não possui.
       //Saídas:
       //Não possui.
       //Retornos:
       //0: Erro de comunicação, não foi possível enviar o método.
       //1: OK, Sucesso ao enviar o método.
       //Para obter todos os possíveis retornos consulte a Tabela Retornos Métodos.
       dll32 Function tEnviarSmsOperadora_MODEM_DarumaFramework(Str_Numero AS STRING, Str_Msg AS STRING, Str_SIM AS STRING)AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Método que permite enviar a mensagem para um celular de destino através do modem selecionando qual o chip desejado, chip da bandeja 1 ou 2 (SIM1 ou SIM2)
       //Existem diversos modos no qual você poderá aplicar esta função, como por exemplo: enviar para apenas um número ou enviar para uma lista com vários números, basta separar os números utilizando o caractere '|'.
       //O método é  geralmente usado quando o desenvolvedor deseja que a DarumaFramework, envie uma determinada informação ao seu destinatário final.
       //Exemplos para Envio de Mensagens:
       //Os exemplos abaixo, ajudaram você desenvolvedor a entender como enviar mensagens:
       //stNumeroTelefone.
       //Variável string no qual você devera informar o numero do destinario.
       //Ex.: 01292289860, informando o DDD para o envio da mensagem;
        //Ex.2: 89457852, caso o numero no qual a mensagem será enviada, esteja na mesma localidade do seu CHIP, como por exemplo, estou usando um CHIP do estado de São Paulo(interior), no qual seria 012, sendo assim não necessito informar o DDD para enviar mensagens para os celulares presentes no Código de Ãrea.
       //stMensagem. Variável string no qual você devera inserir a informação a ser enviada pelo modem, respeitando o limite de 140 caracteres.
       //Ex.: Ola! Desenvolvedor Daruma!
       //stBandeja. Bandeja que o será utilizada para enviar o SMS
       //Ex.: SIM1
       //Sintaxe:
       //tEnviarSmsOperadora_MODEM_DarumaFramework( char *pszNumTels, char *pszMsg,char *pszBandeja);
        //Parâmetros:
       //Id	Variável	Tipo	Tam.	Descrição
       //1	stNumeroTelefone	A	11	Variável string no qual você devera informar o(s) número(s) do(s) destinario(s), separe-os com o caractere '|'.
       //2	stMensagem	A	140	Variável string no qual você devera inserir a informação a ser enviada pelo modem.
       //3	stBandeja	A	10	Variável string no qual você devera informar qual a bandeja será utilizada para enviar a mensagem, SIM1 ou SIM2
       //Retornos:
       //Modem está projetada junta a nossa DarumaFramework.dll para retornar os possíveis erros inteiros demonstrados abaixo:
       //0: Erro de comunicação, não foi possível enviar o método.
       //1: OK, Sucesso ao enviar o método.
       //-1: Erro na comunicação da serial.
       //-2: Modem retornou erro.
       //-3: Modem retornou caractere(s) invalido(s)
       //Observação:
       //- Separando os números por '|' você pode enviar quantos números quiser, não há limite estabelecido;
        //- Caso queira enviar SMS sem selecionar o SIM Card, e utilizar o que está atualmente sincronizado, utilize o método tEnviarSms_MODEM_DarumaFramework;
        //- Este método tenta enviar o sms uma única vez, caso queira que a DLL automaticamente faça mais tentativas de envio, caso seja retornado erro, altere a configuração <NúmeroTentativas> presente no XML/ Registry.
       //- Para o funcionamento total deste método o modem deve estar na velocidade de comunicação: 115200 Bits/ segundo, pois é nesta velocidade que a troca de bandeja (de um SIM Card para o outro) ocorre.
       dll32 Function eBuscarPortaVelocidade_MODEM_DarumaFramework()AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Realiza a busca da porta e velocidade em que o Modem está conectado, modificando os valores  das chaves <Velocidade> e <Porta> no DarumaFrameWork.xml se necessário.
       //Sintaxe:
       //eBuscarPortaVelocidade_MODEM_DarumaFramework(void)
       //Parâmetros:
       //Não possui.
       //Saídas:
       //Não possui.
       //Retornos:
       //0: Erro de comunicação, não foi possível enviar o método.
       //1: OK, Sucesso ao enviar o método.
       //Para obter todos os possíveis retornos consulte a Tabela Retornos Métodos.
    
       dll32 Function rInfoEstendida_MODEM_DarumaFramework(Str_InfoEstendida AS STRING)AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Método que retorna o índice da mensagem se chamado logo após o seu envio. Ãndice que é utilizado para ler a Confirmação de Mensagem.
       //Sintaxe:
       //rInfoEstendida_MODEM_DarumaFramework(byRef char* pszInfoEstendida);
        //Parâmetros:
       //Id	Variável	Tipo	Tam.	Descrição
       //1	pszInfoEstendida	A
       //até 10
       //Variável string por referência para receber o índice da mensagem.
       //Observações:
       //Para utilizar a confirmação de entrega da mensagem, não esqueça de habilitar o serviço, no xml altere o valor da chave ConfirmaEntregaSMS para 1. O valor da chave pode ser alterado pelo método regAlterarValor_Daruma.
       //Retornos:
       //O método poderá retornar os possíveis erros inteiros demonstrados abaixo:
       // 0: Erro de comunicação, não foi possível enviar o método.
       // 1: OK, Sucesso ao enviar o método.
       //-1: Erro na comunicação da serial.
       //-2: Modem retornou erro.
       //-8: Comando inválido.
       dll32 Function rRetornarNumeroChamada_MODEM_DarumaFramework(Str_Resposta AS STRING)AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Método que possibilita saber o número que está ligando para o SIM Card usado no modem, ou seja,  identificar de qual a origem da ligação que está sendo recebida, através de uma variável string passada por referência.
       //Para que o método funcione corretamente é necessário ativar a configuração MODEM\ReceberNumeroChamada no XML, alterando seu valor para 1.
       //Sintaxe:
       //rRetornarNumeroChamada_DarumaFramework( char *pszNumero ) ;
        //Parâmetros:
       //Id	Variável	Tipo	Tam.	Descrição
       //1	pszNumero A	   14     Variável string passada por referência que retorna o número que está ligando para o Modem (SIM Card)
       //Retornos:
       //Este método pode retornar os seguintes valores:
       // 0: Erro de comunicação, não foi possível enviar o método.
       // 1: OK, Sucesso ao enviar o método.
       //-1: Erro da Comunicação Serial;
        //-2: Modem retornou Erro;
        //-3: Modem retornou caracteres inválidos;
        //-8: Modem retornou resposta incompleta (sem "OK" ou "ERRO").
        
       dll32 Function regRetornaValorChave_DarumaFramework(pszProduto AS STRING,pszChave AS STRING,pszValor AS STRING)AS LONG PASCAL LIB hDllDaruma
       dll32 Function rListarSMSTelefone_MODEM_DarumaFramework(Str_NumTelefone AS STRING)AS LONG PASCAL LIB hDllDaruma
       //Permite ao desenvolvedor listar todas as mensagens contidas no CHIP do modem em um arquivo no formato Texto, de apenas um determinado número de telefone.
       //O método possui um parâmetro, para informar o número de telefone do qual deseja que as mensagens sejam listadas.
       //E as mensagens que serão lidas podem ser definidas através da chave de configuração localizada no Registro/ XML (MODEM\ListarSms). Os valores aceitos são:  0 -  para Todas as mensagens; 1 - para mensagens Lidas; 2 - para mensagens Não Lidas. O valor padrão é 0, então se a chave não for alterada, serão lidas todas as mensagens do número indicado.
        //Sintaxe:
       //rListarSMSTelefone_MODEM_DarumaFramework( char* pszTelefone)
       //Parâmetros:
       //Id	Variável	Tipo	Tam.	Descrição
       //1	pszTelefone A	14    String que informa qual o número de telefone que deseja listar as mensagens no arquivo.
       //Observações:
       //A lista será criada no local especificado pelo desenvolvedor na chave chamada <LocalArquivos> do Registro/ XML, e vai conter apenas as mensagens do número especificado.
       //O número informado para listagem, deve estar exatamente igual ao que é armazenado pelo chip. (Exemplos: 012987654321 ou +5512987654321)
       //Retornos:
       //Abaixo os possíveis valores para o retorno do método:
       // 0: Erro de comunicação, não foi possível enviar o método.
       // 1: OK, Sucesso ao enviar o método.
       //-1: Erro da Comunicação Serial;
        //-2: Modem retornou Erro;
        //-3: Modem retornou caracteres inválidos;
        //-8: Modem retornou resposta incompleta (sem "OK" ou "ERRO").
       dll32 function rNivelSinalRecebido_MODEM_DarumaFramework()AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Permite ao desenvolvedor verificar a disponibilidade do sinal presente no Modem.
       //Sintaxe:
       //rNivelSinalRecebido_MODEM_DarumaFramework(void)
       //Observações:
       //Para executar esta funcionalidade, necessitamos acionar o método Inicializar_MODEM_DarumaFramework.
       //Definições dos Níveis de Sinais:
       //Os valores abaixo, serão demonstrado a você desenvolvedor, para a verificação do nível de sinal:
       //0 = -113dBm ou menor;
        //1 = -111dBm;
        //2.30 = -109... -53 dBm;
        //31 = -59dBm ou maior;
        //99 = desconhecido ou não detectado.
       //Parâmetros:
       //Não possui.
       //Retornos:
       //0: Erro de comunicação, não foi possível enviar o método.
       //1: OK, Sucesso ao enviar o método.
       //-1: Erro na comunicação da serial.
       //-2: Modem retornou erro.
       //-3: Modem retornou caractere(s) invalido(s).
       //-x: Valor referente ao nível de sinal.
     
       dll32 function rListarSms_MODEM_DarumaFramework()AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Permite ao desenvolvedor listar todas as mensagens contidas no CHIP do modem em um arquivo no formato Texto. O método não possui parâmetros, porém as mensagens que serão lidas podem ser definidas através de uma chave de configuração localizada no Registro/ XML (MODEM\ListarSms). Os valores aceitos são:
       //0 -  para Todas as mensagens
       //1 - para mensagens Lidas
       //2 - para mensagens Não Lidas
       //O valor padrão é 0, então se a chave não for alterada, serão lidas todas as mensagens.
       //Além desta função disponibilizamos uma chave no registro chamada Thread no qual através dela o modem ficará num LOOP questionando se houve ou não recebimento de mensagem (clique aqui para saber mais).
       //Sintaxe:
       //rListarSms_MODEM_DarumaFramework( void )
       //Observações:
       //A lista será criada no local especificado pelo desenvolvedor na chave chamada <LocalArquivos> do Registro/ XML
       //HKEY_LOCAL_MACHINE\SOFTWARE\DarumaFramework \LocalArquivos
       //Parâmetros:
       //Não possui.
       //Retornos:
       //Abaixo os possíveis valores para o retorno do método:
       // 0: Erro de comunicação, não foi possível enviar o método.
       // 1: OK, Sucesso ao enviar o método.
       //-1: Erro da Comunicação Serial;
        //-2: Modem retornou Erro;
        //-3: Modem retornou caracteres inválidos;
        //-8: Modem retornou resposta incompleta (sem "OK" ou "ERRO").
    
       dll32 function tEnviarSms_MODEM_DarumaFramework(sNumeroTelefone AS STRING,sMensagem AS STRING )AS LONG PASCAL LIB hDllDaruma
       //Definição:
       //Permite enviar a mensagem para um celular de destino através do modem.
       //Existem diversos modos no qual você poderá aplicar esta função, como por exemplo: enviar para apenas um número ou enviar para uma lista com vários números, basta separar os números por '|'.
       //O método é  geralmente usado quando o desenvolvedor deseja que a DarumaFramework, envie uma determinada informação ao seu destinatário final.
       //Exemplos para Envio de Mensagens:
       //Os exemplos abaixo, ajudaram você desenvolvedor a entender como enviar mensagens:
       //stNumeroTelefone: Variável string no qual você devera informar o numero do destinatário.
       //Ex.: 01292289860, informando o DDD para o envio da mensagem;
        //Ex.2: 89457852, caso o numero no qual a mensagem será enviada, esteja na mesma localidade do seu CHIP, como por exemplo, estou usando um CHIP do estado de São Paulo(interior), no qual seria 012, sendo assim não necessito informar o DDD para enviar mensagens para os celulares presentes no Código de Ãrea.
       //stMensagem: Variável string no qual você devera inserir a informação a ser enviada pelo modem, respeitando o limite de 140 caracteres.
       //Ex.: Ola! Desenvolvedor Daruma!
       //Observações:
       //Caracteres especiais aceitos para o envio de SMS:
       //! " # % & ( ) * : + ; , < > | = . / ?
       //Parâmetros:
       //Id	Variável	Tipo	Tam.	Descrição
       //1	stNumeroTelefone	A	11	Variável string no qual você devera informar o numero do destinario. Utilize o caractere '|' para separar os números, caso tenha mais de um.
       //2	stMensagem	A	140	Variável string no qual você devera inserir a informação a ser enviada pelo modem.
       //Retornos:
       //Modem está projetada junta a nossa DarumaFramework.dll para retornar os possíveis erros inteiros demonstrados abaixo:
       //0: Erro de comunicação, não foi possível enviar o método.
       //1: OK, Sucesso ao enviar o método.
       //-1: Erro na comunicação da serial.
       //-2: Modem retornou erro.
       //-3: Modem retornou caractere(s) invalido(s)
       //Observação:
       //- Separando os números por '|' você pode enviar quantos números quiser, não há limite estabelecido;
        //- Com este método o SMS será enviado através do chip que está atualmente sincronizado, para escolher se quer utilizar SIM1 ou SIM2, utilize o métdo tEnviarSmsOperadora_MODEM_DarumaFramework;
        //- Este método tenta enviar o sms uma única vez, caso queira que a DLL automaticamente faça mais tentativas de envio, caso seja retornado erro, altere a configuração <NúmeroTentativas> presente no XML/ Registry.
    
  6. Não sei se ja conhece mas se quiser mais detalhes 

    http://wiki.fivetechsoft.com/doku.php?id=fivewin_functions_by_category

    Numeric manipulation

    Atang() Calculates the angle whose tangent is a specified number
    B2Bin() Converts a byte into a string 1 byte len
    Bin2d() Converts a string into a 4 byte double precision numeric
    C2Hex() Converts a byte into a hex string (2 chars)
    Cos() Calculates the cosine function of an angle
    cStrWord() To extract a word of a string of characters
    D2bin() Converts a floating point number into a string
    Dectohex() Converts a number in its hexadecimal form
    Hex2str() Converts a hexadecimal representation of a string in its corresponding
    Hextodec() It converts a chain hexadecimal to a decimal number
    Htons() Convert a u_short from host to network byte order
    I2hex() Converts a word (2 bytes) into a hex string (4 chars)
    L2hex() Converts a long (4 bytes) into a hex string (8 chars)
    Land() Retrieves the logical AND of some numeric values
    Lxor() Exclusive Or Nand() Generates a numeric AND value from some numbers
    Ndbl2flt() Convert a Double to Float
    Nhex() To convert a hexadecimal to decimal
    Nhibyte() Returns the High Byte of a word (two bytes)
    Nhiword() Returns the HiWord of a long (four bytes)
    Nlobyte() Returns the Low byte of a word (two bytes)
    Nloword() Returns the Low word of a long (four bytes)
    Nmakelong() Generates a long (4bytes) from two words (2bytes)
    Nnot() This function carries out a logical NOT to an operator
    Nor() Generates a numeric OR value from some numbers
    Nrandom() Generates a random number
    Ntobin() 1 and .f. for 0)
    Nxor() An exclusive Or executes with a list of parameters
    Sin() Calculates the sine function of an angle
    Str2hex() Converts the characters of a string in their hexadecimal representation
    Strbyte() Assign/obtain the value of a byte
    Tang() Calculates the tangent function of an angle
    UtoS() Converts a long value to short
     
  7. Bem aqui no programa eu faço parecido com a primeira resposta , tambem me baseio na id do Get ou da classe tanto para usar o Hide como o Disabled ai vai as funçoes 
     

    Function Desabilita_Controles(oDlg) // Passar Dialog no Parametro , caso for um Folder passar o oDlg:aDialogs[1] 
       local y,x:= len (oDlg:aControls)
       For y:=1 to  x
          oDlg:aControls[y]:Disable()
       next
     
     
    
    Function Desabilita_Controles2(oDlg) //Essa voce so precisa mudar a classe 
       local y,x:= len (oDlg:aControls)
       For y:=1 to  x
          if oDlg:aControls[y]:classname<>"TBUTTONBMP"
             oDlg:aControls[y]:Disable()
          endif
       next
     
    
    Function Desabilita_Controles3(oDlg,IdInicial) // Essa Funciona pelo Numero da Id
       local y,x:= len (oDlg:aControls)
       For y:=1 to  x
          if oDlg:aControls[y]:nId>=IdInicial
             oDlg:aControls[y]:Disable()
          endif
       next
     
    

     


     

    Quaisquer duvidas ta ai os contatos : Matheus@inteligence.com.br / Matheushchaves@gmail.com / d.matheusfarias@hotmail.com / matheushchaves@hotmail.com / (83) 9854-0294

  8. Olha se Voce conhece bem os comandos consegue usar o Harbour para usar seus bancos de Dados , não sei se é sua preferencia uma interface ainda no terminal mas muito boa ela é , entre no site do harbour e faça o Download do Hb3.0 na pasta Bin tem o Hbrun , que é um "Compilador em tempo real" do harbour ele executa o que voce coloca assim existem todos os comandos do clipper que voce consegue manipular o banco com mai agilidade , Obs: Esses comandos o Clipper do banco de dados são semelhantes ao do fivewin 

    Links http://vivaclipper.wordpress.com/2013/02/01/hbrun/

             http://sourceforge.net/projects/harbour-project/files/binaries-windows/3.0.0/harbour-3.0.0-win.exe/download

     

    Acredito que vai lhe ajudar

  9. Olha as vezes depende do que vc usa , e da lingua padrao que esta configurada na programaçao , exemplo com o xharbour alguns caracteres especiais em portugues vao pegar outros , acredito que com isso resolva

    REQUEST HB_Lang_PT
    REQUEST HB_CODEPAGE_DE850, HB_CODEPAGE_DEISO
    //->Defaults da Lingua Portuguesa do [x]Harbour
    HB_LANGSELECT( 'PT' ) // Default language is now Portuguese
    //->Como indexar corretamente campos acentuados Harbour/xHarbour
    //->Este recurso e valido para Harbour e xHarbour e requer a biblioteca
    //CODEPAGE.LIB.
    
    
×
×
  • Create New...