Krumbein
Transcrição
Krumbein
Krumbein - Itswiki http://localhost/itswiki/index.php/Krumbein Krumbein Aus Itswiki Inhaltsverzeichnis 1 Sourcecode 2 OpenOffice.org-Versionen 2.1 Extensions (seit 2.1) 3 Java 4 Dateinamen der Dokumente 5 Ordner 6 Makros 6.1 direkt unterstützte Sprachen 6.2 Speicherorte für Bibliotheken 6.3 Steuerdateien 6.4 Dateistruktur für Makros 6.5 OOo-Basic 6.6 Bestandteile von Uno 6.7 Dateioperationen 6.8 Debugging 6.9 Writer-Makros (RPA-Randkommentare) 6.10 Dialoge 6.11 Makrorekorder 6.12 Calc-Makros 6.13 Texte in geschriebenes Writer-Dokument einfügen 6.14 Base 6.15 Faustregel 7 Shortcuts und Co in Writer 8 Weisheiten Sourcecode Sun hat Recht, seinen Code auch außerhalb der LGPL zu nutzen Novell und Google haben eigene Builds Ubuntu auch, besonders dort starke Verzahnung mit Debian, daher keine Sun-Updates mehr möglich Netter alternativer Mirror: ftp://ftp.linux.cz/pub/localization/OpenOffice.org sowohl nächtliche Snapshots, als auch stabile Versionen OpenOffice.org-Versionen Releasepolitik jedes halbe Jahr, eine Zehnerstelle, also von 2.3 auf 2.4 dazwischen nur Bugfixes, keine neuen Features (2.3 auf 2.3.1) ab 3.0 Office-2007-Konverter PDF/A-Export PDFs bearbeiten seit 2.2. Makrosicherheit auf Hoch, statt auf Normal ab 2.4 Andocken einer Gnuplot-Erweiterung möglich 23.12.2007 16:11 1 von 7 Krumbein - Itswiki http://localhost/itswiki/index.php/Krumbein API neu geschrieben Extensions (seit 2.1) zusätzliche "Module" zum Hauptcode oxt-Datei keine Qualitätskontrolle von Sun schnell verfügbar (sonst 1-2 Jahre, bis im Hauptcodestamm verfügbar) derzeit noch keine automatischen Updates möglich, da Server dafür noch leer Idee: MediaWiki-Import-Extension noch offen Basic Addon Builder (http://wiki.services.openoffice.org/wiki/Extensions_Packager) (Extension für schnelle Extensions) Bibliothek auswählen Module und Dialogmodule werden automatisch übernommen Symbolleisten, Menüs und Icons definieren derzeit keine Versionsnummer und Lizenztext beides manuell in content.xml einpflegen noch schneller Bibliothek als Extension exportieren keine Symbolleisten oder Menüs Installation per Doppelklick OOo passt automatisch die Steuerdateien (xlb/c) an Bibliotheken sind dann zwar da, müssen aber trotzdem geladen werden z.B. durch zwei Zeilen in der Vorlage dafür Java nicht unbedingt notwendig, außer für Base diverse Assistenten optimale JRE derzeit: 1.5.10 und höher Dateinamen der Dokumente MIME-Typ steht in der XML-Datei Erweiterung egal Doppelklick geht dann aber auch nicht mehr Ordner C:\Programme\OpenOffice.org\share zentrale Einstellungen im Auslieferungszustand bei Neuinstallation überschrieben wird beim Starten in Userprofil kopiert C:\Dokumente und Einstellungen\Flominator\Anwendungsdaten\OpenOffice.org2\user Userprofil bleibt bei Neuinstallation erhalten für jungfräuliche Installation einfach umbenennen kritische Teile bei Bedarf wieder zurückkopieren Speicherort der Extensions C:\Dokumente und Einstellungen\Flominator\Anwendungsdaten\OpenOffice.org2\.lock zeigt an, dass Profil derzeit benutzt wird (auch vom Schnellstarter) wenn sich alle Dateien nur noch schreibgeschützt öffnen lassen, einfach mal löschen erst wenn Profil nicht mehr benutzt, Änderungen daran vornehmen, sonst wird Profil beim Beenden aus Arbeitsspeicher überschrieben 23.12.2007 16:11 2 von 7 Krumbein - Itswiki http://localhost/itswiki/index.php/Krumbein Makros direkt unterstützte Sprachen Basic (einzige mit integrierter IDE) Python Javascript Speicherorte für Bibliotheken OpenOffice.org-Makros C:\Programme-Profil mitgelieferte Funktionen Gimmicks und Tools im Buch erklärt Unternehmensweite Makros Meine Makros User-Profil nur angemeldeter Benutzer kann drauf zugreifen Dokument nur verfügbar, wenn Dokument geladen ist Steuerdateien Bibliotheken müssen in xlb/xlc-Dateien referenziert sein kopieren in Ordner genügt nicht (werden dann nicht gefunden) oft reicht Wiederherstellen alter Backups, wenn Makros nicht mehr funktionieren Dateistruktur für Makros Bibliothek (Verzeichnis) steht nur zur Verfügung, wenn geladen (gelb, sonst weiß) nur Standard-Bibliothek wird automatisch geladen nicht nutzen, da jedes Dokument eine Standard-Bibliothek hat und beim Zusammenfügen zweier Dokumente zumindest eine beschädigt wird immer eigene Bibliothek anlegen Ausnahme: Benutzerdefinierte Funktion von Calc (in Meine Makros) lässt sich auch verschlüsseln (Schutz des Quellcodes) Modul (Datei) Funktionen (Subs) kleiner als 64KB - wird komplett als String eingelesen darf nicht gleichen Namen haben, wie Bibliothek Suche wird bereits bei Bibliothek abgebrochen und kommt nicht bis zum Modul Dialogmodul OOo-Basic Namen der Funktionen sind egal Sub main 'keine Bedeutung, kann auch Karl-Heinz heißen End Sub IDE führt immer nur erste Sub aus und hört bei ersten End auf neuere Funktionen hoch kopieren Startfunktion nutzen: 23.12.2007 16:11 3 von 7 Krumbein - Itswiki http://localhost/itswiki/index.php/Krumbein Sub erste zweite(var) End erste Sub zweite (var as Integer) ... End Sub Deklaration von Variablen erzwingen: option explicit es besteht bereits eine Referenz auf zuletzt geladenes Hauptmodul [grafik] thisComponent Sub hat keinen Rückgabewert Function kann einen Rückgabewert haben: Function eineFunktion eineFunktion = "Ich bin ein Rückgabewert" End Function Parameter in Basic werden bei Aufruf einer Function mit , getrennt eineFunktion(1, 5, 8) Quelltext kann mit Unterstrich (_) unterbrochen und am nächsten Zeilenanfang fortgesetzt werden Bestandteile von Uno services Objekte Wie finden? 1. http://api.openoffice.org -> IDL-Referenz 2. Debugger (Brillensymbol) 3. Inspektor (Buch-CD) 4. Debug-Methoden (geben Strings mit allem aus) msgbox thisComponent.dbg_properties msgbox thisComponent.dbg_methods msgbox thisComponent.dbg_interfaces noch offen interfaces Gruppen von Methoden struct kleinste Einheit: Name->Wert Dateioperationen [Grafik] wo möglich Uno nutzen, da in Basic z.B. (Put- und Get-Methoden für bitweise Dateibearbeitung fehlerhaft sind) StarDesktop ist quasi oberste Ebene Store geht bei neuen Dokumenten nicht (keine URL vorhanden) StoreAsURL 23.12.2007 16:11 4 von 7 Krumbein - Itswiki http://localhost/itswiki/index.php/Krumbein StoreToURL Debugging mit jedem Klick einen Step weiter Step Into: Makro schrittweise ausführen, wie es später auch der Interpreter tuen würde wenn eine Unterfunktion aufgerufen wird, dort hinein springen Step Out Unterfunktion zwar weiter abarbeiten, aber erst nach Rückkehr in die aufrufende Funktion wieder stoppen Step Over: nur Oberfunktion betrachten, keine Unterbrechungen wegen Unterfunktionen unten kann man Variablen und ihre Werte beobachten (Brille) Writer-Makros (RPA-Randkommentare) [Grafik] Text mit getString kann nur 64 KB fassen Tabellen werden wie Absätze behandelt TextCursor sieht keinen Zeilenumbruch, wird erst bei View erzeugt ViewCursor sieht keinen Absatz, solange er nicht zeichenweise abklappert TextRange (document.text, viewCursor.string) Anfang Inhalt (Text) Ende Achtung: Richtung in der markiert wurde, bestimmt Reihenfolge von Anfang und Ende Objekt (z.B. Textrahmen) erzeugen, siehe S. 294 Objekt muss an irgendwas verankert werden mit Absatz bewegen (Standard bei OOo-Oberfläche) als Zeichen (Standard von Basic) an Seite Eigenschaften löschen (z.B. Farbe) 0 ist auch eine Farbe -1 löscht die Farbe Rahmenvorlage (Style) wird über ihren Namen zugewiesen muss vorher in Writer erzeugt werden alles manuell einstellen und "Vorlage aus Markierung erzeugen" Manche Eigenschaften lassen sich erst verändern, wenn Objekt sichtbar ist Erstellt man Dokument aus Vorlage mit Makro, hat Dokument auch Makro Dialoge "Art der Schaltfläche" Standard: selbst definieren Makro zuweisen, oft "Beim Auslösen" OK (liefert 1) Abbrechen (liefert 0) Hilfe - muss Hilfeseite hinterlegt werden Dialogbibliotheken werden nie automatisch geladen, da sie zuviel Hauptspeicher benötigen würden explizites Laden der Dialogbibliotheken notwendig jeder Dialog wird zu einem Dialogmodul Problem bei execute(): Benutzer kann nicht weiterarbeiten, bevor Dialog geschlossen wird Lösung: setVisible=true Problem: nur noch Standard-Schaltflächen funktionieren, kein automatische Beenden mehr msgbox("Meldung", Aussehen, "Titel") Meldung wird aus irgendwas addieren (ist auch so beim Löschen von Zellbereichen) 23.12.2007 16:11 5 von 7 Krumbein - Itswiki http://localhost/itswiki/index.php/Krumbein Makrorekorder erzeugt Dispatcher-Code nicht zum Weiterprogrammieren geeignet, wie z.B. bei VBA Sun darf Dispatcher-Codes jederzeit ändern oder entfernen Nutzer wird auf diese Art keine Makros programmieren => Workshops für Poweruser Calc-Makros cInt(Variable) versucht, aus Variable eine Ganzzahl zu machen Kommastellen werden abgeschnitten während eine benutzerdefinierte Funktion läuft, kann man keine Zellen über Makro verändern Parameter Calc werden mit ; getrennt =EINE_ANDERE_FUNKTION(1;5;8) geschützte Blätter können auch mit Basic nicht bearbeitet werden vorher sheet.unprotect("Passwort") hinterher dann wieder sheet.protect("Passwort") versteckte Blätter können mit Basic bearbeitet werden z.B. kann dort auch Passwort für Seitenschutz gespeichert werden (vgl. OOo-Kassenbuch) kann aber über XML-Datei ausgelesen werden eine Selektion aus mehreren Zellen hat keine Value prüfen, ob Selektion den Service "CellSheetService" unterstützt (S. 351) lockControllers() friert die Sicht ein kein Flackern des Bildschirms später unbedingt wieder unlocken Texte in geschriebenes Writer-Dokument einfügen Variante 1: Textmarke (Ankerpunkt) jeden Namen nur 1x benutzen Ort muss bekannt sein (nicht auf einmal in einem Rahmen, wenn früher direkt in Absatz) Vorteil nur, wenn mehrmals an selber Stelle etwas geändert werden muss Problem: Wie Ende des zuvor eingefügten Textes finden? expandierende Textmarke (Bereich markieren und dann Textmarke einfügen) auf Bereich in Textmarke kann gesondert zugegriffen werden Variante 2: Platzhalter z.B. $Ich_bin_ein_Feldname$ durch Werte ersetzen meist schneller und einfacher Platzhalter beliebig oft in einem Dokument benutzbar Funktion zum Suchen und Ersetzen (S. 285) erreicht auch Textrahmen, .... Einzige Vorgabe an den Mitarbeiter: Schreib den Namen des Platzhalters richtig optimal, wenn nur Dokument nur einmal durchlaufen wird Base Base ist ein Container Daten oder Verknüpfungen zu Daten Formulare (Writer-Dokumente) Berichte sind Basic-Befehle, die Datenfelder aus einer Datenbank auslesen und ein Writer-Dokument erzeugen Früher: selbst kodieren oder Assistent Heute: Report-Designer-Extension: Berichte in Entwurfsansicht erstellen Ergebnis ist auch wieder Basic-Code, aber per Drag and Drop gebastelt Detailbereich wird von jedem Datensatz durchlaufen eigene Funktionen erstellen 23.12.2007 16:11 6 von 7 Krumbein - Itswiki http://localhost/itswiki/index.php/Krumbein nicht unbedingt geeignet zum Anlegen neuer (großer) Datenbanken meist tut es auch Calc optimal, um schnell ein GUI für bestehende Datenbanken zu schaffen Base wird zur Serienbrieferstellung genutzt im Hintergrund Base-Verknüpfung zu Datenquelle Start-Datei kann aber trotzdem gelöscht werden, da nur Startaufruf im StarDesktop (siehe Bild) Verknüpfte Daten befinden sich im Cache keine automatische Aktualisierung oft sogar noch 10 Minuten nach dem Beenden der Anwendung Faustregel nicht versuchen, bestehende Makros zu verstehen und nachzuprogrammieren sondern: fragen, was das Ergebnis sein soll Shortcuts und Co in Writer Blindtext: bi + F3 (Autotext -> Blindtext) F11 - Formatvorlagen anzeigen "weiches" Return: Shift + Enter zusätzliche Buttons im Dokument zum Starten von Makros: Ansicht => Symbolleiste => Formular-Steuerelemente Entwurfsmodus aktivieren, Button einfügen Makro zuweisen Entwurfsmodus beenden Weisheiten ein String kann nur 64KB aufnehmen, nicht den ganzen Text eines Dokumentes (Duden-Dilemma) Windows-API liefert bei Anfrage nach Temp-Verzeichnis einen Dateinamen im 8.3-Format (erst in Vista behoben) Von "http://localhost/itswiki/index.php/Krumbein" Diese Seite wurde zuletzt geändert um 12:11, 23. Dez 2007. Diese Seite wurde bisher 12 mal abgerufen. Datenschutz Über Itswiki Lizenzbestimmungen 23.12.2007 16:11 7 von 7