Comunicação com a porta COM3

23/11/2017

0

Estou tentando ler o retorno de uma acesso á porta
COM3
que é onde está o
modem 56kbps antigo
.

A comunicação está sendo feita e o modem está lugando e recebendo chamadas de fora!

Porém gostaria de ler os dados que o modem possa me enviar.

A conexão à porta do modem fiz assim:
    ...
    
    hCommFile: THandle;
    Status: LongBool;
    NumberWritten: DWORD;
    Buf : array[0..1023] of Byte;
    s :string;
    
    .......
    
    //Abre a porta de comunicação
    s:='COM3';
    hCommFile := CreateFile (
    					 PChar(s),
    					 GENERIC_READ or 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
    
    //Envia a String de Comando
    NumberWritten:=0;
    Status:= WriteFile(
    					hCommFile,
    					PChar(s)[0],
    					Length(s),
    					NumberWritten,
    					nil);
    
    ...

Até aqui tudo certo.
Mas estou tentando pegar dados dos modem.
Acho que é preciso usar a
Classe InpoutStream
mas não acho nada para
Delphi
.

Tentei assim mas o código travou
    if FileRead(hCommFile, Buf[0], 1023) = 1 then
    begin
       ShowMessage('a');
    end;
    
    ....


Alguém ajuda.

O objetivo é pegar um retorno apenas e jogar em uma variável!
Carlos Rocha

Carlos Rocha

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar