rubem, muito bom esse site, tem muita coisa interessante, voce tem
mais alguns sites com exemplos e fontes?




2009/8/23 Rubem Nascimento da Rocha <djpardalro...@hotmail.com>

>
>
>
> Projeto de um monitor de tráfego de rede feito em Delphi.
>
> http://delphi.about.com/od/fullcodeprojects/l/aa112903a.htm
>
> Sds.
>
> P.S.: Como eu sempre digo, quem procura acha! ;)
>
>
> To: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>
> From: mora...@matrizsistemas.com.br <moratti%40matrizsistemas.com.br>
> Date: Sat, 22 Aug 2009 22:39:06 -0300
> Subject: Re: [delphi-br] Monitorar rede
>
> Velhim eu fiz um codigo utilizando o winsock coloeuqie um timer e ele
> retrona pra mim primeiro se a rede estar atiava e depois se o ip que setei
> esta ativo ...
>
> da uma olhada ai n codigo
> Espero que ajude...
>
> Wash Moratti
>
> unit Uprincipal;
>
> interface
>
> uses
> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
> Dialogs, ExtCtrls, ComCtrls, IniFiles, StdCtrls, Winsock,
> IdBaseComponent, IdComponent, IdRawBase, IdRawClient, IdIcmpClient;
>
> type
> TfPrincipal = class(TForm)
> Timer1: TTimer;
> stbar: TStatusBar;
> btLerConfig: TButton;
> lbIp: TLabel;
> lbCaminho: TLabel;
> edIp: TEdit;
> Ip: TLabel;
> btGravarIp: TButton;
> Label1: TLabel;
> procedure Timer1Timer(Sender: TObject);
> procedure btLerConfigClick(Sender: TObject);
> procedure btGravarIpClick(Sender: TObject);
> procedure FormShow(Sender: TObject);
> procedure FormCreate(Sender: TObject);
>
> private
> { Private declarations }
> config : TIniFile ;
> ipCfg : string;
> function buscaIp: string;
>
> public
> { Public declarations }
> end;
>
> var
> fPrincipal: TfPrincipal;
>
> implementation
>
> uses UPing;
>
> {$R *.dfm}
>
> function GetLocalIP: string;
> type
> TaPInAddr = array[0..10] of PInAddr;
> PaPInAddr = ^TaPInAddr;
>
> var
> phe: PHostEnt;
> pptr: PaPInAddr;
> Buffer: array[0..63] of char;
> I: Integer;
> GInitData: TWSADATA;
>
> begin
> WSAStartup($101, GInitData);
> Result := '';
> GetHostName(Buffer, SizeOf(Buffer));
> phe := GetHostByName(buffer);
> if phe = nil then
> Exit;
> pptr := PaPInAddr(Phe^.h_addr_list);
> I := 0;
> while pptr^[I] <> nil do
> Begin
> result := StrPas(inet_ntoa(pptr^[I]^));
> result := StrPas(inet_ntoa(pptr^[I]^));
> Inc(I);
> end;
> WSACleanup;
> end;
>
> procedure TfPrincipal.Timer1Timer(Sender: TObject);
> var
> IpLocal : string;
>
> begin
> IpLocal := GetLocalIp;
> // Comarando se é Servidor ou Estação
> if ( buscaIp = IpLocal ) or
> ( buscaIp = '127.0.0.1' ) then
> begin // Se for Servidor executa:
> fPrincipal.Color := clBtnFace;
> stbar.Panels[0].Text := 'Servidor';
> stbar.Panels[1].Text := 'IP local é :' + IpLocal;
> end
> else
> begin // Se for estação executa:
> if Iplocal = '127.0.0.1' then
> begin // Se a Rede estiver Desativada Executa:
> Stbar.Panels[0].Text := 'Rede Desativada.';
> stbar.Panels[1].Text := 'Servidor não encontrado !!!';
> fPrincipal.Color := clInfoBk;
> end
> else
> begin // Se a Rede estiver Ativada Executa:
> Stbar.Panels[0].Text := 'Estação e seu Ip é: ' + GetLocalIP;
> fPrincipal.Color := clBtnFace;
> If Ping(buscaIp) then
> begin
> fPrincipal.Color := clBtnFace;
> stbar.Panels[1].Text := 'Servidor encontrado !!!';
> end
> else
> begin
> fPrincipal.Color := clInfoBk;
> stbar.Panels[1].Text := 'Servidor não encontrado !!!';
> end;
>
> end;
>
> end;
>
> end;
>
> procedure TfPrincipal.btLerConfigClick(Sender: TObject);
> begin
> config := TIniFile.Create(ExtractFilePath(Application.ExeName) +
> 'config.ini');
> try
> lbIp.Caption := config.ReadString('rede','ip','');
> lbCaminho.Caption :=
> config.ReadString('rede','caminho',ExtractFilePath(Application.ExeName));
> finally
> config.Free;
> end;
> end;
>
> procedure TfPrincipal.btGravarIpClick(Sender: TObject);
> begin
> config := TIniFile.Create(ExtractFilePath(Application.ExeName) +
> 'config.ini');
> try
> config.WriteString('rede','ip',edIp.Text);
> finally
> Config.Free;
> end;
> btLerConfigClick(btLerConfig);
> end;
>
> procedure TfPrincipal.FormShow(Sender: TObject);
> begin
> if not FileExists(ExtractFilePath(Application.ExeName) + 'config.ini') then
> begin
> config := TIniFile.Create(ExtractFilePath(Application.ExeName) +
> 'config.ini');
> try
> config.WriteString('rede','ip','');
> config.WriteString('rede','caminho',ExtractFilePath(Application.ExeName));
> finally
> config.Free;
> end;
> end;
> end;
>
> function TfPrincipal.buscaIp: string;
> begin
> if FileExists(ExtractFilePath(Application.ExeName) + 'config.ini') then
> begin
> config := TIniFile.Create(ExtractFilePath(Application.ExeName) +
> 'config.ini');
> try
> result := config.ReadString('rede','ip','');
> finally
> config.Free;
> end;
> end;
> end;
>
> procedure TfPrincipal.FormCreate(Sender: TObject);
> begin
> buscaIp;
> end;
>
> end.
>
> .
>
> __________________________________________________________
> Conheça os novos produtos Windows Live! Clique aqui.
> http://www.windowslive.com.br
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Felipe Govoni
---------------------
GOVONI Sistemas
Fone 8472-8718
www.govoni.com.br


[As partes desta mensagem que não continham texto foram removidas]

Responder a