AOO und spezielles Problem mit FILECOPY

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

AOO und spezielles Problem mit FILECOPY

Beitrag von balu »

Hallo liebe Gemeinde,

mit Filecopy hatte ich früher eigentlich nicht so sehr das Problem. Aber jetzt wo ich mir mal wieder Zeit für das Thema nehme, renne ich vor eine Wand und komme einfach nicht weiter.

In einem bestimmten Rahmen funktioniert ja Filecopy schon. Also wenn ich den Quelltext aus einer HTM/HTML-Datei auslesen will, geht das. Und will ich aus dem WWW eine Datei mit einer Dateiendung downloaden, geht das auch.

Und jetzt kommt das große ABER.
Aber wenn die zu downloadende Datei keine Dateiendung hat, obwohl sie eine Datei ist, dann gibts ne Fehlermeldung. Das mit der Datei ist aber jetzt auch so ein ganz besonderer Fall, denn der Downloadlink zeigt nicht wirklich eine Datei an, der Dateiname wird es durch einen klick auf den Link generiert.

Hört sich aus meinem Munde sehr komisch an, und ist auch für mich nicht leicht zu erklären. Und deshalb zeige ich das jetzt an einem Zielbeispiel, um das es mir auch wirklich geht.

Also von dieser Seite hier:https://www.ferienwiki.de/exports/de will ich für ein Bundesland mir die ICS-Feriendaten downloaden. Nehmen wir als Beispiel BERLIN. Und zwar die "ical2019". Und wenn man jetzt mit der Maus auf der Seite auf den genannten Eintrag drüber fährt, kann man folgenden Downloadlink im Browser sehen (weiss nicht ob das bei jedem so ist).
https://www.ferienwiki.de/exports/ferien/2019/de/berlin

So, und wenn man jetzt auf den genannten Eintrag (oder der von mir gezeigte Link) klickt geht ein Fenster auf und man wird gefragt wohin die Datei gespeichert werden soll. Dabei wird der Dateiname, in diesem Falle: "ferien_berlin_2019.ics" angezeigt.

Also der Downloadlink für berlin (wie eben gepostet) ist nicht der Name für die zu downloadenden Datei.

Okay, die Datei lässt sich manuell downloaden.
Aber per Filecopy geht das in AOO 4.1.5 NICHT!
Jedoch in LO 5.1.5.2 gibt es dort keine Probleme. Und das macht mich Wahnsinnig. Besonders wenn man sich das folgende zu Rate ziehen will.

Also in der deutschen Version von Pitonyak (Stand_20022018) im Kapitel "8. Dateiroutinen" auf Seite 170 steht da folgendes.
Wenn das erste Argument eine Datei ist, muss das zweite Argument erstaunlicherweise auch eine Datei sein – ich hätte erwartet, dass man eine Datei mit FileCopy in ein anderes Verzeichnis hinein kopieren kann, etwa FCopy("C:\auto.bat", "C:\bak\"). Geht aber nicht.
Mit anderen Worten (meinen Worten):
XXXX://yyy.ferienwiki.de/exports/ferien/2019/de/berlin/ferien_berlin_2019.ics
Würde gehen, da ja eine Datei mit Dateiendung direkt angesprochen wird. (Nur mal so als Beispiel)
XXXX://yyy.ferienwiki.de/exports/ferien/2019/de/berlin
Geht nicht, da keine Datei direkt angesprochen wird. Der Link wird als Adresse gewertet, jedoch nicht als Dateiname mit Pfadangabe.

Ihr könnt es wohl probiren, aber dieser Link
https://www.ferienwiki.de/exports/ferie ... n_2019.ics
funktioniert nicht.

Ich hatte auch versucht mit Name zu arbeiten, aber das funktioniert in AOO auch nicht. In beiden Fällen kommt es nämlich zu folgender fehlermeldung.
BASIC-Laufzeitfehler.
Pfad nicht gefunden.
Warum funktioniert in LO das ganze, obwohl es laut Pitonyak nicht funktionieren kann? Aber in AOO verhält sich das so wie Pitonyak es sagt.

Hier mal ein simpler Testcode.

Code: Alles auswählen

Sub Main
	Dim OS
	Dim sZielPfad as String, sSlesch as String

	OS = GetGUIType() ' Das Betriebssystem (interne Nr.) auslesen und der Variablen OS zuweisen.
	
	if OS = 1 then		
		sSlesch = "\" ' Wenn Windows
	else
		sSlesch = "/"
	end if	
	
	sZielPfad = "XXXXXXX" ' <= dort die XXX durch den Pfad ersetzen
	
	Filecopy "https://www.ferienwiki.de/exports/ferien/2019/de/berlin" , sZielPfad & sSlesch & "berlin_2019.ics"
	
	print "Fertig!"
End Sub
Und eine Beispieldatei ist auch im Anhang, mit dem gleichen Code. Es muss lediglich ein Pfad eingetragen werden.


Hat also jemand von Euch vielleicht eine Erklärung warum LO und AOO sich so unterschiedlich verrhalten?
Oder kann mir jemand eine alternative für beide Office anbieten?

Ich bedanke mich schon mal für Eure Geduld beim lesen meines Problems. Und bin auf Eure Antworten gespannt.



Gruß
balu
Dateianhänge
FILECOPY_test-0.2.ods
(12.03 KiB) 92-mal heruntergeladen
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: AOO und spezielles Problem mit FILECOPY

Beitrag von Stephan »

Warum funktioniert in LO das ganze, obwohl es laut Pitonyak nicht funktionieren kann?
Bitte schaue selbst nochmal, was Du von Pitoniak zitiert hast. Nicht funktionieren sollte (bezogen auf DEin Makro):

Code: Alles auswählen

Filecopy "https://www.ferienwiki.de/exports/ferien/2019/de/berlin" , sZielPfad & sSlesch
und das tut es auch nicht (gestestet LO 6.0.3).
Hat also jemand von Euch vielleicht eine Erklärung warum LO und AOO sich so unterschiedlich verrhalten?
mutmaßlich weil filecopy in LO irgendwann einmal geändert wurde, ich finde in https://bugs.documentfoundation.org/ jedoch keinen Hinweis.
Oder kann mir jemand eine alternative für beide Office anbieten?
Wenn es nur für Windows funktionieren müsste könnte man u.U. ein Script oder eine Art winzigen Launcher verwenden. Mit VBS scheint es jedoch auch nicht zu funktionieren, vielleicht ginge AutoIT.

Ansonsten wäre vielleicht www.schulferien.org eine Alternative? Dort kann ich auf die Daten zugreifen unter Nutzung von Calc.



Gruß
Stephan
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: AOO und spezielles Problem mit FILECOPY

Beitrag von balu »

Hallo Stephan,
Bitte schaue selbst nochmal, was Du von Pitoniak zitiert hast.
Ja okay, habe mich hiermit etwas ungenau ausgedrückt.
balu hat geschrieben: XXXX://yyy.ferienwiki.de/exports/ferien/2019/de/berlin/ferien_berlin_2019.ics
Würde gehen, da ja eine Datei mit Dateiendung direkt angesprochen wird. (Nur mal so als Beispiel)
XXXX://yyy.ferienwiki.de/exports/ferien/2019/de/berlin
Geht nicht, da keine Datei direkt angesprochen wird. Der Link wird als Adresse gewertet, jedoch nicht als Dateiname mit Pfadangabe.
Mir ging es aber bei dieser Passage mehr darum zu zeigen das der erste Teil von Filecopy mit der ersten Adressierung, samt Dateiname und Dateiendung korrekt wäre, jedoch hatte ich den zweiten teil nicht gepostet.

Nicht funktionieren sollte (bezogen auf DEin Makro):

Code: Alles auswählen

Filecopy "https://www.ferienwiki.de/exports/ferien/2019/de/berlin" , sZielPfad & sSlesch
und das tut es auch nicht (gestestet LO 6.0.3).
Das kann auch nicht funktionieren, da in meinem Makro nämlich folgendes steht.

Code: Alles auswählen

Filecopy "https://www.ferienwiki.de/exports/ferien/2019/de/berlin" , sZielPfad & sSlesch & "berlin_2019.ics"
Oder hattest Du diesen Teil "berlin_2019.ics" vergessen gehabt zu zitieren?
Also meine Beispieldatei funktioniert in LO 5.1.5.2 mit einer Pfadangabe an der richtigen Stelle einwandfrei.

Wenn Du aber den "Dateinamen" hier nicht zitiert hast, er aber bei deinem Test vorhanden war, und das Makro bei dir mit deiner LO-Version nicht funktioniert, tja dann versteh ich im wahrsten Sinne des Wortes die Welt nicht mehr.

mutmaßlich weil filecopy in LO irgendwann einmal geändert wurde, ich finde in https://bugs.documentfoundation.org/ jedoch keinen Hinweis.
Danke für deine recherche.

Wenn es nur für Windows funktionieren müsste
Nein dem ist nicht so.
Wie dir vielleicht aufgefallen sein könnte, wird in dem Makro das Betriebssystem abgefragt, Stichwort: GetGUIType()

Ansonsten wäre vielleicht www.schulferien.org eine Alternative?
Tja, das ist so eine Sache für sich.
Vielleicht kannnst Du dich noch so vage daran erinnern, das ich hier mal einen Kalender veröffentlicht hatte der die Schulferien sich per Knopfdruck gedownloaded hatte. Der Kalender heißt: Rasterkalender. Und für ihn ist das ganze hier jetzt auch erstmal gedacht.

Und anfangs hatte ich auch mit www.schulferien.org gearbeitet, was auch gut ging. Doch dann hatten die dort irgendetwas ungestellt, und mein Makro funktionierte nicht mehr. Ich hatte hier schon wie blöd rungetestet und experimentiert bis zum geht nicht mehr. Ich hatte mich nach diversen anderen Quellen umgeschaut, bis ich schließlich beim 'ferienwiki' hängen geblieben war. Das aber auch nur weil mein Bruder mich persönlich darauf angesprochewn hatte, und er mit LO arbeitet und er gerne den Kalender weiter nutzen will. Und deshalb hatte ich ja auch nur nach einer Möglichkeit gesucht die für sein LO funktionierte, AOO hatte mich zu dem Zeitpunkt nicht interessiert.

Dort kann ich auf die Daten zugreifen unter Nutzung von Calc.
Diese Aussage ist jetzt für mich nicht ganz so Eindeutig.
Kannst Du aus Calc heraus über "Verknüpfungen zu externen Daten" (oder wie auch immer das heißen mag) auf die Daten zugreifen?
Oder hast du in Calc ein Makro am laufen womit Du die Daten auslesen kannst?

Ich werd mal schaun ob ich diesmal das Problem mit www.schulferien.org irgendwie in den Griff kriege. Habe aber keine all zu große Hoffnungen.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: AOO und spezielles Problem mit FILECOPY

Beitrag von balu »

Ich habe jetzt auch wieder festgestellt warum ich bestimmt NICHT mit 'schulferien.org' arbeiten werde.

1.
Ohne Zulassung von Cookies geht erstmal gar nix.
Wer binn ich denn, der dem User vorschreibt: "Um den Kalender zu nutzen, musst Du für diese Adresse die Cookies zulassen, sonst wird das nix."

2.
Nach dem ich zum Testen im FireFox die Cookies für die besagte Adresse zugelassen habe, muss ich noch ein Captcha lösen. :twisted:

Ich hatte jetzt nur mal im FireFox gearbeitet, besser gesagt getestet. Und ich bin mir ziemlich sicher das dies auch der Grund war warum ich mich damals von dieser Adresse mich verabschiedet hatte. Nur damit keine Missverständnisse entstehen, ich spreche von dieser Adresse die mich interessieren würde
https://www.schulferien.org/deutschland/ical/
von der man "theoretisch" die ICS-Dateien downloaden könnte.

Oder bin ich der einzige dem es so ergeht? Und ihr habt nicht diese Probleme.



gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: AOO und spezielles Problem mit FILECOPY

Beitrag von Stephan »

Da Du schulferien.org nicht nutzen willst, nur fürs Protokoll:
Kannst Du aus Calc heraus über "Verknüpfungen zu externen Daten" (oder wie auch immer das heißen mag) auf die Daten zugreifen?
Ja, das kann ich und zwar wenn ich auf die passende Unterseite zugreife, beispielsweise für Berlin:
https://www.schulferien.org/Berlin/berlin.html

und dann über Einfügen-Verknüpfung zu externen Daten.

Die Seite wird dann nach Calc übernommen und ist dort, wie bei dieserart Zugriff üblich, recht 'großflächig' und Du muss dann per Makro die richtigen Zellen auslesen.


Gruß
Stephan
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: AOO und spezielles Problem mit FILECOPY

Beitrag von balu »

Ach so meinst Du das!

Ja nö! Das entfällt auch. Denn mit dieser Art von Terminauflistungen habe ich schon zu viele schlechte Erfahrungen gemacht.
Passendes Beispiel ist dieser Eintrag, von deinem Beispiellink.

Code: Alles auswählen

Herbstferien 2019 	Fr 04.10./Mo 07.10. - Sa 19.10.
Da ist ein Einzeltermin und ein VON-BIS-Termin drin. Und das ganze Formeltechnisch (Calc-Formeln, nicht per Makro) aufzubröseln damit man 2 VON-BIS-Termine hat, macht nicht viel Spaß. Da gibts in anderen Bundesländern noch ganz andere konstellationen die einem das aufbröseln vermiesen. Und genau aus diesem Grunde hatte ich mich damals für die ICS-Dateien entschieden. Denn dort gibt es immer einen VON-BIS-Termin, auch wenn es sich nur um einen einzigen Tag handelt.

Okay, ich muss wohl in meinem Kalender die "Importierten" ICS-Daten(*) auch noch per Formeln aufbereiten, aber da kann ich mich wenigstens darauf verlassen das jeder Termin immer aus einem "Startdatum" und einem "Enddatum" besteht, egal ob es sich dabei um einen Tag oder mehrere Wochen handelt.

(*)
Einfügen -> Tabelle aus Datei. Das ist die grobe Beschreibung. Im Makro sieht das ein klein wenig anders aus.

Momentan habe ich eine andere Adresse gefunden wo ich mit Filecopy arbeiten kann, 'de-kalender.de'. Aber da muss ich noch ein paar Tests durchführen, eventuellige Hinweise eintragen, und Fehlerbehandlungsroutinen einbauen. Bis jetzt macht das aber einen recht guten Eindruck. In AOO ab 4.1.2 und in LO ... noch nicht ganz sicher, aber ich glaube ab der 4er Linie ... zumindest in LO 5.1.5.2 funktioniert es bis jetzt ganz gut.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Antworten