Autor |
Beitrag |
IhopeonlyReader
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: 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
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
Einloggen, um Attachments anzusehen!
_________________ Sucht "neueres" Delphi
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
|
Verfasst: Sa 01.06.13 21:28
- Nachträglich durch die Entwickler-Ecke gelöscht -
|
|
IhopeonlyReader
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: 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 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 HTML-Dokument
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
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
|
Verfasst: Sa 01.06.13 22:07
- Nachträglich durch die Entwickler-Ecke gelöscht -
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 01.06.13 22:08
IhopeonlyReader hat folgendes geschrieben : | Ja, sie ruft nur IdHttp.get auf 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
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: 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
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 01.06.13 23:15
|
|
IhopeonlyReader
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Sa 01.06.13 23:18
ok, dennoch ist es übersichtlicher
Und wie gesagt: ich werde mich (nach dem Hinweis von Frühlingsrolle) mal dran machen, dass ohne Indy hinzukriegen
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
|