Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Mit Indy Uhrzeit lesen (https://www.delphipraxis.net/72653-mit-indy-uhrzeit-lesen.html)

Cöster 4. Jul 2006 17:33


Mit Indy Uhrzeit lesen
 
Ich hab mir soeben die Indy 9 runtergeladen, weil ich hier gelesen hab, dass man so die Uhrzeit aus dem Internet auslesen kann. Wie muss ich das denn anstellen? Hab hier im Forum nix gefunden.

monta 4. Jul 2006 18:05

Re: Mit Indy Uhrzeit lesen
 
soweit ich weis, benötigst du einen Timeserver mit NTP-Protocol.
Dazu müsste es dann eine NTP-Komponente bei den Indys geben.

inherited 4. Jul 2006 19:27

Re: Mit Indy Uhrzeit lesen
 
Da gibt es auch ein *wunderschönes* beispiel, direkt bei den indys dabei

Cöster 5. Jul 2006 11:06

Re: Mit Indy Uhrzeit lesen
 
Zitat:

Zitat von monta
soweit ich weis, benötigst du einen Timeserver mit NTP-Protocol.
Dazu müsste es dann eine NTP-Komponente bei den Indys geben.

Es gibt die Komponenten IdNNTP, IdSNTP und IdNNTPServer. Die Komponenten IdTimeServer und IdDayTimeServer gibt es auch. Ich weiß aber nicht, welche ich davon benötige und wie der Quelltext dann aussieht.
Wenn ich auf der Form ein Label, einen Button und die Komponenten IdDayTimeServer(active auf true setze) und IdDayTime platziere bekomme ich durch
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:=IdDayTime1.DayTimeStr;
end;
die Zeit der Computeruhr, aber nicht einer Atomuhr. Das bringt mir also nichts. Ich möchte die Computeruhr nicht stellen, ich will lediglich in dem Label die Uhrzeit einer Atomuhr auslesen.

Zitat:

Zitat von inherited
Da gibt es auch ein *wunderschönes* beispiel, direkt bei den indys dabei

Wo genau gibt es denn diese Beispiel?

Klaus01 5. Jul 2006 11:19

Re: Mit Indy Uhrzeit lesen
 
NNTP - NetworkNewsTransportProtokol
SNTP - SimpleNetworkTimeProtokol

Du suchst wohl SNTP, damit kann auch ein NTP Server abgefragt werden.
Entsprechende Server findest Du hier -> http://www.hullen.de/helmut/filebox/DCF77/ntpsrvr.html

Für Dich dürfte dann die DateTime propertie die richtige für Dich sein.

Grüße
Klaus

inherited 5. Jul 2006 13:21

Re: Mit Indy Uhrzeit lesen
 
Die bespiele findest du im Internet under www.indyproject.org

Cöster 6. Jul 2006 10:05

Re: Mit Indy Uhrzeit lesen
 
Danke, jetzt läuft's. Auf dem Formblatt befinden sich ein Edit-Feld, ein Button und die Komponente TIdSNTP. Hier der Quelltext:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  IdSNTP1.Host:='129.69.1.153';
  Edit1.Text:=DateTimeToStr(IdSNTP1.DateTime);
end;
Es gibt allerdings immer noch ein Problem:
Wenn ich oft hintereinander auf den Button klicke, hängt sich das Programm irgendwann auf, wahrscheinlich eine Überlastung des Servers, oder so. Was muss ich noch ändern, damit das nicht passieren kann?

inherited 6. Jul 2006 17:22

Re: Mit Indy Uhrzeit lesen
 
Nicht oft hintereinander auf den Button klicken? :roll:

Klaus01 6. Jul 2006 19:49

Re: Mit Indy Uhrzeit lesen
 
.. da bei DateTimeToStr die kleinste Einheit eine Sekunde
ist es relativ zweckfrei öfter als einmal pro Sekunde auf den Button
zu drücken.

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz