Fórum Identificar Porta serial Disponível #335198

25/12/2006

0

Pessoal, como faço para Identificar porta serial disponivel no PV via porgramação em Delphi. Exemplo quando abrir o programa ele ache
uma porta para se conectar. Eu uso os componente Comport e Mscomm.

Grato
Juarez


Juarezber

Juarezber

Responder

Posts

02/01/2007

Aroldo Zanela

Colega,

Faça um for de acordo com a quantidade de portas disponíveis no PC e tente abrí-la.
Exemplo hipotético:

for I := 1 to 4 do
 if OpenX(Com+IntToStr(I)) then
  break;


Deve-se usar blocos try...except para tratar as exceções.


Responder

Gostei + 0

08/01/2007

Juarezber

Zanela, como eu criaria OpenX e Com ?

Grato
Juarez


Responder

Gostei + 0

09/01/2007

Massuda

Acredito que a intenção do Aroldo era dar uma idéia de como fazer, não dar um código que funcionasse.

No caso, a sugestão que ele deu é que você deve tentar abrir a porta serial para ver se ela existe. Eu geralmente tento abrir as portas COM1 a COM8 e testo quais portas são modem (o teste é simples: envie AT e se receber um OK é porque a porta está ligada a um modem).


Responder

Gostei + 0

10/01/2007

Rodc

As portas seriais ativas no Windows ficam no Regedit, no caminho ´HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm´.


Responder

Gostei + 0

10/01/2007

Juarezber

Rodc, valeu a dica, mas o que eu estou precisando é de
um exemplo de como fazer via programação em delphi.

Abraços
Juarez


Responder

Gostei + 0

10/01/2007

Rodc

Você quer saber como acessa o Regedit ou a Porta Serial?

Para acessar o Registry vá no Help do Delphi e pesquise a classe TRegistry, é ela que faz o acesso ao Registry do Windows.


Responder

Gostei + 0

11/01/2007

Juarezber

A porta serial.

Grato
Juarez


Responder

Gostei + 0

14/01/2007

Aroldo Zanela

Rodc, valeu a dica, mas o que eu estou precisando é de um exemplo de como fazer via programação em delphi. Abraços Juarez

Colega,

Veja se é isto que está procurando:

function TestaPortaCom(Porta: string): Boolean;
var F: file;
begin
  {$I-}
  AssignFile(F, Porta);
  FileMode := 0;
  Reset(F);
  CloseFile(F);
  {$I+}
  TestaPortaCom := (IOResult = 0) and (Porta <> ´´);

end;



Responder

Gostei + 0

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

Aceitar