Entwickler-Ecke
Open Source Units - [Unitveröffentlichung] QuellcodeToDateTime
IhopeonlyReader - Sa 01.06.13 20:12
Titel: [Unitveröffentlichung] QuellcodeToDateTime
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
Delphi-Quelltext
1: 2: 3: 4:
| Function GibQuellcode( Von: String ): String; Function QuellcodeToDateTimeS( const Quellcode: String ): String; overload; Function QuellcodeToDateTimeS( const Quellcode: String; const Format: String ): String; overload; Function QuellcodeToDateTime( const Quellcode: String ): TDateTime; |
--vorausgesetzt im Code der Seite ist folgendes erwähnt: "New Date(", dazwischen ein Date und danach ")"
HTML-Dokument
1: 2: 3: 4:
| new Date(<?php echo date('y,n,j,G,i,s'); ?>) |
--oder der Code der Seite besteht NUR aus der Zeile ( Date z.B. 13,5,6,13,12,49)
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
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
Delete - Sa 01.06.13 21:28
- Nachträglich durch die Entwickler-Ecke gelöscht -
IhopeonlyReader - 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
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
Delete - Sa 01.06.13 22:07
- Nachträglich durch die Entwickler-Ecke gelöscht -
jaenicke - Sa 01.06.13 22:08
IhopeonlyReader hat folgendes geschrieben : |
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 - 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:
Delphi-Quelltext
1:
| IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP |
eingebunden, benötigt wird aber nur IdHTTP
jaenicke - Sa 01.06.13 23:15
IhopeonlyReader hat folgendes geschrieben : |
@jaenicke: , wenn ich eine IDHTTP-komponente auf die Form ziehe werden:
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 - 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
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!