Autor Beitrag
IhopeonlyReader
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Sa 01.06.13 20:12 
Guten Tag,
ich veröffentlich hier eine Unit, die
- den Quellcode einer Internetseite lesen kann
- In einem Quellcode ein Datum/Uhrzeit finden kann

die Funktionen sehen so aus
ausblenden Delphi-Quelltext
1:
2:
3:
4:
Function GibQuellcode( Von: String ): String;
Function QuellcodeToDateTimeS( const Quellcode: String ): String;                       overload//Format = 'dd.mm.yyyy hh:nn:ss'
Function QuellcodeToDateTimeS( const Quellcode: Stringconst Format: String ): Stringoverload;
Function QuellcodeToDateTime( const Quellcode: String ): TDateTime;


--vorausgesetzt im Code der Seite ist folgendes erwähnt: "New Date(", dazwischen ein Date und danach ")"
ausblenden HTML-Dokument
1:
2:
3:
4:
new Date(<?php echo date('y,n,j,G,i,s'); ?>)
<!-- Der Befehl liefert beim Anfordern des HTML-Dokuments vom Internetbrowser die Serverzeit 
Beispiel: 01.06.2013 19:02:03 sieht im überlieftern Dokument so aus: new Date(13,6,1,19,26,49)  
-->

--oder der Code der Seite besteht NUR aus der Zeile ( Date z.B. 13,5,6,13,12,49)
ausblenden HTML-Dokument
1:
<?php echo date('y,n,j,G,i,s'); ?>					




Benötigt werden die Indy Komponenten ( alle verwendete Units: SysUtils, IdHTTP, IdTCPClient )

Zu beachten:
wie am obigen Beispiel zu sehen ist wird beim Jahr NICHT das ganze Jahr sondern nur die letzten beiden Ziffern übermittelt...
Um es zu einem 4 Stelligen Jahr zu machen habe ich 2000 addiert.
Deshalb muss ALLE 100 Jahre (2100, 2200 ...) folgende Zeile aktualisiert werden
ausblenden Delphi-Quelltext
1:
 Jahr := StrToInt( Copy(Erg, 1, Pos(',', Erg)-1) ) + 2000;					


Falls keine Uhrzeit/ Datum zu finden ist, liefert die Funktion
- QuellcodeToDateTimeS: einen leeren String zurück (egal ob mit oder ohne Format)
- QuellcodeToDateTime: das TDateTime "0" also das Datum 30.12.1899 00:00:00
Einloggen, um Attachments anzusehen!
_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!


Zuletzt bearbeitet von IhopeonlyReader am Sa 01.06.13 21:50, insgesamt 1-mal bearbeitet
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 01.06.13 21:28 
- Nachträglich durch die Entwickler-Ecke gelöscht -
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Sa 01.06.13 21:46 
Danke :)
Nutzen für Drittanwender: z.B. zur Synchronization von irgendwas ;) (auf verschiedenen Computern)...
aber eigentlich gilt es als Hilfe für Programmierer um nicht die lokale Computerzeit zu nutzen (gibt ab und zu mal Probleme ;) )

zu GibQuellcode:
Ja, sie ruft nur IdHttp.get auf :D aber: wenn man eine IdHttp-Komponente auf die Form zieht, bindet er automatisch mehrere Units ein und diese lassen sich auch nicht einfach so "entfernen"....
Somit ist es als "Ergänzung" zu QuellcodeToDateTime gedacht ;)
Aber wie ich den Quellcode sonst kriege, damit werde ich mich gerne noch beschäftigen :)

Zitat:
QuellcodeToDateTimeS klingt interessant, nur liefert es mir immer einen leeren string zurück, auch wenn ich es auf die Url dieses Topics anwende.
Du kannst dir denken, was mir QuellcodeToDateTime liefern würde


Zitat:
--vorausgesetzt im Code der Seite ist folgendes erwähnt:
(siehe erster Post)
und
ausblenden HTML-Dokument
1:
 new Date(					

kommt nirgends auf dieser Seite vor :(
Auf dieser Seite wird ein String zum Post abgespeichert (mein erster Post: Sa 01.06.13 21:28 ) soetwas findet meine Funktion (noch nicht)



Also demnächst:
- Quellcode ohne Indy bekommen
- Auch Strings (die ein Datum / Uhrzeit angeben) zurückliefern

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!


Zuletzt bearbeitet von IhopeonlyReader am Sa 01.06.13 22:08, insgesamt 1-mal bearbeitet
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 01.06.13 22:07 
- Nachträglich durch die Entwickler-Ecke gelöscht -
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 01.06.13 22:08 
user profile iconIhopeonlyReader hat folgendes geschrieben Zum zitierten Posting springen:
Ja, sie ruft nur IdHttp.get auf :D aber: wenn man eine IdHttp-Komponente auf die Form zieht, bindet er automatisch mehrere Units ein und diese lassen sich auch nicht einfach so "entfernen"....
Ich hoffe dir ist klar, dass die Units so oder so in dein Programm eingebunden werden, da die in der Unit IdHttp ohnehin verwendet werden.

Zur Zeitfunktion:
Dafür gibt es NTP. Da kannst du dir z.B. mit TIdTime die Zeit von einem der vielen NTP Server weltweit holen.
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Sa 01.06.13 22:14 
Zitat:

[von euch:]
-1 Datenbanken
-2 HTML- RTF- Wandler
-3 Taschenrechner- Erweiterungen (Funktionen aufstellen können, Ableiten, Integrieren)
-4 Mandelbrotmengen
-5 Erzeugung von hyperbolischen Parkettierungen (nach M.C. Escher)
-6 Kodierung von Daten (Huffman)
-7 Darstellung unscharfer Mengen (Fuzzy-Logik)

[von mir:]
- Kartenspielsammlung (MauMau, 31/Schwimmen, BlackJack) (ggf. erweiterbar mit: Bauernskat, Doppelkopf...)
- Account (ohne Datenbank) mit einem abgewandelten TBinaryTree (TTernaryTree) nach dem ASCII-Code der einzelnen Chars (Zeichen des Strings) ;)

ich glaube ich habe erstmal ein paar Übungsaufgaben ;)

@jaenicke: , wenn ich eine IDHTTP-komponente auf die Form ziehe werden:
ausblenden Delphi-Quelltext
1:
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP					

eingebunden, benötigt wird aber nur IdHTTP

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 01.06.13 23:15 
user profile iconIhopeonlyReader hat folgendes geschrieben Zum zitierten Posting springen:
@jaenicke: , wenn ich eine IDHTTP-komponente auf die Form ziehe werden:
ausblenden Delphi-Quelltext
1:
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP					

eingebunden, benötigt wird aber nur IdHTTP
Benötigt werden die von deinem Programm alle. Nur dass du es in deiner Unit nicht siehst, weil du nur die eine Unit einbindest, die dann wiederum die anderen einbindet.
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Sa 01.06.13 23:18 
ok, dennoch ist es übersichtlicher :D
Und wie gesagt: ich werde mich (nach dem Hinweis von Frühlingsrolle) mal dran machen, dass ohne Indy hinzukriegen

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!