Jump to content

Jonatan Felipe

Membros
  • Content Count

    5
  • Joined

  • Last visited

Community Reputation

3 Neutral

About Jonatan Felipe

  • Rank
    Novato

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Daniel, Entrei em contato com a SkyTef agora vou esperar as instruções. Obrigado
  2. Bom dia Senhores, Estou com a necessidade de implementar o TEF ao meu sistema, atualmente eu uso a NFC-e da tecnospeed. Bom estou bem perdido em tudo de como devo começar etc... vi alguns topicos aqui no fórum falando que em horas é possivel colocar o TEF no software no caso ja tenho a nfce em funcionamento .. Podem me dar dicas , e me dizer por onde começar ? oq devo saber ? obrigado
  3. o erro eu consiguir descobrir o que era, mas agora na maquina do cliente acontece o seguinte , falha ao definir numero do destinatario .... o acbrsms em si não esta funcionando na maquina dele, pois testei até com o exemplo do acbr compilado . ja formatei a maquina do cliente também
  4. Nossa estou com uma dor de cabeça tentando resolver o envio de sms alguem pode dar uma luz ai ? unit USMS; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, AdvSmoothPanel, AdvSmoothLabel, StdCtrls, ShellApi, DB, MemDS, DBAccess, MyAccess, IniFiles, ACBrSMSDaruma, ACBrBase, ACBrSMS, ACBrSMSClass, StrUtils, JvComponentBase, JvTrayIcon, Menus, ImgList, System.ImageList, Vcl.ComCtrls, Vcl.Grids, Vcl.DBGrids; type TForm1 = class(TForm) Timer1: TTimer; Conexao: TMyConnection; MySmsTemp: TMyQuery; DSsmsTemp: TDataSource; MyConfiguracoes: TMyQuery; DSConfiguracoes: TDataSource; MyConfiguracoesModeloSms: TStringField; MyConfiguracoesPortaSms: TStringField; MyConfiguracoesVelocidadeSms: TIntegerField; MySmsTempTelefone: TStringField; MySmsTempMensagem: TStringField; ACBrSMS1: TACBrSMS; MySmsTempstatus: TStringField; MySmsTempID: TIntegerField; timerInfos: TTimer; PopupMenu1: TPopupMenu; Fecharoaplicativo1: TMenuItem; JvTrayIcon1: TJvTrayIcon; ImageList1: TImageList; rdgBandeja: TRadioGroup; btnTrocarChip: TButton; lb_listaEnviados: TListBox; Panel1: TPanel; ProgressBar1: TProgressBar; lb_progresso: TLabel; btnativar: TButton; GroupBox1: TGroupBox; lb_mensagemEnviar: TLabel; lb_serverOnline: TLabel; lb_sinal: TLabel; lb_modeloModem: TLabel; lb_operadora: TLabel; DBGrid1: TDBGrid; Panel2: TPanel; Panel3: TPanel; MyConfiguracoesSmsTimeOut: TIntegerField; procedure Label4Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure timerInfosTimer(Sender: TObject); procedure Fecharoaplicativo1Click(Sender: TObject); procedure btnTrocarChipClick(Sender: TObject); procedure ACBrSMS1Progresso(const AAtual, ATotal: Integer); procedure btnativarClick(Sender: TObject); procedure FormDestroy(Sender: TObject); private procedure EnviarSMS; procedure ModeloSMS; { Private declarations } public { Public declarations } end; var Form1: TForm1; Modelo:Integer; vStatus:String; implementation Const C1 = 32827; C2 = 94854; {$R *.dfm} function Descryptografar(const S: ShortString; Key: Word): String; var I: byte; x: char; begin result := ''; i := 1; while (i < Length(S)) do begin x := char(strToInt('$' + Copy(s, i, 2))); Result := result + char(byte(x) xor (Key shr 8)); Key := (byte(x) + Key) * C1 + C2; Inc(i, 2); end; end; procedure TForm1.ACBrSMS1Progresso(const AAtual, ATotal: Integer); begin lb_progresso.Caption := Format('%d de %d', [AAtual, ATotal]); ProgressBar1.Position := AAtual; ProgressBar1.Max := ATotal; Application.ProcessMessages; end; procedure TForm1.btnTrocarChipClick(Sender: TObject); begin if ACBrSMS1.BandejasSimCard < 2 then raise Exception.Create('Este modelo possui somente uma bandeja de SimCard.'); if rdgBandeja.ItemIndex = 0 then ACBrSMS1.TrocarBandeja(simCard1) else ACBrSMS1.TrocarBandeja(simCard2); ShowMessage( 'Pronto.' + sLineBreak + sLineBreak + 'Última resposta:' + sLineBreak + String(ACBrSMS1.UltimaResposta) ); end; procedure TForm1.btnativarClick(Sender: TObject); begin if not ACBrSMS1.Ativo then begin ACBrSMS1.Modelo := TACBrSMSModelo( Modelo ); ACBrSMS1.Device.Porta := MyConfiguracoesPortaSms.AsString; ACBrSMS1.Device.Baud := MyConfiguracoesVelocidadeSms.AsInteger; ACBrSMS1.ATTimeOut := MyConfiguracoesSmsTimeOut.AsInteger; ACBrSMS1.Ativar; btnAtivar.Caption := 'Desativar'; Timer1.Enabled:=True; timerInfos.Enabled:=True; vStatus := 'livre'; // menTrocarBandeja.Visible := ACBrSMS1.BandejasSimCard > 1; end else begin Timer1.Enabled:=False; timerInfos.Enabled:=False; ACBrSMS1.Desativar; btnAtivar.Caption := 'Ativar'; end; end; procedure TForm1.EnviarSMS; var Indices: String; LoteMsgs: TACBrSMSMensagens; vQtdMsg : Integer; begin LoteMsgs := TACBrSMSMensagens.Create; try // envio de lote apartir de arquivo // cada linha do arquivo é uma mensagem, seguinte o padrão: // 1122223333|Mensagem que deseja enviar // // LoteMsgs.LoadFromFile(OpenDialog1.FileName); { Pode ser populada a mão utilizado o método Add, assim o usuário pode montar a lista a partir de uma tabela no banco de dados por exemplo Exemplo: } vQtdMsg:=0; Timer1.Enabled:=False; Application.ProcessMessages; MySmsTemp.First; while not MySmsTemp.Eof do begin vStatus := 'enviando'; if Length(MySmsTempTelefone.AsString) > 7 then begin with LoteMsgs.Add do begin Telefone := MySmsTempTelefone.AsString; Mensagem := MySmsTempMensagem.AsString; vQtdMsg := vQtdMsg+1; end; end; MySmsTemp.Delete; Application.ProcessMessages; end; lb_mensagemEnviar.Caption := 'Mensagens a Enviar : '+IntToStr(vQtdMsg); ACBrSMS1.EnviarSMSLote(LoteMsgs, Indices); lb_listaEnviados.Items.Add('Lote de : ' + IntToStr(vQtdMsg) + ' mensagens enviadas - '+TimeToStr(Time)); Application.ProcessMessages; finally LoteMsgs.Free; MySmsTemp.Refresh; vStatus := 'livre'; Timer1.Enabled:=True; ProgressBar1.Position:=0; lb_progresso.Caption := 'Progresso de Envio'; Application.ProcessMessages; end; end; procedure TForm1.Fecharoaplicativo1Click(Sender: TObject); begin Application.Terminate; end; procedure TForm1.FormDestroy(Sender: TObject); begin ACBrSMS1.Desativar; end; procedure TForm1.FormShow(Sender: TObject); Var Username, Password,Database,Server,Port : String; ArqINI : TIniFile; begin try // Conexão Com arquivo Conf.ini (Inicio) ArqINI := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Config.ini'); Username := Descryptografar(ArqINI.ReadString('UNICHEFF','Username',''),0); Password := Descryptografar(ArqINI.ReadString('UNICHEFF','Password',''),0); Database := Descryptografar(ArqINI.ReadString('UNICHEFF','Database',''),0); Server := Descryptografar(ArqINI.ReadString('UNICHEFF','Server',''),0); Port := Descryptografar(ArqINI.ReadString('UNICHEFF','Port',''),0); // Fim Conexao.Username := Username; Conexao.Password := Password; Conexao.Port := StrToInt(Port); Conexao.Database := Database; Conexao.Server := Server; Conexao.Connected:= True; MySmsTemp.Active:=True; MyConfiguracoes.Active:=True; except ShowMessage('Erro na base de dados'); Application.Terminate; end; MySmsTemp.Close; MySmsTemp.SQL.Clear; MySmsTemp.SQL.Add('select * from sms_temp where status = 0 '); MySmsTemp.Open; ModeloSMS; btnativar.Click; end; procedure TForm1.Label4Click(Sender: TObject); begin ShellExecute(Handle,'Open','http://www.unitechsistemas.com.br/','','',1); end; procedure TForm1.ModeloSMS; begin if MyConfiguracoesModeloSms.Asstring = 'modNenhum' then Modelo := 0; if MyConfiguracoesModeloSms.Asstring = 'modDaruma' then Modelo := 1; if MyConfiguracoesModeloSms.Asstring = 'modZTE' then Modelo := 2; if MyConfiguracoesModeloSms.Asstring = 'modGenerico' then Modelo := 3; end; procedure TForm1.Timer1Timer(Sender: TObject); begin MySmsTemp.Refresh; Application.ProcessMessages; if not MySmsTemp.Eof then begin if vStatus = 'livre' then EnviarSMS; end; end; procedure TForm1.timerInfosTimer(Sender: TObject); var Msg: String; begin Msg := IfThen(ACBrSMS1.EmLinha, 'SMS em linha', 'SMS não está em linha.'); lb_serverOnline.Caption:=Msg; lb_operadora.Caption:=ACBrSMS1.Operadora; lb_sinal.Caption:='Sinal : '+FloatToStr(ACBrSMS1.NivelSinal); lb_modeloModem.Caption:='Modelo do Modem : '+ACBrSMS1.ModeloModem; end; end. esta ocorrendo o mesmo erro. CMS ERROR 500 tipo crio um lote de umas 2000 mensagens mais da esse erro , e ontem começou enviar mas parava no meio enviou umas 170 somente
×
×
  • Create New...