Neu:

  Keine Werbeeinblendungen für registrierte User

  ❤ Jede SPENDE hilft unserer Community ❤



  🌹 Danke für Eure Unterstützung 🙏


Daten speichern

Alles zur Programmierung im OpenOffice.org
Peter18
Beiträge: 10
Registriert: So 19. Jul 2020, 12:37

Re: Daten speichern

Beitrag von Peter18 » Fr 24. Jul 2020, 12:14

Hallo Craig,

und wieder Danke.

Inzwischen habe ich diverse Experimente gemacht. Eines hat mich besonders überrascht: Nachdem ich "oFil.store();" in ""try except" eingeschlossen hatte funktionierte es -- ein mal!

Später funktionierte es auch mit "oFil.storeAsURL( oFil.Url, Par );". "oFil.Url" enthält natürlich auch Pfad und Dateiname, wie bereits erwähnt.

Aber es funktionierte stets nur ein mal. nämlich immer, wenn der Rechner frisch gestartet wurde. Ich vermute daher, dass irgend ein Wert in der Struktur "oFil" nicht initialisiert ist und der Speicher nach dem Start den richtigen Wert enthält.

Ich tue mich immer noch schwer mit der Beschreibung bei "wiki.openoffice.org". Vielleicht kannst Du mir helfen die richtigen Informationen zu finden.

Meine Fragen:
  • Wie sieht die Struktur von "oFil" aus (oStarDesktop.loadComponentFromURL)?
  • Welche Methoden und Properties gibt es (Calc).
  • Kann ich bei OO mehr Informationen über die Fehlerursache finden als in der Meldung?
  • Wenn ja, wie komme ich an die Exception (meine Versuche waren erfolglos)?

Grüße von der Nordsee

Peter

craig
Beiträge: 224
Registriert: Sa 14. Mai 2016, 12:36

Re: Daten speichern

Beitrag von craig » Fr 24. Jul 2020, 16:58

Hallo Peter,
Peter hat geschrieben:oFil.Url" enthält natürlich auch Pfad und Dateiname
Das ist falsch, bzw. Du hast Dich falsch ausgedrückt:
  • Eine Pfadangabe mit Dateiname sieht so aus → C:\temp\MeineDatei.ods
  • Eine URL mit Dateiname sieht so aus → file:///c:/temp/MeineDatei.ods
Du MUSST zwingend eine URL übergeben :!:
URL = Datentyp STRING

Dein Array Par enthält keine Dateifilteroptionen, deshalb nutze doch einfach ein leeres Dummy-Array.
Peter hat geschrieben:"oFil.storeAsURL( oFil.Url, Par );"
Ich hatte Dir vorgeschlagen, es mit einem neuen, leeren, eindiminsionalen Array zu versuchen.
Wie bereits beschrieben deklariere ich ein Dummy-Array in Basic so:

Code: Alles auswählen

Dim dummy()
oder

Code: Alles auswählen

Dim dummy() as Variant
Wenn ich mir dieses leere Array im Code-Beobachter anzeigen lasse, wird mir dies angezeigt:
Leeres Dummy-Array.jpg
Leeres Dummy-Array.jpg (4.63 KiB) 2401 mal betrachtet
Variablen-Name = dummy
Wert =
Datentyp = Variant(0 to -1)

Versuche es bitte.
Der Basic-Interpreter erwartet bei der Angabe ein leeres, abschließendes Klammerpaar:
meinNeuesArray()
Demnach:
"oFil.storeAsURL( oFil.Url, meinNeuesArray() );"
Gruß

Craig

Nie die Sicherungskopie vergessen!

═══════════════════════════════════════
WIN 10 Pro 64-Bit • AOO 4.1.6 • LO 7.0.1.2 (x64)

Peter18
Beiträge: 10
Registriert: So 19. Jul 2020, 12:37

Re: Daten speichern

Beitrag von Peter18 » Sa 25. Jul 2020, 14:26

Hallo Craig,
craig hat geschrieben:
Fr 24. Jul 2020, 16:58
Peter hat geschrieben:oFil.Url" enthält natürlich auch Pfad und Dateiname
Das ist falsch, bzw. Du hast Dich falsch ausgedrückt:
  • Eine Pfadangabe mit Dateiname sieht so aus → C:\temp\MeineDatei.ods
  • Eine URL mit Dateiname sieht so aus → file:///c:/temp/MeineDatei.ods
