Votre question

[Résolu][DELPHI]Ping automatique sur des serveurs donnés

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
7 Février 2006 09:54:08

Bonjour,

Je suis actuellement entrain de faire un programme en delphi utilisant une base de données firebird
Le souci , dans un premier temps , c'est que je n'arrive pas à pinger de machine , ni à afficher le numéro de la machine pingée.

Le graphisme n'est pas poussé , car c'est le cadet de mes soucis.
Voici ici le pack du source contenant la base de données : télécharger
Composants utilisés : IdIcmpClient,IBODatabase,IBOQuery,DataSource
Voilà pour l'essentiel , sinon ce sont des boutons et composants classiques.

Ensuite viendront les problèmes d'affichage du temps de réponse et de la gestion d'historique (affichée sur une autre base).

Merci d'avance ;) 

Autres pages sur : rasolu delphi ping automatique serveurs donnas

8 Février 2006 10:50:00

voilà j'ai déjà résolu une partie du problème , qui est d'afficher la machine pingée , dont voici le code (juste pour l'affichage):
Nota:Le Edit1.text remplace la listbox ping_serveur_num

procedure TForm1.PINGClick(Sender: TObject);
var
a:integer;
begin
a:=dbgrid1.Fields[0].AsInteger;
edit1.Text:=dbgrid1.Fields[2].AsString;

En effet , la première colonne de ma BDD est la clé , la deuxième colonne est le nom de la machine , la troisième colonne est l'adresse de la machine .

on se base sur la première colonne pour la selection:
-> a:=dbgrid1.Fields[0].AsInteger;
et en fonction de la selection , on affiche dans l'edit1.text ce qui se trouve dans la 3ème colonne de la ligne sélectionnée:
-> edit1.Text:=dbgrid1.Fields[2].AsString;

Voilà , c'est un bon début!
8 Février 2006 10:58:01

voilà le code complet du bouton 'Ping' qui permet de pinger le serveur choisi :

var
DateChaine: string;
datachaineping: string;
k:integer;
i:string;
a:integer;
begin
a:=dbgrid1.Fields[0].AsInteger;
edit1.Text:=dbgrid1.Fields[2].AsString;

i:=IBOQuery1.fieldbyname('cle_t_serveur').AsString;
PING.Font.Color:=clblack;
IdIcmpClient1.OnReply := IdIcmpClient1Reply;
IdIcmpClient1.ReceiveTimeout := 1000;
Ping.Enabled := False;
try
IdIcmpClient1.Host := edit1.Textfor[/b] k := 1 to spnPing.Value do begin
IdIcmpClient1.Ping(edit1.Textend[/b];
finally
Ping.Enabled := True;
end;
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS