Die SIGAMOS-DLLs - Band 2: Tabellenkalkulation - Jens Wahl - E-Book

Die SIGAMOS-DLLs - Band 2: Tabellenkalkulation E-Book

Jens Wahl

0,0
6,99 €

Beschreibung

Das E-Book zu den SIGAMOS-DLLs erläutert detailliert alle verfügbaren Funktionen zur Tabellenkalkulation. Dazu gibt es Hinweise auf Besonderheiten der einzelnen Office-Systeme. Außerdem enthält es weitere Quellcode-Beispiele. Welche Vorteile bietet Ihnen der Kauf dieses E-Books? - Eine detaillierte Beschreibung jeder einzelnen Funktion. - Hinweise auf Besonderheiten, Einschränkungen und so weiter. - Zusätzliche Codebeispiele

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 70

Bewertungen
0,0
0
0
0
0
0



Die SIGAMOS-DLLs - Band 2: Tabellenkalkulation

Vorwort

 

Die SIGAMOS-DLLs sind eine Standard-Schnittstelle zu unterschiedlichen Office-Systemen. Haben Sie einmal den Zugriff auf ein Office-System mithilfe der von SIGAMOS bereitgestellten Funktionen programmiert, dann können die Nutzer Ihrer Anwendung(en) aus über 10 Office-Paketen wählen. Geben Sie Ihren Programmnutzern dieses kleine Stück Software-Freiheit mehr und zwingen Sie diese nicht, nur das bisher einzige von Ihnen unterstützte Office-System zu nutzen!

Die SIGAMOS-DLLs sind Freeware für den privaten und kommerziellen Gebrauch. Weitere Informationen dazu erhalten Sie über die URL „www.inntalsoftware.de/sigamos.html“. Sie können sich von dieser URL auch die Dateien herunterladen. Eine Beschreibung der Installation, eine Kurzübersicht der verfügbaren Funktionen und Anwendungen sowie aller unterstützter Office-Systeme finden Sie im QuickStart-Dokument, das zusammen mit den DLLs ausgeliefert wird bzw. von der Webseite extra heruntergeladen werden kann.

Zu den SIGAMOS-DLLs gibt es vier E-Books (Stand November 2019, Software-Release 2.0), die in deutscher, englischer und spanischer Sprache in den Formaten ePub und Kindle verfügbar sind. Diese E-Books sind Bestandteil der von mir ersonnenen Reihe „edeus“ - eine Erklärung dieses Begriffes finden Sie hier. In diesen E-Books werden alle verfügbaren Funktionen mit jedem Parameter beschrieben. Es gibt folgende Ausgaben (die vorliegende Ausgabe ist fett gedruckt):

1. Gesamtausgabe (Textverarbeitung, Tabellenkalkulation, Präsentation).

2. Band 1: Textverarbeitung.

3. Band 2: Tabellenkalkulation.

4. Band 3: Präsentation.

 

Welche Vorteile bietet Ihnen der Kauf eines dieser E-Books?

· Eine detaillierte Beschreibung jeder einzelnen Funktion.

· Hinweise auf Besonderheiten, Einschränkungen und so weiter.

· Zusätzliche Codebeispiele in Delphi und C++.

 

 

Mit dem Kauf dieses E-Books unterstützen Sie die Weiterentwicklung dieser Software bzw. die Neuentwicklung anderer Freeware-Programme von mir und erhalten im Gegensatz zu einem „Spenden“-Button noch einen echten Gegenwert.Sollten Sie schon irgend eine Auflage dieses E-Books erworben haben, können Sie alle weiteren neuen Auflagen kostenlos erhalten. Für weitere Informationen klicken Sie bitte hier.

Informationen zu Fehlern bzw. Vorschläge für neue oder geänderte Funktionen sind immer willkommen! Bitte senden Sie mir eine E-Mail an [email protected] mit dem Betreff „SIGAMOS“.

Mit der 2. Auflage (zu Software-Release 2.0) werden nicht nur die neuen Funktionen und die neue Compact-DLL beschrieben. Hier finden Sie jetzt alle Codebeispiele in Delphi und C++. Dazu gibt es eine genaue Anleitung zur Nutzung der in Delphi, Free Pascal und C++ vorliegenden DLL-Wrapper, welche die Nutzung der DLL-Funktionen für den Entwickler deutlich vereinfachen.Hinweis: Die Codebeispiele in Delphi nutzen keinen DLL-Wrapper, die in C++ nutzen diesen.

1. Einarbeitung

 

1.1 Allgemeines

 

Bitte lesen Sie sich zuerst das QuickStart-Dokument zu SIGAMOS aufmerksam durch. Das vorliegende E-Book basiert auf den dort enthaltenen Informationen.

Nutzen Sie zur Einarbeitung die Möglichkeiten, die Ihnen die Anwendungen „Information & Demo Center“ (sigamos_idc.exe) und „Function-Tester“ (sigamos_ft32.exe, sigamos_ft32cc.exe, sigamos_ft64.exe, sigamos_ft64cc.exe) bieten. Darüber hinaus empfehle ich Ihnen, sich den Quelltext der mitgelieferten Demos anzuschauen. Dieser ist an den wichtigsten Stellen kommentiert. Bei Fragen, Hinweisen oder Problemen kontaktieren Sie mich bitte per E-Mail unter [email protected] mit dem Betreff „SIGAMOS“.

 

Zur Unterscheidung beginnen alle Funktionen mit zwei Buchstaben und einem Unterstrich:

- WP_ - Textverarbeitung (Wordprocessing)

- SC_ - Tabellenkalkulation (Spreadsheet <Calculation>)

- PT_ - Präsentation (Presentation)

Jede dieser drei DLLs enthält mit den Indexen 1 - 6 sechs Hilfsfunktionen, die Ihnen die Arbeit etwas erleichtern sollen. Hinweis: Diese Aussage trifft NICHT auf die Compact-DLL zu!

 

1.2. Der Function-Tester

 

Es gibt vier Function-Tester-Programme:

1. Die drei DLLs für Textverarbeitung, Tabellenkalkulation und Präsentation 32 Bit.

2. Die drei DLLs für Textverarbeitung, Tabellenkalkulation und Präsentation 64 Bit.

3. Die Compact-DLL 32 Bit.

4. Die Compact-DLL 64 Bit.

 

Die weiteren Beschreibungen gelten analog für alle der vier oben genannten Programme. Wenn Sie im Function-Tester Ihre Tätigkeiten protokollieren möchten, gibt es dafür zwei Möglichkeiten:

1. Protokollierung der gewählten Funktionen und Aufrufe im Function-Tester.

2. Protokollierung des Aufrufes der DLL-Funktionen.

 

Zu 1.: Nutzen Sie dazu die im folgenden Bild gezeigte Checkbox sowie die beiden Schaltflächen „Clear Log“ und „Copy Log“:

 

Die Ausgabe erfolgt im untersten Feld:

 

 

Zu 2.: Wählen Sie nach Auswahl einer Office-Gruppe (außer „None“) das Objekt „Helper-Functions“ und dort die Funktion „WP_LoggingStart“ (bei Textverarbeitung). Klicken Sie dann auf die Schaltfläche „Start Function“. Die Protokollierung läuft solange, bis Sie die Funktion „WP_LoggingStop“ starten, die Office-Gruppe wechseln oder das Programm beenden. Zur Einsicht des Protokolls öffnen Sie die Datei (siehe Bemerkung dazu bei der Funktionsbeschreibung). Diese könnte etwa so aussehen:

25.10.2018 19:50:18 Start Logging

25.10.2018 19:50:23 Function _DoFunc_WPAppCreate: Start - Libre Office

25.10.2018 19:50:24 Function _DoFunc_WPAppCreate: End - Libre Office

25.10.2018 19:50:42 Function _DoFunc_WPDocOpen: Start - Libre Office

25.10.2018 19:50:43 Function _DoFunc_WPDocOpen: End - Libre Office

25.10.2018 19:51:11 Function _DoFunc_WPDocExportToPDF: Start - Libre Office

25.10.2018 19:51:22 Function _DoFunc_WPDocExportToPDF: End - Libre Office

25.10.2018 20:02:01 Function _DoFunc_WPDocIsSaved: Start - Libre Office

25.10.2018 20:02:01 Function _DoFunc_WPDocIsSaved: End - Libre Office

25.10.2018 20:02:21 Function _DoFunc_WPDocInsertTable: Start - Libre Office

25.10.2018 20:02:21 Function _DoFunc_WPDocInsertTable: End - Libre Office

25.10.2018 20:03:08 Function _DoFunc_WPDocNewSaved: Start - Libre Office

25.10.2018 20:03:09 Function _DoFunc_WPDocNewSaved: Document created - Libre Office

25.10.2018 20:03:09 Function _DoFunc_WPDocSaveAs: Start - Libre Office

25.10.2018 20:03:09 Function _DoFunc_WPDocSaveAs: End - Libre Office

25.10.2018 20:03:09 Function _DoFunc_WPDocSaveAs: End - Libre Office

25.10.2018 20:03:25 Function _DoFunc_WPDocActivate: Start - Libre Office

25.10.2018 20:03:25 Function _DoFunc_WPDocActivate: Error:

 [automation bridge] unexpected exception in UnoConversionUtilities<T>::variantToAny!

25.10.2018 20:03:25 Function _DoFunc_WPDocActivate: End - Libre Office

25.10.2018 20:03:36 Function _DoFunc_WPParagraphsGetCollection: Start - Libre Office

25.10.2018 20:03:36 Function _DoFunc_WPParagraphsGetCollection: Error:

 [automation bridge] unexpected exception in UnoConversionUtilities<T>::variantToAny!

25.10.2018 20:03:36 Function _DoFunc_WPParagraphsGetCollection: End - Libre Office

25.10.2018 20:04:22 Function _DoFunc_WPSelectionFromDocument: Start - Libre Office

25.10.2018 20:04:22 Function _DoFunc_WPSelectionFromDocument: Error:

 [automation bridge] unexpected exception in UnoConversionUtilities<T>::variantToAny!

25.10.2018 20:04:22 Function _DoFunc_WPSelectionFromDocument: End - Libre Office

25.10.2018 20:04:52 Function _DoFunc_WPRangeFromDocument: Start - Libre Office

25.10.2018 20:04:52 Function _DoFunc_WPRangeFromDocument: End - Libre Office

25.10.2018 20:05:47 Function _DoFunc_WPAppClose: Start - Libre Office

25.10.2018 20:05:51 Function _DoFunc_WPAppClose: End - Libre Office

25.10.2018 20:05:59 End Logging

 

Bitte berücksichtigen Sie bei Ihren Tests das Folgende:

1. Wurden mehrere Office-Systeme derselben Office-Gruppe installiert, wird immer nur das zuletzt installierte Office-System starten.

2. Das Gleiche gilt auch die die beiden Office-Gruppen OpenOffice und LibreOffice!

3. Es können keine Office-Systeme getestet oder genutzt werden, die keine COM-Aufrufe unterstützen (z. B. WPS Office in der Home- oder Free-Version).

4. Für Fehler, die durch eine falsche Aufrufreihenfolge entstehen, kann ich keinen Support leisten. Beispiel: Sie erstellen ein Application-Objekt. Danach rufen Sie als Nächstes die Funktion „Dokument schließen“ auf, ohne dass ein Document-Objekt existiert. Sie können nur die Objekte nutzen, die bereits erzeugt wurden. Dazu dient die Anzeige der verfügbaren Objekte oberhalb der Comboboxen für Objekte und Funktionen.

 

1.3 Fehlerbehandlung

 

Wenn ein Fehler innerhalb der DLL-Funktion auftritt, kann er mittels der LoggingStart-Methode protokolliert werden. Doch es gibt noch ein paar Variablen, um Funktionen auf Fehler prüfen zu können. Jede der drei DLLs hat dazu zwei eigene Variablen, die vom Typ String sind (Deklaration in SIGAMOS_Common):

Textverarbeitung: sErrorWP und sAllErrorsWP

Tabellenkalkulation: sErrorSC und sAllErrorsSC

Präsentation: sErrorPT und sAllErrorsPT

Ich erläutere das Ganze anhand der Textverarbeitung, also mit sErrorWP und sAllErrorsWP. Bei Aufruf jeder Textverarbeitungs-DLL-Funktion (mit Ausnahme der Helper-Functions) wird sErrorWP geleert. Nach Beendigung dieser Funktion kann geprüft werden, ob sErrorWP leer ist (kein Fehler) oder ob die Variable einen Text (die Fehlermeldung) enthält. Dies wäre auf alle Fälle ratsam, wenn der Rückgabewert der aufgerufenen Funktion einen Fehler meldet. Am Ende einer jeden DLL-Funktion wird, wenn sErrorWP nicht leer ist, dieser Wert zu sAllErrorsWP als eigene Zeile hinzugefügt. sAllErrorsWP wird bis zum Ende Ihrer Anwendung bzw. bis Sie die DLL entladen haben, verfügbar sein und enthält alle Fehlermeldungen der aktuellen Sitzung.

Als Beispiel der Delphi-Quelltext aus der Funktion WP_ParagraphsItem. Diese ruft die interne Funktion _DoFunc_WPParagraphsItem auf. Hier können Sie das Leeren und Zuweisen von Werten zu sErrorWP erkennen:

<code>

var

              iTmpItem:                                                                                                                Integer;

 

begin

sFuncName := '_DoFunc_WPParagraphsItem';

if bLogging_WP then _WP_WriteLog('Function ' + sFuncName + ': Start', ofTmpKind);

//_ClearError add sErrorWP to sAllErrorsWP and then clear the value of sErrorWP

              _ClearError;

 

              Result := UnAssigned;

              if VarIsEmpty(vDoc) then begin

                            if bLogging_WP then _WP_WriteLog('Function ' + sFuncName + ': ERROR - no Document Object', ofTmpKind);

                            Exit;

              end;

 

              try

                            case ofTmpKind of

                                          enAB:

                                                        begin

                                                                      Result := vDoc.Paragraphs.Item(iItemNumber);

                                                        end;

                                          enKS:

                                                        begin

                                                                      Result := vDoc.Paragraphs.Item(iItemNumber);

                                                        end;

                                          enMS:

                                                        begin

                                                                      Result := vDoc.Paragraphs.Item(iItemNumber);

                                                        end;

                                          enOO:

                                                        begin

                                                                      iTmpItem := 0;

                                                                      vooEnum := vDoc.Text.createEnumeration;

                                                                      while (vooEnum.hasMoreElements) do begin

                                                                                    vooParagraph := vooEnum.nextElement;

                                                                                    //ATTENTION: vooParagraph is a „normal“ paragraph or a table

                                                                                    if vooParagraph.supportsService('com.sun.star.text.Paragraph') then begin

                                                                                                  Inc(iTmpItem);

                                                                                                                Result := vooParagraph;

                                                                                                                Break;

                                                                                                  end;

                                                                                    end;