Startseite › Foren › Deutsches LiveCode-Forum › Datei von Webseite laden
- Dieses Thema hat 10 Antworten und 4 Teilnehmer, und wurde zuletzt aktualisiert vor 6 Jahren, 6 Monaten von Anonym.
-
AutorBeiträge
-
-
Februar 27, 2018 um 09:59 Uhr #4398
Hallo zusammen,
ich versuche gerade mit folgenden Code den Inhalt einer Datei von einer Webseite zu laden:
on mouseUp put "http://meineseite/update.txt" Into updURL load URL updURL with message "FileIsDoneDownloading" end mouseUp on FileIsDoneDownloading pURL, pURLStatus if pURLStatus is "cached" then set the text of field "Ausgabe" to URL pURL end if end FileIsDoneDownloading
das funktioniert soweit auch alles. Den Inhalt bekomme ich richtig angezeigt im Feld Ausgabe, aber wie bekomme ich den Inhalt in eine Liste? Ich könnte das Feld auslesen und alles in eine Liste stecken, aber das geht doch bestimmt auch ohne den Umweg.
Gruss Rene
-
Februar 27, 2018 um 12:30 Uhr #4402
Mach es noch einfacher:
put url “http://meineseite/update.txt” into field “Ausgabe”
aber was meinst Du mit Liste?
-
Februar 27, 2018 um 13:26 Uhr #4404
Hallo Thomas,
ich möchte die Datei in eine Liste einlesen. Ich probiere das mal mit “put url”. Ich hatte im Dictionary nur den Befehl “load” gefunden.
Gruss Rene
-
Februar 27, 2018 um 14:57 Uhr #4406
Hallo Rene,
ob Feld, Variable oder Liste, der Weg ist identisch!
... put url "http://meineseite/update.txt" into Deine_Liste_oder_Variable_oder_wasauchimmer_hier ...
Oder wie oder was? 🙂
Gruß
Klaus
-
Februar 27, 2018 um 15:20 Uhr #4408
Hallo Klaus,
mit “put url …” funktioniert es auch, aber mit dem Code von oben (set the text of field “Ausgabe” to URL pURL) bekomme ich die Liste nur in das Ausgabefeld, nicht jedoch in meine Liste. Das Feld Ausgabe habe ich nur für Testzwecke erstellt.
Deshalb war ja meine Frage wie ich die Datei direkt in meine Liste bekomme ohne den Umweg über ein Feld. Bei load kann ich mir sicher sein das die Datei komplett geladen wurde und falls nicht es erneut versuchen oder eine Fehlermeldung ausgeben.Gruss Rene
-
Februar 27, 2018 um 15:33 Uhr #4410
Hi Rene,
dann musst du halt “the result” checken:
... put url "http://meineseite/update.txt" into Deine_Variable_Liste ## the result = EMPTY bei Erfolg if the result <> EMPTY then answer "Fehler:" && the result exit to top end if ...
Gruß
Klaus
-
März 2, 2018 um 23:37 Uhr #4518Anonym
Hallo,
wie verhält es sich mit dem laden einer Webseite?
Ich lade mit
get URL ("https://www.eineBeliebigeURL.com/tMeineVaribale/") put it into field "Output"
eine Webseite in ein Textfeld. Dann extrahiere ich mit put offset und put char etc. die Information die ich benötige und schreibe sie in die entsprechenden Variablen bzw. exportiere sie in eine Datei.
Mit einer repeatschleife die tMeineVariable verändert wiederhole ich den Vorgang anhand einer Liste mit entsprechenden Werten für tMeineVariable.
Meine Frage ist wie ich überprüfen kann ob der Inhalt der Seite vollständig geladen wurde und ins Textfeld kopiert wurde und dann erst meine routine zum extrahieren der Informationen startet.
Behelfsmäßig habe ich mir mit ‘wait 1 second with messages’ eine Verzögerung eingebaut. Das funktioniert bei einer schnellen internetverbindung gut genug für eine frühe alphaversion meines programs aber ich bin sicher es gibt eine elegantere Lösung.
Wäre dankbar für eure Ideen.
Grüße
Kosta
-
März 2, 2018 um 23:52 Uhr #4520
Hi Kosta,
Du könntest es mit LOAD und einer Callback Message versuchen.
... load URL ("https://www.eineBeliebigeURL.com/tMeineVaribale/") with message "DeinCallBackHier" ...
Dann irgendwo im Messagepath:
command DeinCallBackHier tUrl, tUrlStatus put url tUrl into field "Output" ## Nun hier Deine Verarbeitung starten... end DeinCallBackHier
Natürlich noch Errorchecking (urlStatus!), aber das ist ja selbstverständlich, woll? 🙂
Gruß
Klaus
-
März 3, 2018 um 08:32 Uhr #4522Anonym
Hallo Klaus!
slebstverständlich ist für mich noch nix, bin ja immer noch Anfänger 😉 Aber vielen lieben Dank für den Code und den Tip. Was passiert beim Errorchecking?
Grüße
Kosta
-
März 3, 2018 um 11:20 Uhr #4531
Hallo Kosta,
Was passiert beim Errorchecking?
da werden Error gechecked! 😀
Nein, es kann natürlich immer was schiefgehen im Internet, also solltest Du in dem Handler den Status der URL überprüfen. Check das Dictionary für weitere mögliche Werte von URLSTATUS.
z.B.
command DeinCallBackHier tUrl, tUrlStatus ## "cached" = erfolgreicher Download, alles anders sind mögliche Fehler. if tUrlStatus <> "cached" then answer "Ein Fehler ist passiert, rette sich, wer kann!" & CR & tUrlStatus exit to top end if put url tUrl into field "Output" ## Nun hier Deine Verarbeitung starten... end DeinCallBackHier
Liebe Grüße
Klaus
-
März 3, 2018 um 11:26 Uhr #4535Anonym
Ich verstehe!
Super! Danke. Das erspart mir eine menge Kopfschmerzen. Die bedeutet von “cached” ist mir nicht ganz klar gewesen obwohl es das Wort ja ziemlich genau sagt was es ist 😉
Vielen Dank nochmal!
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.