PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ping-Proggy coden???


Mackhack
09.05.2002, 00:23
Hi,

ich habe mal mit den Indy-Compos rumgespielt. Jedoch stoße ich auf folgendes Problem. Wenn ich einen Host anpinge dann wird das wohl schon funktionieren doch wie bekomme ich die Zeit heraus???

Hier mal mein bisheriger Code:

With IdIcmpClient1 Do
Begin
Host:= Edit1.Text;
Port:= 80;
Ping;
End;
end;

Danke...


Manu
09.05.2002, 14:02
var start,ende:integer;

With IdIcmpClient1 Do
Begin
Host:= Edit1.Text;
Port:= 80;
start := GetTickCount;
Ping;
ende := GetTickCount;
End;
end;
ShowMessage(´Die Antwort kam nach ´ + IntToStr(ende - start) + ´ Millisekunden´);


Ab ejtz kommt geistiger Dünnschiss, sorry.. der Code stimmt aber.. Interessierte mögen bitte x00n´s Post losen, eins weite runten :)
Mit GetTickCount kriegst du die Anzahl der Millisekunden die seit dem 1.1.1970 bis zu dem zeitpunkt, zu dem du den befehl ausführst, verstrichen sind .. du speicherst also einmal vor und einmal nach dem Befehl und die Differenz ist logischerweise die Dauer des Pings :)

Cu

xOOn
09.05.2002, 16:09
Mit GetTickCount kriegst du die Anzahl der Millisekunden die seit dem 1.1.1970 bis zu dem zeitpunkt

soviel ich weiss ist das so :

Mit GetTickCount kriegst du die Anzahl der Millisekunden die seit dem windows start

SDK:
The GetTickCount function retrieves the number of milliseconds that have elapsed since the system was started.

Manu
09.05.2002, 17:26
Ups, ja, hast natürlich Recht.. hab das mit time(); verwechselt.. weil ich in letzter Zeit so viel PHP mache.. sorry! Aber HAuptsache, der Code oben funzt ;)

Gruß und Thx for Correction, Agent :)

Mackhack
10.05.2002, 10:25
Hi,

danke mal aber kann ich mich auf den Differenzwert von GetTickCount verlassen???

Manu
10.05.2002, 11:53
Wie meinen?
Ob der Wert realistisch ist? Nunja, wenn du wirklich exakt davor udn danach misst, dann bekommst dus chon einen ganz guten Wert, logischerweise aber nur mit millisekündlicher Genauigkeit. Ich denke aber, dass ist ausreichend ;)

mfg, Agent

Mackhack
10.05.2002, 14:24
Hi,

das wollte ich wissen... Sprich es ist der gleiche wert wie wenn ich in der DOS-Box ping -a www.... eingebe...

Danke...

:]
17.05.2002, 14:51
Hmm... Auch in C gibt es die Funktion GetTickCount().
Jetzt hab ich mal eine Frage... Es gibt da so ein Programm namens Kisi, welches zur Einschränkung der Benutzzeit eines PCs (Kindersperre) pro Woche dient. Ich nehme stark an, dass dieses Programm ebenfalls aus GetTickCount() die Werte entzieht. Jetzt wollte ich wissen, ob dieser Wert in irgendeiner Variabel gespeichert ist, so dass ich ihm einen anderen zuweisen kann (und somit länger am PC bleiben darf :D )

Hmm.. Hoffe ich konnt mich wenigstens halbwegs verständlich ausdrücken... Freu mich auf jede Antwort.

mfg,
;]

xOOn
17.05.2002, 15:34
ueber GetTickCount kannste das nicht manipulieren, aber ueber den taskmanager bzw.

http://www.coding-board.de/board/thread.php?threadid=1403&boardid=48&styleid=1

wenn du mehr darueber wissen willst oder das proggi knacken, dann man bitte einen neuen thread auf weils ziemlich topic off ist ;) ;) ;)

:]
17.05.2002, 22:35
Najo.. Des mitm Proggi war nur eine Idee, aber da net meine Zeit aufm PC sondern die Zeit eines Freundes (bei ihm zuhause) eingeschränkt ist, soll&acute;s mir egal sein... Was ich wissen will, ist wo ich nachschauen kann, wie die Funktion GetTickCount() aufgebaut ist. Um sie zu benutzen brauche ich auch die <windows.h>, aber egal.. Ich mach mal nen neuen Threat auf, weil das hier ja nimmer Delphi ist ~~ Hier (http://www.coding-board.de/board/showthread.php?threadid=1716) ist der entsprechende Link dazu... :)