ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Receber dados do Modem 56kbps

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
carcleo
Novato
Novato


Registrado: Quarta-Feira, 14 de Setembro de 2005
Mensagens: 37

MensagemEnviada: Ter Nov 21, 2017 7:46 pm    Assunto: Receber dados do Modem 56kbps Responder com Citação

Gostaria de saber como Receber dados do Modem 56 kbps!

Tenho uma aplicação com um cadastro simples de clientes onde um dos campos da tabela Clientes é o telefone!

Essa aplicação fica aberta direto!

Gostaria de, quando receber uma ligação, guardar o número do telefone que está ligando para nós!

Então, o sistema irá fazer busca por esse telefone no cadastro de clientes e caso haja algum cliente com o tal telefone seu registro é lançado na tela.

A parte do sistema está pronta! Mas capturar o número do telefone não estou sabendo!

Tenho o form abaixo onde eu já consigo ligar e receber ligações, mas receber o número de quem me ligou não sei qual o comando para isso!

Ah! Sim, o plano da operadora inclui o serviço BINA. O aparelho que tenho na mesa tem o bina embutido e funciona!
Código:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, spBina;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    ComboBox1: TComboBox;
    Memo1: TMemo;
    RadioButton1: TRadioButton;
    spBina1: TspBina;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;


var
 Form1: TForm1;
 hCommFile: THandle;
 Status: LongBool;


NumberWritten: DWORD;
Buf : array[0..1023] of Byte;
s :string;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
//Testa os valores necessários
 
if (combobox1.text <> '') and (edit1.text<>'') then
 
   begin
   
    //Abre a porta de comunicação
    s:=Combobox1.text;
    hCommFile := CreateFile (
    PChar(s),
    GENERIC_WRITE,
    0, // não compartilhado
    nil, // sem segurança
    OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL,
    0);
    // Verifica a abertura da porta
   
   if hCommFile = INVALID_HANDLE_VALUE then
   
      begin
       memo1.lines.clear;
       memo1.lines.add('Não foi possível abrir a porta selecionada.');
       memo1.lines.add('Discagem não efetuada');
       CloseHandle(hCommFile);
      end
      
   else
   
      begin
       memo1.lines.clear;memo1.lines.add('Discando...');
       //Cria a string de comando
      
      if radiobutton1.checked then
       s:=' ATDT'
      else
     s:='ATDP';
       s := s + edit1.text + #13#10;
       memo1.lines.add(s);
       //Envia a String de Comando
       NumberWritten:=0;
       Status:= WriteFile( hCommFile,PChar(s)[0],Length(s), NumberWritten, nil);
       memo1.lines.add('Aguardando Atendimento ...');
       MessageDlg('Retire o telefone do gancho' + 'e clique OK para desligar omodem',mtInformation,[mbok], 0);
       //Desconecta a ligação
       WriteFile(hCommFile,'ATH',5,NumberWritten,
      nil
      );
       //Fecha a porta de comunicação
       CloseHandle(hCommFile);memo1.lines.add('Modem Desconectado.'#13#10);
      end;
   end;
end;
end.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3093
Localização: Belo Horizonte - MG

MensagemEnviada: Qua Nov 22, 2017 8:48 am    Assunto: Responder com Citação

No link abaixo tem um programa demo feito em Delphi 3, com o spBina que parece ser o mesmo que você está usando.

Baixe e teste no Delphi 7 para ver se funciona:

http://www.planetadelphi.com.br/download/443/identificador-de-chamadas---bina---delphi-3
_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
carcleo
Novato
Novato


Registrado: Quarta-Feira, 14 de Setembro de 2005
Mensagens: 37

MensagemEnviada: Qua Nov 22, 2017 10:28 am    Assunto: Responder com Citação

Então. Como fazer para receber chamada pelo superbina?

Qual o comando?

Pois como ele está configurado, apenas está fazendo chamadas.

Não recebendo!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
carcleo
Novato
Novato


Registrado: Quarta-Feira, 14 de Setembro de 2005
Mensagens: 37

MensagemEnviada: Qua Nov 22, 2017 4:25 pm    Assunto: Responder com Citação

Descobri que fazendo:
Código:
s := 'ATA+ #13#10;

Recebe a ligação:
Mas vem junto o barulho do modem
E ainda não consigo pegar o número do telefone
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB