Mit "store" nur Teildatei speichern

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

Moderator: Moderatoren

erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Mit "store" nur Teildatei speichern

Beitrag von erikafuchs »

Ich glaube ja nicht das das geht - aber man weiß ja nie:
Damit nichts verlorengeht speichert mein "Rechentrainer" immer wenn der Schüler 10 Aufgaben gerechnet hat sich selbst. Das heißt mit "oDoc.store()" wird die ganze geöffnete Datei gespeichert, das dauert einen Moment. Es werden alle Tabellenblätter und die Makros gespeichert obwohl eigentlich nur Änderungen in einem einzigen Tabellenblatt vorgenommen wurden. Gibt es eine Alternative?
Pit
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Mit "store" nur Teildatei speichern

Beitrag von balu »

Hallo Pit,

es kommt darauf an, was Du haben willst.

Einerseits gäbe es ja die Möglichkeit nur das geänderte Tabellenblatt, insbesondere die Ergebnisse ohne Zellformatierungen, als PDF zu exportieren.
Anderseits versteckt im Hintergrund eine Blanko Datei zu öfnnen und dann das betroffene Tabellenblatt in die leere Datei zu kopieren, und anschließend die versteckte Datei zu speichern.

Beide Methoden haben ihre Vor- und Nachteile. Es kommt einzig darauf an was mit dem betroffenen Tabellenblatt später gemmacht werden soll, und was Du haben möchtest.



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
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Mit "store" nur Teildatei speichern

Beitrag von erikafuchs »

Hallo Balu,
schön mal wieder von dir zu hören (lesen)!
Nein, so war das nicht gemeint. Ich wollte kein Blatt exportieren, sondern den Speichervorgang schneller machen.
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Mit "store" nur Teildatei speichern

Beitrag von balu »

Hallo Pit,

schön auch von dir mal wieder was zu hören.

Also das speichern einer kompletten Datei kann man nicht schneller machen. Es gibt da eine Faustformel: Je größer die Datei wird, um so länger dauert nun mal halt das speichern.

Du wolltest aber auch eine Alternative wissen, und ich hatte dir zweie geliefert. Auch wenn es in gewisser hinsicht keine echten Alternativen sind. Mir ist auch leider erst jetzt so richtig bewusst das Du mit Alternative ein anderes Speichern meintest, welche es nicht gibt.

Wobei mir jetzt noch ein dummer Gedanke kommt, den Du erstmal mit einer ganz einfachen und simplen Datei ohne Makros ausprobieren müsstest, um festzustellen ob dir das irgendwie weiterhelfen könnte.
Ich denke da an:
- Bearbeiten
- Änderungen

Und nein!
Ich habe damit noch nie etwas zu tun gehabt.



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
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Mit "store" nur Teildatei speichern

Beitrag von erikafuchs »

Ich dachte halt in meinem jugendlichen Leichtsinn: Die .ods Datei kann man entzippen, dann besteht sie aus einzelnen "Unter"dateien - vielleicht kann man ja, wie in einem Zipordner nur eine Datei ersetzen.
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Mit "store" nur Teildatei speichern

Beitrag von balu »

Moin Pit,
Ich dachte halt in meinem jugendlichen Leichtsinn:
Wenn überhaupt, dann gebührt mir diese Aussage, da ich mal ca. eine Dekade jünger bin als Du :lol:

Die .ods Datei kann man entzippen, dann besteht sie aus einzelnen "Unter"dateien
Kann man machen und es ist so weit korrekt.

vielleicht kann man ja, wie in einem Zipordner nur eine Datei ersetzen.
Das geht überhaupt nicht!
Denn einerseits muss dazu die '.ods-Datei' nicht geöffnet sein, und anderseits hast Du dir wohl noch nicht die einzelnen "Unterdateien", welche ja '.xml-Dateien' sind genauer angeschaut.

Mit einem geeigneten Text-Editor wie z.B. 'Notepadd++' kannst Du dir ja die einzelnen XML-Dateien genauer anschauen. Auch wenn Du auf anhieb nicht sofort alles verstehst und lesen kannst, da alle XML-Dateien Textbasierende Dateien sind die eine bestimmte Struktur aufweisen müssen.
Interessant sind fürs erste Verständnis nur folgende 2 Dateien:
- content
- styles
Eigentlich müssten dir jetzt diese beiden Namen schon etwas sagen. Aber dennoch will ich sie dir ganz kurz erklären.

-content
Die enthällt alles was Du auf dem Bildschirm in der Datei siehst und per Tastatur eingegeben hast, wie z.B. Texte und Formeln.

- styles
Die beinhaltet alles was mit Formatierungen zu tun hat, wie z.B. Zellhintergründe und Schriftfarben.

Wie gesagt, ganz kurz und knapp erklärt, und das Thema Makro jetzt mal außen vor gelassen.

Die wichtigste, und meistens auch vom Umfang her gesehen die Größte Datei ist die content.xml.
Wenn die einmal kaputt oder defekt sein sollte, dann kannst Du deine gesamte .ods in die Tonne (in den Müll) werfen (*). Wenn Du z.B. in Calc deine Kontodaten verwaltest, und die content einen schlach wech haben sollte, heißt es ganz einfach: "Pech gehabt! Das wars!"

Sollte aber die styles.xml einen hau wech haben, dann kann man die im absoluten Notfall durch eine Blanko-styles.xml ersetzen und man kommt so noch an seine wichtigsten Daten heran.

Entpackst Du z.B. deinen Rechentrainer, welcher als .ots so ca. 624 KB groß ist, so ist die content.xml ca. 1905 KB groß, oder anders ausgedrückt fast 2 MB groß.


(*)
Es mag auch Ausnahmefälle geben wo man noch die content.xml retten kann, aber das ist unter umständen ein enormer Aufwand.


Also um es noch mal kurz und knapp für dich und in deinem besonderen Falle zu sagen:
Eine .ods kann nur dann bearbeitet werden, wenn sie NICHT in Calc geöffnet ist.


wird die ganze geöffnete Datei gespeichert, das dauert einen Moment.
Mich würde es jetzt aber dennoch mal interessieren.
Was verstehst Du unter "einen Moment"?
Gib mal bitte schön ein paar Zeitangaben.



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: Mit "store" nur Teildatei speichern

Beitrag von Stephan »

nur einmal folgende Anregung:

Da das Speichern ohnehin per Makro erfolgt, und in der Annahme das nur Zellwerte gespeichert werden müssen, könnte es ein gangbarer Weg sein die geänderten Werte temporär in einer einfachen csv/txt zu speichern und erst beim Schließen der Datei ein Makro laufen zu lassen das die Werte endgültig in der ods-Datei speichert.
Wenn man hierbei (in der txt/cvs oder einer weiteren txt im tmp-Verzeichnis) zusätzlich die Info speichert welche Datei geöffnet ist, ist die Gefahr echten Datenverlustes auch nicht größer als wie beim richtigen ods-Speichern, denn falls die Datei abstürzt dürfte der Anwender instinktiv die Datei erneut öffnen und dann kann anhand der zusätzlichen txt verifiziert werden das die Datei noch nicht endgültig gespeichert war und die bereits temporär gespeicherten Werte aus der txt/csv wiederhergestellt werden.

Wie eingangs geschrieben, nur eine Anregung, denn ich möchte jetzt nicht selbst das programmieren was ich hier dargelegt habe, das müsstest Du schon selbst tun.


Gruß
Stephan
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Mit "store" nur Teildatei speichern

Beitrag von erikafuchs »

Lieber Balu
Nun ja, das mit der Zeit ist relativ (wer hat das schon mal gesagt?) - es geht nur um Bruchteile einer Sekunde - die Idee ist eher akademisch.
Ansonsten - vielen Dank für die umfassende Info.
Und wenn wir schon mal vom Alter reden, ich gehe zum 1.2.19 in Pension - du hast dich doch schon mal recht tief in meinen Rechentrainer eingearbeitet - willlst du den nicht gerne erben?
VG
Pit
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Mit "store" nur Teildatei speichern

Beitrag von balu »

Mahlzeit Pit,
das mit der Zeit ist relativ (wer hat das schon mal gesagt?)
Öööhm! Herr Lehrer? War das nicht derjenige der auch folgendes sagte?
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.
:lol:

es geht nur um Bruchteile einer Sekunde - die Idee ist eher akademisch.
Ach so!

Ansonsten - vielen Dank für die umfassende Info.
Gern geschehn :-)