Du MUSST zwingend eine URL übergeben :!:
URL = Datentyp STRING
Peter18 hat geschrieben:
So 19. Jul 2020, 12:55

Code: Alles auswählen

      Path          := oFCP.getFileURLFromSystemPath('', oFilNam)                        ;
      oFil          := oStarDesktop.loadComponentFromURL( Path, '_blank', 0, Par )       ;
Egal, wie Du es nennst, wenn ich damit die Datei öffnen kann, sollte sie damit auch zu speichern sein!

Basic-Anweisungen funktionieren bei einem Pascal-Compiler nicht!!!
Ich habe verschiedene Varianten ohne Erfolg getestet.

Wenn der Fehler in diesem Bereich liegen sollte, wie ist dann das zu erklären???
Peter18 hat geschrieben:
Fr 24. Jul 2020, 12:14
Nachdem ich "oFil.store();" in ""try except" eingeschlossen hatte funktionierte es -- ein mal!

Später funktionierte es auch mit "oFil.storeAsURL( oFil.Url, Par );". "oFil.Url" enthält natürlich auch Pfad und Dateiname, wie bereits erwähnt.

Aber es funktionierte stets nur ein mal. nämlich immer, wenn der Rechner frisch gestartet wurde.
Peter

craig
Beiträge: 224
Registriert: Sa 14. Mai 2016, 12:36

Re: Daten speichern

Beitrag von craig » Sa 25. Jul 2020, 15:06

Hallo Peter,

jetzt bin ich mit meinen Ratschlägen am Ende, zumal ich nichts von Pascal verstehe.

Sorry, ich klinke mich an dieser Stelle aus.
Gruß

Craig

Nie die Sicherungskopie vergessen!

═══════════════════════════════════════
WIN 10 Pro 64-Bit • AOO 4.1.6 • LO 7.0.1.2 (x64)

Peter18
Beiträge: 10
Registriert: So 19. Jul 2020, 12:37

Re: Daten speichern

Beitrag von Peter18 » Sa 25. Jul 2020, 15:40

Hallo Craig,

es sind keie Pascal-Kenntnisse nötig, um die Fragen, die ich gestellt habe zu beantworten. Ich finde zwar viele Informationen, aber nicht die entscheidenden.

Peter

Peter18
Beiträge: 10
Registriert: So 19. Jul 2020, 12:37

Re: Daten speichern

Beitrag von Peter18 » Sa 25. Jul 2020, 18:05

Ein freundliches Hallo an alle,

beim stöbern in diversen Beispielen bin ich über "oStarDesktop.terminate;" gestolpert. (Hab mir nichts gebrochen!) Damit funktioniert "oFil.storeAsURL( oFil.Url, Par );" immer, aber "oFil.store( );" nicht. Eine Erklärung habe ich noch nicht dafür. oStarDesktop hat hier anscheinend in meine Suppe gespuckt.

Grüße von der Nordsee

Peter

matthewlkimes
Beiträge: 1
Registriert: Fr 24. Jul 2020, 11:22

Re: Daten speichern

Beitrag von matthewlkimes » Mo 27. Jul 2020, 14:08

No matter what you call it, if I can use it to open the file, it should be saved too!

Basic instructions do not work with a Pascal compiler !!!
I have tried different variants without success.

If the error should be in this area, how can this be explained ???
Apply online for ETA and get your [url=https://evisa-lk.com/] Sri Lanka visa[/url]

Peter18
Beiträge: 10
Registriert: So 19. Jul 2020, 12:37

Re: Daten speichern

Beitrag von Peter18 » Di 28. Jul 2020, 12:06

Hello matthewlkimes,

thank you for your answer!

I have two problems. First is how to find the structure of the objekts like a spreadsheet. I would like to know who are the parents, which propertys an methodes can I use. I did not find informations like this. How to use "store( );" or "storeAsURL" I can find. Whith delphi or VBA I can find this informations.

The second problem is why is there an errormessage if I use "store( );" but if I use "storeAsURL" it works. Is there an other step I have to do?? Have I to terminate 'com.sun.star.ucb.FileContentProvider' too?? Where I can find this information??

Greeting from the north sea

Peter

Antworten