du hast dich doch schon mal recht tief in meinen Rechentrainer eingearbeitet - willlst du den nicht gerne erben?
Du wirst zum Rentier (*), aber ich fühle mich Gesundheitlich so als wär ich 20 Jahre älter als Du. Und das wäre nicht der einzige Grund dafür das ich leider dankend ablehne.

(*)
Rentier ist hier eine kleine Wortspielerei für Rentner ;-)


Ich hatte vor so einigen Jahren ein "Programm" erstellt, also Calc-Dateien mit Makros, das wohl recht komplex war, auch wenn es nicht an dein "Programm" heranreicht. Als jedoch das System wo es eingesetzt wurde (war also nicht für mich persönlich) von OpenOffice.org auf LibreOffice umgestellt wurde, gingen die ersten kleinen Probleme los.

Anfangs konnte ich das noch alles bewältigen. Doch dann entwickelte sich LO in Punkto Makros in eine doch etwas andere Richtung. Der Nachfolger von OpenOffice.org, nämlich ApacheOpenOffice, machte mir kaum (eigentlich keine) Probleme.

Anders sah das aber mit LO aus. Auch wenn die Probleme sich "nur" auf Diagramme bezogen, so waren die aber mit DER wichtigste Teil der Datei: Besonders deshalb, weil die Diagramme ausgedruckt wurden. Sie dienen als Nachweiss wer wann anwesend war. Und bei dem Diagramm zickte LO wie blöd herum. Mir wurd das einfach zu viel. Und so beschloß ich mich vor ca. 2 Jahren rigoros dazu den gesammten "Support" für mein "Programm" schriftlich zu beenden.

Ich hatte ca. 6 Jahre in totaler Vollzeit all meine Zeit, Nerven und Können in dies Projekt investiert. Mit der Hoffnung das es für sehr lange Zeit so bliebe, und ich voller Stolz darauf blicken könnte. Doch dem ist leider nicht so geworden.


Würde es sich nur um ein Office handeln, so wäre das alles wohl kein Problem. Aber da es sich aus verständlichen Gründen eben nicht um nur eins handelt, denke ich mir mal das früher oder später auch bei deinem "Programm" diverse kleinere fehler oder Probleme einschleichen werden. Das ist wohl keine gute Nachricht, und ob meine Prognose auch zutrifft ist fraglich, aber damit rechnen muss man halt leider.

Ein verständlicher Grund für verschiedene Office ist ja der, das einige Schüler Linux basierende Betriebssysteme haben wo von Haus aus LO installiert ist. Und dort nachträglich AOO zu installieren, muss man den Schülern nicht abverlangen.

Die Zukunft, was die beiden Office betrifft, ist ungewiss. Bleibt AOO noch weiter auf dem Markt, oder wird es verschwinden? Wie weit wird sich LO noch entwickeln?

Ich persönlich arbeite lieber mit OpenOffice.org und ApacheOpenOffice, als mit LibreOffice. LO schmeißt in regelmäßgen Abständen schneller neuere Versionen aufm Markt, als ich mir neue Schuhe kaufen kann.

Ich hatte leider zu viel Zeit und Nerven, und das Tag und Nacht, in mein Projekt investiert. Alles freiwillig und ohne Gegenleistungen. So schnell werde ich nicht wieder etwas in dieser Hinsicht unternehmen. Erschwerend kam auch hinzu, das fast alles nur via E-Mail (also schriftlich) besprochen wurde. Und man sollte es kaum glauben, eine schriftliche Verständigung kann mitunter nicht nur sehr anstrengend sein, sondern auch fehlerhaft. Und von daher wäre es für dich am besten, wenn Du jemand finden könntest der aus deiner Umgebung kommen würde und dein *Baby* sicher weiter begleitet.



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
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Mit "store" nur Teildatei speichern

Beitrag von erikafuchs »

Lieber balu,
schön, dass du wenigstens darüber nachgedacht hast!
Bisher hatte ich nur kleine Formatierungsproblem mit LibreOffice. Ansonsten arbeite ich auch lieber mit OpenOffice.
Ich fürchte, ich werde dann mein "Baby" doch selbst weiterbetreuen müssen. Ich kenne niemanden mehr, der auch nur ansatzweise bereit wäre sich mit dem Programmieren auseinanderzusetzen und außerdem, mein Programm ist wirklich sehr umfangreich und ... leider sehr chaotisch - das ist keineswegs besser geworden!
VG
Pit
Antworten