DE602004003230T2 - System und Verfahren in einer Datentabelle zur Erzeugung von rekursiven skalierbaren Vorlageninstanzen - Google Patents

System und Verfahren in einer Datentabelle zur Erzeugung von rekursiven skalierbaren Vorlageninstanzen Download PDF

Info

Publication number
DE602004003230T2
DE602004003230T2 DE602004003230T DE602004003230T DE602004003230T2 DE 602004003230 T2 DE602004003230 T2 DE 602004003230T2 DE 602004003230 T DE602004003230 T DE 602004003230T DE 602004003230 T DE602004003230 T DE 602004003230T DE 602004003230 T2 DE602004003230 T2 DE 602004003230T2
Authority
DE
Germany
Prior art keywords
recursive
der
scalable template
meta
die
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE602004003230T
Other languages
English (en)
Other versions
DE602004003230D1 (de
Inventor
Jean-Jacques Aureglia
Frederic Bauchot
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE602004003230D1 publication Critical patent/DE602004003230D1/de
Application granted granted Critical
Publication of DE602004003230T2 publication Critical patent/DE602004003230T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Description

  • Technisches Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft das Gebiet der Verarbeitung von Daten mittels digitaler Rechner und insbesondere ein Verfahren und ein System in einer Datentabelle, vorzugsweise einem elektronischen Arbeitsblatt, zur Erzeugung von rekursiven skalierbaren Vorlageninstanzen.
  • Stand der Technik
  • Ein wesentlicher Nutzen von elektronischen Arbeitsblättern besteht darin, Daten in Spalten und Zeilen zu gliedern und gleichzeitig umständliche Berechnungen zu automatisieren. Selbst wenn man einen Bereich von Zellen in Tabellenkalkulationsumgebungen formal und streng definiert, ist er ausreichend flexibel, so dass Daten entweder in einen einzelnen Zellenbereich oder in eine aus mehreren Zellenbereichen bestehende Gruppe aufgenommen werden können. Zellenbereiche sind daher recht nützliche Objekte. Ein Zellenbereich kann als eine ganze Dateneinheit (entity) festgelegt und verarbeitet werden. Er kann zum Beispiel von einer Stelle an eine andere Stelle in dem Arbeitsblatt oder aus einer Arbeitsblattdatei in eine andere Arbeitsblattdatei kopiert werden. Zellenbereiche werden in Anwendungen, die auf dem Gebiet der Tabellenkalkulation entwickelt werden, in großem Umfang verwendet. Meistens werden die Zellenbereiche einer bestimmten Struktur entsprechend angeordnet und werden so zu strukturierten Zellenbereichen. Der Inhalt einer jeden Zelle wird in einem Element festgelegt, wobei ein Element als eine Zeile eines strukturierten Zellenbereichs definiert ist, und anschließend wird dieselbe Art von Element mit einer bestimmten Häufigkeit wiederholt, um eine veränderliche Anzahl von Informationsteilen zu speichern/zu verarbeiten. Meistens werden mehrere Instanzen von ähnlich strukturierten Zellenbereichen verwendet. In dem aktuellen Kontext, in dem eigentlich kein anderes Werkzeug zur Verfügung steht, werden Instanzen von solch ähnlich strukturierten Zellenbereichen häufig mittels der Operationen "Ausschneiden/kopieren und einfügen" erzeugt. Um die wachsenden Datenmengen auf hohem Niveau verständlich zu halten, muss der Mensch diese Daten ordnen beziehungsweise strukturieren. Dabei wird häufig das hierarchische Modell verwendet, weil es verschachtelte Strukturen zulässt. Ein typisches und bekanntes Beispiel für eine solche hierarchische Struktur ist der Verzeichnisbaum von Rechner-Betriebssystemen wie zum Beispiel DOS oder Microsoft Windows. Das Stammverzeichnis kann Dateien und/oder mehrere Verzeichnisse enthalten, die selbst Dateien und/oder mehrere Verzeichnisse enthalten können, welche wiederum selbst Dateien und/oder mehrere Verzeichnisse enthalten können usw. Rekursivität hilft bei der Strukturierung der Daten und trägt dazu bei, die Daten verständlich zu halten. Dieses Erfordernis der Rekursivität gilt auch für strukturierte Bereiche von Zellen in Tabellenkalkulationsumgebungen. Wenn mehrere Instanzen von strukturierten Bereichen von Zellen festgelegt und in einer Datei eines Tabellenkalkulationsprogramms verwendet werden, werden sie oftmals selbst nach einer ganz bestimmten Anordnung mit Überstrukturen oder einer "Anordnung von strukturierten Zellenbereichen" ("array of structured ranges of cells") strukturiert, die aus einer Datei in andere Dateien eines Tabellenkalkulationsprogramms oder sogar innerhalb derselben Datei eines Tabellenkalkulationsprogramms kopiert werden kann. Innerhalb einer solchen Anordnung von strukturierten Zellenbereichen findet man gewöhnlich mehrere strukturierte Zellenbereiche, die dieselbe Zwischen-Überstruktur übernehmen, und auch einige andere strukturierte Zellenbereiche, die andere Zwischen-Überstrukturen übernehmen. Die Anordnung der strukturierten Zellenbereiche kann dann als eine Gruppe von zusammengefassten Zwischen-Überstrukturen von strukturierten Zellenbereichen betrachtet werden. In dem aktuellen Kontext von herkömmlichen Tabellenkalkulationsprogrammen werden Instanzen von solchen Anordnungen von strukturierten Zellenbereichen häufig mittels der Operationen "Ausschneiden/kopieren und einfügen" erzeugt.
  • Das Erzeugen einer neuen Instanz eines strukturierten Zellenbereichs ist schwierig und umständlich, insbesondere, weil ein herkömmlicher Zellenbereich starken Einschränkungen unterliegt:
    • • (i) Informationen über die Struktur (wie beispielsweise die Anzahl der Spalten, die Anzahl der Zeilen), Informationen über die Formatierung (wie beispielsweise den Schriftarttyp, die Farbe oder Ränder) und inhaltliche Informationen (wie beispielsweise Formeln oder Rohdaten oder informative Daten) werden gemischt,
    • • (ii) die Größe des Zellenbereichs wird in einem bestimmten Augenblick festgelegt.
  • Wenn der Benutzer eines Tabellenkalkulationsprogramms einen anderen Zellenbereich mit einer genau gleichen Struktur erzeugen möchte, muss er folglich mehrere Operationen hintereinander durchführen. Er muss:
    • 1. einen bereits vorhandenen strukturierten Zellenbereich kopieren und einfügen,
    • 2. zwischen Bereichen, die Rohdaten oder informative Daten, und Bereichen, die einen allgemeingültigen Inhalt wie zum Beispiel Formeln enthalten, unterscheiden,
    • 3. die kopierten Rohdaten aus den kopierten strukturierten Zellenbereichen löschen und gleichzeitig versuchen, die Struktur, das Format und den allgemeingültigen Inhalt beizubehalten,
    • 4. die Größe des strukturierten kopierten Zellenbereichs an seine neuen Erfordernisse anpassen
    • 5. und schließlich den Bereich der Rohdaten mit Standardwerten füllen, um die nachfolgende Dateneingabe zu vereinfachen.
  • Außerdem muss der Benutzer vor dem Kopieren und Einfügen eines strukturierten Zellenbereichs den Platz für den kopierten strukturierten Zellenbereich vorbereiten, wobei das Risiko besteht, dass bereits vorhandene Daten an der Zielposition überschrieben werden und daher verloren gehen. Diese Abfolge der Operationen wird schnell umständlich, langwierig und fehleranfällig, insbesondere, wenn bearbeitete strukturierte Zellenbereiche größer und komplexer werden.
  • Wenn nach einem rekursiven Schema vorgegangen wird, ist das Erzeugen einer neuen Instanz von einer Anordnung von strukturierten Zellenbereichen sogar noch schwieriger und umständlicher, insbesondere, weil eine Anordnung von strukturierten Zellenbereichen eine Struktur mit zwei Ebenen bedingt:
    • • Auf der unteren Ebene muss eine aus mehreren und sogar verschiedenen Instanzen von strukturierten Zellenbereichen bestehende Gruppe erzeugt werden. Wie zuvor erwähnt wurde, ist diese Operation aufgrund der Einschränkungen, denen herkömmliche Zellenbereiche unterliegen, selbst schwierig, umständlich und fehleranfällig.
    • • Auf der höheren Ebene würde die Erzeugung einer Instanz einer Anordnung von strukturierten Zellenbereichen voraussetzen, dass der Benutzer des Tabellenkalkulationsprogramms mehrere Operationen durchführt: 2. Kennzeichnen einer vorhandenen Instanz einer Anordnung von strukturierten Zellenbereichen, die als Referenz zur Erzeugung der neuen Instanz verwendet wird. 3. Vorbereiten des Platzes an der Zielposition, um die neue Instanz aufzunehmen, wobei das Risiko besteht, dass bereits vorhandene Daten möglicherweise überschrieben werden und dadurch verloren gehen. 4. Kopieren der Referenzinstanz der Anordnung von strukturierten Zellenbereichen und Einfügen der Referenzinstanz an der Zielposition. 5. Anpassen der Struktur der neu erzeugten Instanz einer Anordnung von strukturierten Zellenbereichen an die neuen Erfordernisse des Benutzers, indem eine oder mehrere Zwischen-Überstrukturen von Instanzen von strukturierten Zellenbereichen entweder gelöscht oder in die Anordnung eingefügt werden. 6. Löschen des Inhalts einer jeden Instanz von strukturierten Zellenbereichen, die in der Anordnung enthalten ist.
  • Die US-Patentschrift 5 033 009 mit dem Titel "System for generating worksheet files for electronic spreadsheets" von Steven J. Dubnoff, 3. März 1989, ist ein interessantes Schriftstück nach dem Stand der Technik. Diese Erfindung entwickelt die Vorstellung von Struktudaten und veränderlichen Daten, die eingebunden werden können, um eine Arbeitsblattdatei über einen Arbeitsblattdatei-Generator zu erzeugen. Jedoch weist diese Erfindung viele Einschränkungen auf, aufgrund derer sie die Reihe von Problemen, die vorstehend erwähnt wurden, und im Einzelnen folgende nicht lösen kann:
    • • Sie zielt darauf ab, aus einem Satz von zwei Eingabedateien ein neues elektronisches Ausgabearbeitsblatt zu erzeugen, während jedoch in einer Anwendungsumgebung eines Benutzers ein Bedarf besteht, in einer vorhandenen Datei eines Tabellenkalkulationsprogramms, mit der der Benutzer vertraut ist, neue Dateneinheiten zu erzeugen und zu bearbeiten.
    • • Mit Ausnahme des gewöhnlichen Werkzeugs eines Tabellenkalkulationsprogramms enthält sie keinen Mechanismus, der die direkte Aktualisierung des Ausgabearbeitsblatts ermöglicht.
    • • Sie enthält keine Funktion, mit der sich in derselben Arbeitsblattdatei eine veränderliche Anzahl von unterschiedlichen Strukturen und eine veränderliche Anzahl von Instanzen einer jeden dieser Struktur bearbeiten lässt. Der Abstufungsgrad ist auf die Arbeitsblattdatei beschränkt, während der erforderliche Abstufungsgrad ein strukturierter Zellenbereich ist.
    • • Die so genannte "Dateiformat-Spezifikation" mischt in Wirklichkeit Strukturinformationen (wie zum Beispiel die Anzahl und die relative Position der Spalten und Zeilen), Präsentationsinformationen (wie zum Beispiel Schriftart, Farbe, Hintergrund usw.), und inhaltliche Informationen (wie zum Beispiel Formeln usw.).
  • Die Patentanmeldung WO 03/014987 mit dem Titel "System and method in a spreadsheet for exporting-importing the content of input cells from a scalable template instance to another", International Business Machines Corporation, veröffentlicht am 20. Februar 2003, beschreibt skalierbare Vorlagen, mit denen sich erweiterbare tabellarische Strukturen in Arbeitsblättern erzeugen lassen, jedoch sind diese Vorlagen nicht rekursiv, d.h., sie können nicht verschachtelt werden, um komplizierte hierarchische Strukturen in einem Arbeitsblatt zu erzeugen, die bearbeitet werden können.
  • Zusammenfassung der Erfindung
  • Wie in den unabhängigen Ansprüchen dargelegt ist, betrifft die vorliegende Erfindung ein Verfahren, ein System und ein Programm in einer mehrdimensionalen elektronischen Datentabelle, die eine Vielzahl von Daten umfasst, vorzugsweise in einem mehrdimensionalen elektronischen Arbeitsblatt, das eine Vielzahl von Zellen umfasst, die zur Erzeugung einer rekursiven skalierbaren Vorlageninstanz oder einer Vielzahl von rekursiven skalierbaren Vorlageninstanzen dienen; wobei eine rekursive skalierbare Vorlageninstanz eine veränderliche Anzahl von zusammenhängenden rekursiven Elementinstanzen umfasst, die geordnet und entlang einer ersten Dimension einer Datentabelle ausgerichtet und entsprechend einer rekursiven skalierbaren Vorlage strukturiert werden; wobei eine rekursive Elementinstanz als eine Elementinstanz definiert ist, die eine skalierbare Vorlageninstanz oder eine Vielzahl von skalierbaren Vorlageninstanzen umfasst; wobei eine skalierbare Vorlageninstanz eine veränderliche Anzahl von Elementen umfasst, die entsprechend einer skalierbaren Vorlage strukturiert werden; wobei ein Element als ein Datenbereich definiert ist; wobei ein Datenbereich ein Datum oder eine Vielzahl von Daten umfasst; wobei eine rekursive skalierbare Vorlage ein rekursives Element umfasst, das eine skalierbare Vorlage oder eine Vielzahl von skalierbaren Vorlagen umfasst. Das Verfahren umfasst für jede zu erzeugende rekursive skalierbare Vorlageninstanz die folgenden Schritte:
    • • Auswählen einer rekursiven skalierbaren Vorlage;
    • • Festlegen einer Position zur Erzeugung einer rekursiven skalierbaren Vorlageninstanz;
    • • an der festgelegten Position Erzeugen von einer zusammenhängenden rekursiven Elementinstanz oder von einer Vielzahl von zusammenhängenden rekursiven Elementinstanzen, die geordnet und entlang einer ersten Dimension der Datentabelle ausgerichtet werden; wobei jede rekursive Elementinstanz eine veränderliche Größe entlang der ersten Dimension der Datentabelle und eine gleiche Größe entlang einer zweiten Dimension der Datentabelle hat;
    • • Strukturieren einer jeden rekursiven Elementinstanz entsprechend dem rekursiven Element, das für die rekursive skalierbare Vorlage festgelegt wurde;
    • • Ausrichten einer jeden skalierbaren Vorlageninstanz einer jeden rekursiven Elementinstanz entlang der ersten Dimension der Datentabelle;
    • • innerhalb einer jeden rekursiven Elementinstanz Ausrichten einer jeden skalierbaren Vorlageninstanz entlang der zweiten Dimension der Datentabelle.
  • Weitere Ausführungsformen der Erfindung sind in den beigefügten abhängigen Ansprüchen dargelegt.
  • Akronyme
  • Die folgenden Akronyme werden der Kürze halber verwendet:
    • • EF steht für "Element Format" (Elementformat).
    • • EP steht für "Element Profile" (Elementprofil).
    • • MEF steht für "Meta-element Format" ("Meta-Elementformat").
    • • MEP steht für "Meta-element Profile" ("Meta-Elementprofil").
    • • RE steht für "Recursive Element" (rekursives Element).
    • • RME steht für "Recursive Meta-Element" (rekursives Meta-Element).
    • • RST steht für "Recursive Scalable Template" (rekursive skalierbare Vorlage).
    • • RSTI steht für "Recursive Scalable Template Instance" (rekursive skalierbare Vorlageninstanz).
    • • ST steht für "Scalable Template" (skalierbare Vorlage).
    • STI steht für "Scalable Template Interface" (skalierbare Vorlagenschnittstelle).
  • Kurze Beschreibung der Zeichnungen
  • 1A ist eine schematische Darstellung eines Rechnersystems, in dem die vorliegende Erfindung realisiert werden kann.
  • 1B ist eine schematische Darstellung eines Software-Systems, das ein Betriebssystem, eine Anwendungssoftware und eine Benutzeroberfläche enthält, um die vorliegende Erfindung auszuführen.
  • 2 zeigt eine bevorzugte Benutzeroberfläche eines Tabellenkalkulationsprogramms gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung zur Verwaltung von RSTs.
  • 3 zeigt eine bevorzugte Benutzeroberfläche eines Tabellenkalkulationsprogramms gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung zur Bearbeitung von EFs.
  • 4 zeigt eine bevorzugte Benutzeroberfläche eines Tabellenkalkulationsprogramms gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung zur Bearbeitung von EPs.
  • 5 zeigt eine bevorzugte Benutzeroberfläche eines Tabellenkalkulationsprogramms gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung zur Bearbeitung von STs.
  • 6 zeigt eine bevorzugte Benutzeroberfläche eines Tabellenkalkulationsprogramms gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung zur Bearbeitung von RSTs.
  • Die 7A, 7B, 7C, 7D beziehungsweise 7E zeigen die Struktur der EF-Tabelle (EFT), der EP-Tabelle (EPT), der ST-Tabelle (STT), einer ST-Deskriptortabelle (STDT) und der STI-Tabelle (STIT) gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 7F ist eine grafische Darstellung der Beziehungen, die zwischen den Tabellen EFT, EPT, STT, STDT, STIT, RET, RSTT, RSTDT, RSTIT und RSTIDT gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung hergestellt werden.
  • 8 ist ein Flussdiagramm, das ein bevorzugtes Verfahren zur Verwaltung von RST-Objekten gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt.
  • 9 ist ein Flussdiagramm, das ein bevorzugtes Verfahren zur Bearbeitung von EFs und MEFs gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt.
  • 10 ist ein Flussdiagramm, das ein bevorzugtes Verfahren zur Bearbeitung von EPs und MEPs gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt.
  • 11 ist ein Flussdiagramm, das ein bevorzugtes Verfahren zur Bearbeitung einer ST gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt.
  • 12 ist ein Flussdiagramm, das ein bevorzugtes Verfahren zur Bearbeitung einer RST gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt.
  • 13A zeigt eine bevorzugte Benutzeroberfläche eines Tabellenkalkulationsprogramms gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung zur Erzeugung von STIs.
  • 13B zeigt die Instanziierung einer ST gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 14A ist ein Flussdiagramm, das ein bevorzugtes Verfahren zur Instanziierung einer ST gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt.
  • 14B ist ein Flussdiagramm, das ein bevorzugtes Verfahren zur Erzeugung einer STI gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt.
  • 15A zeigt die logische Struktur einer RSTI gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 15B zeigt die logische Struktur einer RST gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • Die 16A und 16B stellen ein Flussdiagramm dar, das ein bevorzugtes Verfahren zur Erzeugung von RSTIs gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt.
  • Die 17A, 17B, 17C, 17D, 17E und 17F zeigen jeweils die Struktur der RE-Tabelle (RET), der RST-Tabelle (RSTT), der RST-Manager-Tabelle (RSTMT), einer RST-Deskriptortabelle (RSTDT), der RSTI-Tabelle (RSTIT) und einer RSTI-Deskriptortabelle (RSTIDT).
  • 18A zeigt eine bevorzugte Benutzeroberfläche eines Tabellenkalkulationsprogramms gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung zur Erzeugung von RSTIs.
  • 18B zeigt eine bevorzugte Benutzeroberfläche eines Tabellenkalkulationsprogramms gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung zur Bearbeitung von REs.
  • 18C ist ein Flussdiagramm, das ein bevorzugtes Verfahren zur Bearbeitung von REs in RSTs gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt.
  • 19A ist ein Flussdiagramm, das ein bevorzugtes Verfahren zur Berechnung der Anzahl der Zeilen, die in einer STI enthalten sind, gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • 19B ist ein Flussdiagramm, das ein bevorzugtes Verfahren zur Berechnung der Anzahl der Spalten, die in einer STI enthalten sind, gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • Ausführliche Beschreibung der bevorzugten Ausführungsform
  • SYSTEM-HARDWARE: Wie in 1A gezeigt ist, kann die vorliegende Erfindung auf einem Rechnersystem 100 realisiert werden, das einen Zentralprozessor 101, einen Hauptspeicher 102, eine Eingabe/Ausgabe-Steuereinheit 103, eine Tastatur 104, eine Zeigeeinheit 105 (z.B. eine Maus, eine Rollkugel, eine Stifteinheit oder dergleichen), einen Bildschirm 106 und einen Massenspeicher 107 (z.B. eine Festplatte) umfasst. Auf Wunsch können zusätzliche Eingabe-/Ausgabeeinheiten wie zum Beispiel eine Druckeinheit 108 in dem System 100 enthalten sein. Wie gezeigt ist, tauschen die verschiedenen Komponenten des Systems 100 über einen Systembus 110 oder eine ähnliche Architektur Daten aus. In einer bevorzugten Ausführungsform enthält das Rechnersystem 100 einen IBM-kompatiblen Personal Computer, der von mehreren Lieferanten (einschließlich der International Business Machines – IBM Corporation mit Sitz in Armonk, N.Y.) bezogen werden kann. Wie in 1B gezeigt ist, ist ein Rechner-Softwaresystem 150 bereitgestellt, um den Betrieb des Rechnersystems 100 zu steuern. Das Softwaresystem 150, das im Systemspeicher 102 und auf dem Plattenspeicher 107 gespeichert ist, enthält einen Kern oder ein Betriebssystem 151 und eine Shell oder eine Schnittstelle 153. Ein oder mehrere Anwendungsprogramme wie zum Beispiel die Anwendungssoftware 152 können zur Ausführung durch das System 100 "geladen" (d.h. vom Plattenspeicher 107 in den Systemspeicher übertragen) werden. Das System 100 empfängt über die Benutzerschnittstelle 153 Befehle und Daten vom Benutzer; diese Eingaben können dann vom System 100 entsprechend Befehlen vom Betriebsmodul 151 und/oder vom Anwendungsmodul 152 bearbeitet werden. Die Schnittstelle 153 bei der es sich vorzugsweise um eine grafische Benutzeroberfläche (GUI) handelt, dient auch zur Anzeige von Ergebnissen, woraufhin der Benutzer weitere Eingaben machen oder die Sitzung beenden kann. In einer bevorzugten Ausführungsform sind das Betriebssystem 151 und die Schnittstelle 153 vom Typ Microsoft Win95, die von der Microsoft Corporation mit Sitz in Redmond, Washington, USA, erhältlich sind. Das Anwendungsmodul 152 enthält andererseits ein Arbeitsblatt-Notizbuch der vorliegenden Erfindung, das hier nachstehend ausführlich beschrieben wird.
  • SCHNITTSTELLE: Die folgenden Beschreibungen konzentrieren sich auf die derzeit bevorzugten Ausführungsformen der vorliegenden Erfindung, welche die in der internationalen Patentanmeldung PCT/EP 02/09483 (IBM-Aktenzeichen FR9 2001 0029 ) mit dem Titel "System and method in an electronic spreadsheet for exporting-importing the content of input cells from a scalable template instance to another" von Aureglia u.a. beschriebenen Benutzerschnittstellen realisieren.
  • VERWALTUNG VON REKURSIVEN SKALIERBAREN VORLAGEN
  • A. Einführung
  • Das Konzept von skalierbaren Vorlagen (STs)
  • Herkömmliche elektronische Arbeitsblätter enthalten ein integriertes Mittel, das es den Benutzern eines Tabellenkalkulationsprogramms ermöglicht, Daten ohne Weiteres in Spalten und Zeilen zu gliedern, während es gleichzeitig umständliche Berechnungen automatisiert. Diese Gruppe von gegliederten Daten kann entweder in einen einzelnen Zellenbereich oder in einen aus mehreren Zellenbereichen bestehende Gruppe aufgenommen werden. Der Zellenbereich ist ein ziemlich nützliches und in einer Tabellenkalkulationsumgebung in großem Umfang verwendetes Objekt. Er kann als eine ganze Dateneinheit festgelegt und verarbeitet werden. Gemäß der in der internationalen Patentanmeldung PCT/EP 02/09483 (IBM-Aktenzeichen FR9 2001 0029 ) beschriebenen Erfindung gibt es Systeme und Verfahren, die dem Benutzer eines Tabellenkalkulationsprogramms Folgendes ermöglichen:
    • • Festlegen einer Struktur für einen Zellenbereich, die Folgendes enthält:
    • • (i) einen optionalen Kopfzeilenteil, der aus einem oder mehreren Meta-Elementen besteht;
    • • (ii) einen zwingend notwendigen Hauptteil, der aus einem oder mehreren Elementen besteht;
    • • (iii) einen optionalen Fußzeilenteil, der aus einem oder mehreren Meta-Elementen besteht.
  • Die Struktur eines jeden Meta-Elements des Kopfzeilenteils kann in Bezug auf die Attribute von einem MEF und in Bezug auf den Inhalt von einem MEP festgelegt werden.
  • Die Struktur von allen Elementen des Hauptteils kann in Bezug auf die Attribute von einem EF und in Bezug auf den Inhalt von einem EP festgelegt werden.
  • Die Struktur eines jeden Meta-Elements des Fußzeilenteils kann in Bezug auf die Attribute von einem MEF und in Bezug auf den Inhalt von einem MEP festgelegt werden.
  • Diese Struktur wird als ST bezeichnet. Zusammenfassend kann gesagt werden, dass die ST eine Struktur festlegt, indem sie die Anzahl der Fehler angibt, indem sie sich auf ein aus EF und EP bestehendes Paar bezieht, das alle Elemente des Hauptteils festlegt, und indem sie sich optional auf ein oder mehrere aus MEF und MEP bestehende Paare bezieht, die jedes Meta-Element des Kopfzeilenteils oder des Fußzeilenteils festlegen.
    • • Verwalten von STs und darunter festgelegten Objekten, die als EFs, EPs, MEFs und MEPs bezeichnet werden.
    • • Erzeugen oder Aktualisieren von EFs, MEFs.
    • • Erzeugen oder Aktualisieren von EPs, MEPs.
    • • Erzeugen oder Aktualisieren einer ST.
    • • Erzeugen einer STI, die sich an eine festgelegte ST hält.
    • • Einfügen von einem Element oder von einer Vielzahl von Elementen in eine STI.
    • • Entfernen von einem Element oder von einer Vielzahl von Elementen aus einer STI.
  • Der vorstehende Satz von Funktionen wird von einem Satz von Werkzeugen unterstützt:
    • • dem "RST-Manager"-Verfahren oder kurz RSTM-Verfahren;
    • • dem "EF-Editor"-Verfahren oder kurz EFE-Verfahren;
    • • dem "EP-Editor"-Verfahren oder kurz EPE-Verfahren;
    • • dem "ST-Editor"-Verfahren oder kurz STE-Verfahren;
    • • dem "ST-Instanziator"-Verfahren oder kurz STI-Verfahren;
  • Das Konzept von rekursiven skalierbaren Vorlagen (RSTs)
  • Nachdem das Konzept von STs und STIs vorgestellt wurde, lässt sich das Konzept von RSTs und RSTIs nun leichter verstehen. Tatsächlich kann eine RST als eine Struktur mit zwei Ebenen betrachtet werden. Die höchste Ebene ist logisch gleichwertig mit der Struktur einer ST, einer Gruppe aus einem strukturierten RE und strukturierten RMEs, die logisch auf ein Element und auf Meta-Elemente abgebildet werden kann. Die Rekursivität einer RST tritt auf der unteren Strukturebene in Erscheinung, weil das RE und die RMEs Objekte sind, die selbst STIs enthalten (anstelle herkömmlicher Zellen eines Arbeitsblatts, wie es der Fall bei Elementen und Meta- Elementen ist). Anders ausgedrückt, eine RST ist eine in Schichten unterteilte Struktur von STs. Wenn eine RST instanziiert wird, lässt sich die Struktur der sich daraus ergebenden RSTI mit deren Gemeinsamkeiten beschreiben. Auf einer höheren Ebene stellt eine RSTI eine Struktur dar, die logisch gleichwertig mit der Struktur einer STI ist, jedoch nicht aus einzelnen Zellen, sondern aus Behälterbereichen (container ranges) gebildet wird. In einem jeden Behälterbereich gibt es eine Struktur einer unteren Ebene in Form von STIs. Folglich kann eine RSTI als eine STI betrachtet werden, die selbst STIs anstelle von herkömmlichen Zellen enthält. Ein solches Objekt wurde daher zuerst unter der Bezeichnung einer "Anordnung von strukturierten Zellenbereichen" eingeführt. Nun Bezug nehmend auf die 15A und 15B wird die vorliegende Erfindung anhand eines einfachen Beispiels einer solchen RST und RSTI veranschaulicht. Zuerst Bezug nehmend auf 15B legt die RST 2051 mit der Bezeichnung "RST_customer" die Struktur fest, an die sich ein Netzwerkdiensteanbieter hält, um all die verschiedenen Daten zu erfassen, die einem Kunden entsprechen, der Netzwerkdienste in Anspruch nimmt. Diese RST ist um eine Struktur aufgebaut, die Folgendes umfasst:
    • • einen Kopfzeilenteil 2052, in dem die Kundendaten (wie zum Beispiel Firmenname, Adresse, Branche, Vertragsablauf usw.) entsprechend der Struktur einer ST mit der Bezeichnung "ST_cust_data" erfasst werden, in dem die Ansprechpartner des Kunden (wie zum Beispiel der Geschäftsführer (CEO), der Leiter der Informationstechnologie (CIO), der Leiter der Finanzabteilung (CFO), leitende Angestellte usw.) entsprechend der Struktur einer ST mit der Bezeichnung "ST_contacts" erfasst werden, in dem die vertraglich festgelegten Dienstgütevereinbarungen entsprechend der Struktur einer ST mit der Bezeichnung "ST_SLA" erfasst werden und in dem das Kundendienst-Team (wie zum Beispiel der Ansprechpartner in der Übergangsphase (transition manager), der Ansprechpartner bei Fragen zur Lieferung/Bereitstellung (delivery manager) der Ansprechpartner bei auftretenden Problemen (solution manager) usw.) entsprechend der Struktur einer ST mit der Bezeichnung "ST_support_team" erfasst werden;
    • • einen Hauptteil 2053, in dem für jede Kundenressource, für die der Diensteanbieter Dienste erbringt, die zur Verwaltung dieser Ressource erforderlichen Daten (wie zum Beispiel Standort, IP-Adresse, Konfiguration, Datei usw.) entsprechend der Struktur einer ST mit der Bezeichnung "ST_res_info" erfasst werden und in dem für dieselbe Ressource das aktuelle Fehlerprotokoll entsprechend der Struktur einer ST mit der Bezeichnung "ST_pb_log" aufgezeichnet wird.
    • • einen Fußzeilenteil 2054, in dem der Abrechnungsstatus für diesen Kunden entsprechend der Struktur einer ST mit der Bezeichnung "ST_billing" und in dem die Fehlerstatistiken für die vom Kunden verwalteten Ressourcen entsprechend der Struktur einer ST mit der Bezeichnung "ST_stats" erfasst werden.
  • Nun Bezug nehmend auf 15B übernimmt die RSTI 2001 die Struktur der RST 2051 "RST_customer". Tatsächlich ist sie auch um eine Struktur aufgebaut, die einen Kopfzeilenteil 2002, einen Hauptteil 2003 und einen Fußzeilenteil 2004 umfasst. Der Kopfzeilenteil 2002 enthält vier STIs, die selbst entsprechend der Struktur des RST-Kopfzeilenteils 2052 aufgebaut sind und die Strukturen der STs "ST_cust_data", "ST_contacts", "ST_SLA" und "ST_support_team" übernehmen. Der Hauptteil 2003 setzt sich aus drei verschiedenen Datensätzen 2010, 2009 und 2008 zusammen, von denen jeder entsprechend der Struktur des RST-Hauptteils 2053 aufgebaut ist, der zwei STIs umfasst, welche die Strukturen der STs "ST_res_info" und "ST_cpb_log" übernehmen. Schließlich enthält der Fußzeilenteil 2004 zwei STIs, die selbst entsprechend der Struktur des RST-Fußzeilenteils 2054 aufgebaut sind und die Strukturen der STs "ST_billing" und "ST_stats" übernehmen. Häufig werden auch mehrere Instanzen von ähnlich rekursiv strukturierten Zellenbereichen verwendet. Im Rahmen der Logik unseres Beispiels, die vorstehend beschrieben wurde und in 15A veranschaulicht ist, wird ein ähnlich rekursiv strukturierter Zellenbereich für jeden Kunden auf einem neuen Blatt erzeugt. In dem aktuellen Kontext einer Tabellenkalkulationsumgebung, in der eigentlich kein anderes Werkzeug zur Verfügung steht, werden Instanzen von solch ähnlich rekursiv strukturieren Zellenbereichen häufig mittels der Operationen "Ausschneiden/kopieren und einfügen" erzeugt. Wir haben bereits die Einschränkungen von herkömmlichen Werkzeugen zur Erzeugung von STIs beschrieben. Die Erzeugung einer RSTI ist aufgrund der Struktur mit zwei Ebenen, die eine RSTI aufweist, noch schwieriger und fehleranfälliger. Tatsächlich besteht die zusätzliche Schwierigkeit, die bei der Bearbeitung von solchen rekursiven Objekten auftritt, darin, die Strukturebene festzustellen, auf der eine bestimmte Operation (zum Beispiel das Kopieren und Einfügen eines rekursiven Objekts, das Kennzeichnen von Bereichen, die Rohdaten oder strukturspezifische Daten enthalten, in einem rekursiven Objekt, das Anpassen der Größe eines rekursiven Objekts, das Löschen des Inhalts von bestimmten Feldern in einem rekursiven Objekt, das Beheben eines Fehlers, der durch vorherige Operationen, welche auf ein rekursives Objekt angewendet wurden, verursacht wurde, und das Eingeben von Standardwerten in bestimmte Felder in einem rekursiven Objekt) stattfinden soll. Außerdem muss der Benutzer den Platz für den kopierten rekursiv strukturierten Zellenbereich an der Zielposition vorbereiten, bevor die Kopieren-und-Einfügen-Operation an dem rekursiv strukturierten Zellenbereich stattfindet, wobei das Risiko besteht, dass, wenn dies nicht geschieht, die bereits vorhandenen Daten an dieser Stelle überschrieben werden und folglich verloren gehen. Die Abfolge der Operationen, die vorstehend beschrieben wurde, wird schnell umständlich, langwierig und fehleranfällig, vor allem, weil der Benutzer bei Verwendung von herkömmlichen Werkzeugen bei der Größe und Komplexität von rekursiv strukturierten Zellenbereichen schnell an seine Grenzen stößt. In einer bevorzugten Ausführungsform der vorliegenden Erfindung wird eine benutzerfreundliche Lösung für diese Probleme vorgeschlagen, indem man dem Benutzer eines Tabellenkalkulationsprogramms Folgendes ermöglicht:
    • • Festlegen einer Überstruktur für einen Zellenbereich, die Folgendes enthält:
    • • (i) einen optionalen Kopfzeilenteil, der aus einem oder mehreren RMEs besteht;
    • • (ii) einen zwingend notwendigen Hauptteil, der aus einem RE besteht;
    • • (iii) einen optionalen Fußzeilenteil, der aus einem oder mehreren RMEs besteht.
  • Die Struktur eines jeden RME des Kopfzeilenteils wird als eine geordnete Zusammenstellung von Überstruktur-Feldern festgelegt, von denen jedes einer ST entspricht. Die Struktur aller REs des Hauptteils wird als eine geordnete Zusammenstellung von Überstruktur-Feldern festgelegt, von denen jedes einer ST entspricht. Die Struktur eines jeden RME des Fußzeilenteils wird als eine geordnete Zusammenstellung von Überstruktur-Feldern festgelegt, von denen jedes einer ST entspricht. Diese Überstruktur wird als eine RST bezeichnet. Zusammenfassend kann gesagt werden, dass die RST eine Überstruktur festlegt, indem sie die Anzahl der Fehler angibt, indem sie sich auf ein RE bezieht, das den Hauptteil festlegt, und indem sie sich optional auf ein oder mehrere RMEs bezieht, die den Kopfzeilenteil und/oder den Fußzeilenteil festlegen.
    • • Verwalten von RSTs und darunter festgelegten Objekten, die als REs und RMEs bezeichnet werden.
    • • Erzeugen oder Aktualisieren von REs.
    • • Erzeugen oder Aktualisieren von RMEs.
    • • Erzeugen oder Aktualisieren einer RST.
    • • Erzeugen einer RSTI, die sich an eine festgelegte RST hält.
  • Der vorstehende Satz von Funktionen wird von einem Satz von Werkzeugen unterstützt:
    • • dem "RST-Manager"-Verfahren oder kurz RSTM-Verfahren;
    • • dem "RE-Editor"-Verfahren oder kurz REE-Verfahren;
    • • dem "RST-Editor"-Verfahren oder kurz RSTE-Verfahren;
    • • dem "RST-Instanziator"-Verfahren oder kurz RSTI-Verfahren.
  • Dieser Satz von Funktionen wird in den folgenden Abschnitten wesentlich ausführlicher behandelt. In unserem Beispiel wird eine RST erzeugt, um die allgemeingültige Struktur der "NSP Customer Repository" (NSP-Kundendatenarchiv) festzulegen und auf diese Weise die Erzeugung von mehreren Instanzen des "NSP Customer Repository" zu vereinfachen. Nun Bezug nehmend auf 15B dient die RST, die die Struktur der "NSP Customer Repository" festlegt, zu Folgendem:
    • • (i) Sie gibt die Anzahl der Überstruktur-Felder, (2) in unserem Beispiel, an.
    • • (ii) Sie legt den Kopfzeilenteil 2052 des "NSP Customer Repository" durch die folgenden Schritte fest:
    • • Festlegen der Struktur einer ersten ST, "ST_cust_data", und einer zweiten ST, "ST_contacts".
    • • Festlegen der Struktur eines ersten RME 2058, das die beiden vorherigen STs umfasst.
    • • Festlegen der Struktur einer drittem ST, "ST_SLA", und einer vierten ST, "ST_support_team".
    • • Festlegen der Struktur eines zweiten RME 2057, das die beiden vorherigen STs umfasst.
    • • (iii) Sie legt den Hauptteil 2053 des "NSP Customer Repository" durch die folgenden Schritte fest:
    • • Festlegen der Struktur einer fünften ST, "ST_res_info", und einer sechsten ST, "ST_pb_log".
    • • Festlegen der Struktur eines RE 2056, das die beiden vorherigen STs umfasst.
    • • (iv) Sie legt den Fußzeilenteil 2054 des "NSP Customer Repository" durch die folgenden Schritte fest:
    • • Festlegen der Struktur einer ersten ST, "ST_billing", und einer zweiten ST, "ST_stats".
    • • Festlegen der Struktur eines RME 2055, das die beiden vorherigen STs umfasst.
  • Aus der vorstehenden RST 2051 können eine oder mehrere RSTIs wie zum Beispiel die in 15A gezeigte RSTI erzeugt werden, wobei sich so die vielen Fehlerrisiken vermeiden lassen, während die Kosten für den Benutzer sehr begrenzt sind.
  • B. Konzepte und Vokabular
  • Dieser Abschnitt hat den Zweck, sowohl bestimmte Konzepte (mit zugehörigen Objekten) als auch ein bestimmtes Vokabular, das unter dem Umfang der vorliegenden Erfindung festgelegt ist, zu formalisieren. In den folgenden Beschreibungen wird davon ausgegangen, dass elektronische Arbeitsblätter zwei Dimensionen (2D) haben, so dass Tabellen und Strukturen in einer zweidimensionalen Umgebung beschrieben werden können. Überdies wird davon ausgegangen, dass Tabellen senkrecht aufgebaut werden, so dass sich die Tabellenüberschriften ganz oben in der Tabelle und nicht links in der Tabelle befinden. Dadurch lässt sich die Beschreibung der verschiedenen ursprünglichen Konzepte, Objekte und Verfahren, die Teil der vorliegenden Erfindung sind, wesentlich klarer gestalten, doch schränkt dies den Umfang der Erfindung in keiner Weise ein. Anders ausgedrückt, die nachfolgende Beschreibung kann auf eine Umgebung mit zweidimensionalen Tabellen, die waagerecht aufgebaut werden, oder aber auf dreidimensionale Tabellen verallgemeinert werden.
  • B1. Einführende Definitionen
  • Strukturierter Zellenbereich (Structured Range of Cells): Ein strukturierter Zellenbereich ist ein Bereich von Zellen, der eine bestimmte Art einer Struktur übernimmt, die die Daten in Zeilen und Spalten gliedert. Spalten legen Felder fest, die darauf ausgelegt sind, in jeder Zeile dieselbe Art von Information zu enthalten. Zeilen legen Datensätze (oder Elemente) fest.
  • Tabelle: Der Begriff "Tabelle" dient zur Bezeichnung eines strukturierten Zellenbereichs.
  • Feld: Ein Feld ist eine bezeichnete Spalte in einer Datenbank oder Tabelle, die für jeden Datensatz (oder für jedes Element) dieselbe Art von Information enthält. Eine Kundentabelle kann zum Beispiel Felder mit den Bezeichnungen "Name", "Adresse" und "Telefonnummer" enthalten.
  • Durch Vergrößerung bezieht sich ein bestimmtes Feld in einem bestimmten Datensatz (oder Element) auf die Zelle, die sich am Schnittpunkt des Datensatzes (oder Elements) und des bestimmten Feldes (bezeichnete Spalte) befindet.
  • Die vorstehenden Definitionen gelten für eine zweidimensionale Umgebung, in der Spalten Felder und Zeilen Datensätze festlegen. Sie können in eine zweidimensionale Umgebung umgesetzt werden, in der Zeilen Felder und Spalten Datensätze festlegen. Sie können auch in eine dreidimensionale Umgebung umgesetzt werden, in der beispielsweise einzelne Arbeitsblätter Datensätze festlegen.
  • EIN-/AUS-Zelle: Eine Zelle wird als eine "EIN"-Zelle angegeben, wenn davon ausgegangen wird, dass sie zur Aufnahme von Daten, die vom Benutzer bereitgestellt werden, verwendet wird. Eine Zelle wird als eine "AUS"-Zelle angegeben, wenn davon ausgegangen wird, dass sie zur Erzeugung von Daten (die man im Allgemeinen durch Formeln erhält, deren Argumente sich direkt oder indirekt auf "EIN"-Zellen beziehen) verwendet wird.
  • B2. Objekt-Definitionen
  • Die folgenden Objekte werden definiert, damit sich die Erfindung leichter verstehen lässt.
  • Elementformat: Ein Elementformat (EF) ist ein Objekt eines Arbeitsblatts, das die Struktur eines Elements in einem zweidimensionalen oder einem dreidimensionalen Zellenbereich in Bezug auf Formatattribute festlegt:
    • • Hintergrundattribute (Farbe, Hintergrundschema usw. ...),
    • • Ausrichtungsattribute (waagerecht, senkrecht, Zeilenumbruch, spaltenübergreifende Ausrichtung usw. ...),
    • • Schriftartattribute (Größe, Farbe, usw. ...),
    • • Zeilenattribute (Typ, Farbe, usw. ...),
    • • Schutz des Feldes
    • • sowie beliebige andere herkömmliche Formatattribute.
  • Meta-Elementformat: Ein Meta-Elementformat (MEF) ist ein Objekt eines Arbeitsblatts, das die Struktur eines Meta-Elements in einem zweidimensionalen oder einem dreidimensionalen Zellenbereich in Bezug auf Formatattribute festlegt:
    • • Hintergrundattribute (Farbe, Hintergrundschema usw. ...),
    • • Ausrichtungsattribute (waagerecht, senkrecht, Zeilenumbruch, Zusammenfassen von Zellen, usw. ...),
    • • Schriftartattribute (Größe, Farbe, usw. ...),
    • • Zeilenattribute (Typ, Farbe, usw. ...),
    • • Schutz des Feldes
    • • sowie beliebige andere herkömmliche Formatattribute.
  • Elementprofil: Ein Elementprofil (EP) ist ein Objekt eines Arbeitsblatts, das die Struktur eines Elements in einem zweidimensionalen oder einem dreidimensionalen Zellenbereich in Bezug auf den Inhalt und die Bestimmung festlegt:
    • • Formeln für Felder, die aus Daten berechnet werden sollen, die in anderen Feldern desselben Elements oder in anderen Feldern eines anderen Elements oder Meta-Elements derselben STI oder selbst in anderen Feldern außerhalb der STI enthalten sind.
    • • Standardwerte von Feldern, welche zum Zeitpunkt der Erzeugung des Elements zuzuweisen sind.
    • • Bestimmung der Zellen (Dateneingabe für "EIN"-Zellen oder Daten, die für "AUS"-Zellen erzeugt werden).
  • Meta-Elementprofil: Ein Meta-Elementprofil (MEP) ist ein Objekt eines Arbeitsblatts, das die Struktur eines Meta- Elements in einem zweidimensionalen oder einem dreidimensionalen Zellenbereich in Bezug auf den Inhalt und die Bestimmung festlegt:
    • • Formeln für Zellen, die aus Daten berechnet werden sollen, die in anderen Zellen desselben Elements oder in anderen Zellen eines anderen Elements oder Meta-Elements derselben STI oder selbst in anderen Zellen außerhalb der STI enthalten sind.
    • • Standardwerte von Zellen, welche zum Zeitpunkt der Erzeugung des Meta-Elements zuzuweisen sind.
    • • Bestimmung der Zellen (Dateneingabe für "EIN"-Zellen oder Daten, die für "AUS"-Zellen erzeugt werden).
  • Skalierbare Vorlage (wird auch als "Vorlage" oder "ST" bezeichnet): Eine ST ist ein Objekt eines Arbeitsblatts, das die Struktur eines zweidimensionalen oder dreidimensionalen Zellenbereichs in Bezug auf die Anordnung von {Element + Meta-Elemente} festlegt. Das Wort "skalierbar" bezieht sich auf die Fähigkeit der ST, eine bestimmte Struktur für Zellenbereiche veränderlicher Größe (die z.B. von einem Mindestwert bis zu einem Höchstwert reichen) festzulegen. Die ST legt eine Struktur fest, indem sie:
    • • die Anzahl der Felder angibt,
    • • sich auf ein aus EF und/oder EP bestehendes Paar bezieht, das jedes Element des Hauptteils festlegt, und
    • • sich optional auf ein oder mehrere aus MEFs und/oder MEPs bestehende Paare bezieht.
  • In einer zweidimensionalen Umgebung befinden sich diese MEFs/MEPs entweder über dem EF/EP, das den "Kopfzeilen"-Teil der ST bildet, oder unter dem EF/EP, das den "Fußzeilen"-Teil der ST bildet. Der "Kopfzeilen"-Teil der ST oder aber der "Fußzeilen"-Teil der ST oder beide können leer sein. Wenn die Verweise auf das Element und das Meta-Element nur von EPs und MEPs gebildet werden, verfügt die ST nur über Inhalt-Informationen und kann folglich als skalierbare profilierte Vorlage (Scalable Profiled Template) bezeichnet werden. Wenn die Verweise auf das Element und das Meta-Element nur von EFs und MEFs gebildet werden, verfügt die ST nur über Format-Informationen und kann folglich als skalierbare formatierte Vorlage (Scalable Formatted Template) bezeichnet werden. Wenn die Verweise auf das Element und das Meta-Element von einer beliebigen Kombination aus EPs und EFs gebildet werden, verfügt die ST sowohl über Profil- als auch über Format-Informationen und kann folglich als skalierbare profilierte und formatierte Vorlage (Scalable Profiled & Formatted Template) bezeichnet werden.
  • Skalierbare Vorlageninstanz (wird auch als "Instanz" oder "skalierbare Instanz" oder "STI" bezeichnet): Eine STI ist ein Objekt eines Arbeitsblatts, das die Struktur einer festgelegten ST übernimmt: einer skalierbaren formatierten Vorlage oder einer skalierbaren profilierten Vorlage oder einer skalierbaren profilierten und formatierten Vorlage. Eine STI kann als ein Erbobjekt einer ST betrachtet werden. Sie enthält eine veränderliche Anzahl von Elementen (mindestens eines), die in jedem Feld Daten enthalten, der Elternstruktur entsprechen und den "Hauptteil" darstellen, sowie optional zusätzlich ein oder mehrere Meta-Elemente, die von der ST festgelegt werden und den "Kopfzeilen"-Teil und den "Fußzeilen"-Teil der STI bilden.
  • Element: Ein Element ist ein Objekt eines Arbeitsblatts, das zu einer STI gehört und aus grundlegenden Feldern besteht, die entweder ein EF oder ein EP oder ein Paar (EF, EP) übernehmen, das in der Elternstruktur (skalierbare formatierte Vorlage oder skalierbare profilierte Vorlage beziehungsweise skalierbare profilierte und formatierte Vorlage) vorhanden ist. Ohne Beschränkung der Allgemeingültigkeit wird davon ausgegangen, dass ein Element immer ein Paar (EF, EP) übernimmt, wobei entweder das EF oder das EP auf ein ungültiges Objekt reduziert werden kann.
  • Meta-Element: Ein Meta-Element ist ein Objekt eines Arbeitsblatts, das zu einer STI gehört und aus grundlegenden Zellen besteht, die entweder ein MEF oder ein MEP oder ein Paar (MEF, MEP) übernehmen. Ohne Beschränkung der Allgemeingültigkeit wird davon ausgegangen, dass ein Meta-Element immer ein Paar (MEF, MEP) übernimmt, wobei entweder das MEF oder das MEP auf ein ungültiges Objekt reduziert werden kann.
  • Rekursives Element: Ein rekursives Element (RE) ist ein Objekt eines Arbeitsblatts, das zu einer RST gehört, den Hauptteil der RST bildet und aus grundlegenden Feldern besteht, die zur Erfassung der Namen von STs verwendet werden. Ein RE hat eine ähnliche Struktur wie ein Element, wird aber nicht als ein Bereich von Zellen, sondern als ein Bereich von STIs instanziiert.
  • Beispiel: Das RE der RST 2051, das in 15B gezeigt ist, entspricht der Struktur 2056, die den Hauptteil 2053 dieser RST bildet, und besteht aus zwei Feldern, die den jeweiligen Namen der STs, "ST_res_info" und "ST_pb_log", enthalten.
  • Rekursives Meta-Element: Ein rekursives Meta-Element (RME) ist ein Objekt eines Arbeitsblatts, das zu einer RST gehört, die zum Kopfzeilenteil und/oder zum Fußzeilenteil der RST gehört, und aus grundlegenden Feldern besteht, die zur Erfassung der Namen von STs verwendet werden. Ein RME hat eine ähnliche Struktur wie ein Meta-Element, wird aber nicht als ein Bereich von Zellen, sondern als ein Bereich von STIs instanziiert.
  • Beispiel: Ein RME der RST 2051, das in 15B gezeigt ist, entspricht der Struktur 2058, die zum Kopfzeilenteil 2052 dieser RST gehört, und besteht aus zwei Feldern, die den jeweiligen Namen der STs, "ST_cust_data" und "ST_contacts", enthalten.
  • Rekursive skalierbare Vorlage (wird auch als "Rekursive Vorlage" oder "RST" bezeichnet): Eine RST ist ein Objekt eines Arbeitsblatts, das die Überstruktur eines zweidimensionalen oder dreidimensionalen Zellenbereichs in Bezug auf die Anordnung von {RE + RMEs} festlegt. Das Wort "skalierbar" bezieht sich auf die Fähigkeit der RST, eine bestimmte Überstruktur für Zellenbereiche veränderlicher Größe (die z.B. von einem Mindestwert bis zu einem Höchstwert reichen) festzulegen. Die RST legt eine Überstruktur fest, indem sie:
    • • die Anzahl der Felder angibt,
    • • sich auf ein RE bezieht, das den Hauptteil der RST festlegt, und
    • • sich optional auf ein oder mehrere RMEs bezieht.
  • In einer zweidimensionalen Umgebung befinden sich diese RMEs entweder über dem RE, das den "Kopfzeilen"-Teil der RST bildet, oder unter dem RE, das den "Fußzeilen"-Teil der RST bildet. Der "Kopfzeilen"-Teil der RST oder aber der "Fußzeilen"-Teil der RST oder beide können leer sein.
  • Beispiel: Eine RST 2051 ist in 15B gezeigt. Sie setzt sich aus einem Kopfzeilenteil 2052, einem Hauptteil 2053 und einem Fußzeilenteil 2054 zusammen. Der Kopfzeilenteil umfasst zwei RMEs 2058 und 2057, die jeweils zwei Felder haben, welche den jeweiligen Namen der STs, "ST_cust_data", "ST_contacts" beziehungsweise "ST_SLA", "ST_support_team", enthalten. Der Hauptteil umfasst ein RE 2056 mit zwei Feldern, die den jeweiligen Namen der STs, "ST_res_info", "ST_pb_log", enthalten. Der Fußzeilenteil umfasst ein RME 2055 mit zwei Feldern, die den jeweiligen Namen der STs, "ST_billing", "ST_stats", enthalten.
  • Rekursive skalierbare Vorlageninstanz (wird auch als "rekursive Instanz" oder "rekursive skalierbare Instanz" oder "RSTI" bezeichnet): Eine RSTI ist ein Objekt eines Arbeitsblatts, das die Struktur einer festgelegten RST übernimmt: Eine RSTI kann als ein Erbobjekt einer RST betrachtet werden. Sie enthält eine veränderliche Anzahl von Behälterzeilen (mindestens eine), die eine STI oder eine Vielzahl von STIs enthalten, der Elternstruktur des RE entsprechen und den "Hauptteil" darstellen, sowie optional eine oder mehrere weitere Behälterzeilen, die eine STI oder eine Vielzahl von STIs enthalten, der Elternstruktur des RME entsprechen und den "Kopfzeilen"-Teil und den "Fußzeilen"-Teil der RSTI bilden.
  • Beispiel: Eine RSTI 2001 ist in 15A gezeigt. Diese RSTI hält sich an die RST 2051, wie in 15B gezeigt ist. Sie setzt sich aus einem Kopfzeilenteil 2002, einem Hauptteil 2003 und einem Fußzeilenteil 2004 zusammen. Der Kopfzeilenteil umfasst zwei Behälterzeilen 2012 und 2011. Der Hauptteil umfasst drei Behälterzeilen 2010, 2009 und 2008. Der Fußzeilenteil umfasst eine Behälterzeile 2007. Jede Behälterzeile enthält zwei Behälterbereiche wie beispielsweise den Behälterbereich 2014, der als Schnittpunkt der obersten Behälterzeile 2012 und der rechten Behälterspalte 2005 betrachtet werden kann. Jeder Behälterbereich enthält eine STI, die die Struktur der ST übernimmt, die als Teil des RE- oder des RME-Bestandteils der RST 2051 festgelegt wurde. Die STI 2034 beispielsweise, die sich am Behälterbereichs-Schnittpunkt der Behälterzeile 2010 und der Behälterspalte 2005 befindet, übernimmt die Struktur der ST mit der Bezeichnung "ST_pb_log", die im RME 2056 der RST 2051 festgelegt ist, und setzt sich selbst aus einem Kopfzeilenteil 2015, einem Hauptteil 2016 und einem Fußzeilenteil 2017 zusammen.
  • Behälterzeilen (container rows): Eine Behälterzeile ist ein Objekt eines Arbeitsblatts, das zu einer RSTI gehört und dem Zellenbereich entspricht, der die STIs enthält, welche entsprechend der Festlegung eines RE- oder RME-Teils der RST strukturiert sind, an die sich die RSTI hält. Die Anzahl der Zeilen einer Behälterzeile ist gleich der Anzahl der Zeilen der höchsten STI, die sie enthält. Eine Behälterzeile kann auch als eine rekursive Elementinstanz bezeichnet werden. Eine Behälterzeile in einer RSTI kann als eine gleichwertige Entsprechung eines Elements in einer STI betrachtet werden.
  • Beispiel: Die Behälterzeile 2012 ist in 15A gezeigt und entspricht dem Bereich von Zellen, der die STIs 2032 und 2013 umfasst, die in der RSTI 2001 festgelegt sind. Die Anzahl der Zeilen dieser Behälterzeile ist gleich der Anzahl der Zeilen der STI 2032, die höher als die Anzahl der Zeilen der STI 2013 ist.
  • Behälterspalten (container columns): Eine Behälterspalte ist ein Objekt eines Arbeitsblatts, das zu einer RSTI gehört und dem Zellenbereich entspricht, der die STIs enthält, welche dieselbe Position der Überstruktur in den Behälterzeilen der RSTI belegen. Die Anzahl der Spalten einer Behälterspalte ist gleich der Anzahl der Spalten der breitesten STI, die sie enthält.
  • Beispiel: Die Behälterzeile 2006 ist in 15A gezeigt und entspricht dem Bereich von Zellen, der die STIs umfasst, die die äußerste linke Position in der RSTI 2001 einnehmen. Die Anzahl der Spalten dieser Behälterspalte ist gleich der Anzahl der Spalten der STI 2030, die die breiteste STI auf der linken Seite der RSTI 2001 ist.
  • Behälterbereiche (container ranges): Ein Behälterbereich ist ein Objekt eines Arbeitsblatts, das zu einer RSTI gehört und dem Schnittpunkt von einer Behälterzeile und einer Behälterspalte entspricht. Jeder Behälterbereich enthält eine einzige STI, die die oberste und äußerste linke Ecke belegt. Eine Behälterzeile in einer RSTI kann als eine gleichwertige Entsprechung einer einzelnen Zelle in einer STI betrachtet werden.
  • Beispiel: Der Behälterbereich 2014 ist in 15A gezeigt und entspricht dem Schnittpunkt der Behälterzeile 2012 und der Behälterspalte 2005, die beide zur RSTI 2001 gehören. Dieser Behälterbereich 2014 enthält die STI 2013.
  • B3. Notationen
  • Die folgende Notation:
    Figure 00350001
    ai entspricht der Multiplikation der Terme ai, wobei der Index i zur Gruppe S gehört. Die folgende Notation:
    Figure 00350002
    entspricht dem kleinsten gemeinsamen Multiplikator der Terme ai, wobei der Index i zur Gruppe S gehört. Wenn S aus einem einzigen Element a besteht, ist
    Figure 00350003
    gleich a. Die folgende Notation: a Mod b entspricht dem Restwert der Division von a durch b.
  • C. Zur Verwaltung von RST-Objekten verwendete Tabellen
  • Wie im vorhergehenden Abschnitt einleitend beschrieben wurde, arbeitet die bevorzugte Ausführungsform der vorliegenden Erfindung mit verschiedenen Arten von Objekten zur Verwaltung von RSTs. Diese Objekte werden in verschiedenen Datenarchiven abgelegt, so dass mit den verschiedenen Verfahren, die Teil der bevorzugten Ausführungsform der vorliegenden Erfindung sind, auf sie zugegriffen werden kann und diese Objekte aktualisiert werden können. Diese Datenarchive werden als Tabellen bezeichnet:
    • • die EF-Tabelle oder kurz EFT,
    • • die EP-Tabelle oder kurz EPT,
    • • die ST-Tabelle oder kurz STT,
    • • die ST-Deskriptortabelle oder kurz STDT,
    • • die ST-Instanziatortabelle oder kurz STIT,
    • • die RE-Tabelle oder kurz RET,
    • • die RST-Tabelle oder kurz RSTT,
    • • die RST-Manager-Tabelle oder kurz RSTMT,
    • • die RST-Deskriptortabelle oder kurz RSTIT,
    • • die RSTI-Tabelle oder kurz RSTIT,
    • • die RSTI-Deskriptortabelle oder kurz RSTIDT.
  • Die Tabellen EFT, EPT, STT, STDT, STIT, RET, RSTT, RSTDT, RSTIT und RSTIDT werden als Teil der Arbeitsblatt-Festplattendatei im Massenspeicher 107 gespeichert, wohingegen die RSTMT-Tabelle im Hauptspeicher 102 zwischengespeichert wird.
  • C1. EF-Tabelle
  • Nun Bezug nehmend auf 7A entspricht die EFT-Tabelle 700 einer einfachen logischen Struktur, die aus mehreren Datensätzen 701 besteht, von denen jeder einem EF oder einem MEF gemäß der vorliegenden Erfindung entspricht. Jeder Datensatz enthält sechs Felder:
    • • Das Feld "Name" 702 wird zur Erfassung einer Zeichenfolge verwendet, die das von dem aktuellen Datensatz 701 beschriebene EF oder MEF eindeutig ausweist.
    • • Das Feld "Last Change Date" 703 wird zur Erfassung des Datums der letzten Aktualisierung des von dem aktuellen Datensatz 701 beschriebenen EF oder MEF verwendet.
    • • Das Feld "Description Ptr" 704 ist ein Verweis, der auf den Speicherplatz zeigt, an dem ein der Veranschaulichung dienender Zellenbereich abgelegt wird, der das von dem aktuellen Datensatz 701 beschriebene EF oder MEF zeigt. Dieser Speicherplatz kann sich entweder im Massenspeicher 107 oder im Hauptspeicher 102 oder in einem anderen herkömmlichen Archiv-Speichermittel befinden, ohne von der Wesensart der vorliegendem Erfindung abzuweichen.
    • • Das Feld "Row #" 705 wird zur Erfassung der Anzahl der Zeilen verwendet, die in dem von dem aktuellen Datensatz 701 beschriebenen EF oder MEF vorhanden sind. Dieses Feld ist für dreidimensionale STs von Bedeutung, bei denen Elemente oder MEFs zweidimensionalen Strukturen entsprechen. In der bevorzugten Ausführungsform der vorliegenden Erfindung, bei der von zweidimensionalen STs ausgegangen wird, wird in dieses Feld immer der Wert 1 eingegeben.
    • • Das Feld "Column #" 706 wird zur Erfassung der Anzahl der Spalten verwendet, die in dem von dem aktuellen Datensatz 701 beschriebenen EF oder MEF vorhanden sind.
    • • Das Feld "Type" 707 wird zur Erfassung von verschiedenen Attributen verwendet, die zu dem EF oder dem MEF gehören, das von dem aktuellen Datensatz 701 beschrieben wird: Dies. sind das "META"-Attribut 708, das angibt, ob der aktuelle Datensatz 701 ein EF oder ein MEF (mit den jeweiligen Werten "NEIN" und "JA") beschreibt, und das Attribut "REFERENCED" 709, das mittels eigens dafür vorgesehener Teilfelder (709a, 709b, 709c, 709d and 709e) die Beziehungen zu anderen Objekten angibt. Diese Teilfelder werden als Teil der Beschreibung des Attributs "REFERENCED" 2240 beschrieben. Zur Codierung dieser verschiedenen Attribute in diesem Feld "Type" können herkömmliche Verfahren zur Anwendung kommen, wie zum Beispiel die Durchführung von bitweisen Exklusiv-ODER-(XOR-)Operationen mit vorher festgelegten Bitmustern, aber jedes andere herkömmliche Mittel könnte stattdessen ebenfalls verwendet werden.
  • C2. EP-Tabelle
  • Nun Bezug nehmend auf 7B entspricht die EPT-Tabelle 710 einer einfachen logischen Struktur, die aus mehreren Datensätzen 711 besteht, von denen jeder einem EP oder einem MEP gemäß der vorliegenden Erfindung entspricht. Jeder Datensatz enthält sechs Felder:
    • • Das Feld "Name" 712 wird zur Erfassung einer Zeichenfolge verwendet, die das von dem aktuellen Datensatz 711 beschriebene EF oder MEP eindeutig ausweist.
    • • Das Feld "Last Change Date" 713 wird zur Erfassung des Datums der letzten Aktualisierung des von dem aktuellen Datensatz 711 beschriebenen EP oder MEP verwendet.
    • • Das Feld "Description Ptr" 714 ist ein Verweis, der auf den Speicherplatz zeigt, an dem ein der Veranschaulichung dienender Zellenbereich abgelegt wird, der das von dem aktuellen Datensatz 711 beschriebene EP oder MEP zeigt. Dieser Speicherplatz kann sich entweder im Massenspeicher 107 oder im Hauptspeicher 102 oder in einem anderen herkömmlichen Archiv-Speichermittel befinden.
    • • Das Feld "Row #" 715 wird zur Erfassung der Anzahl der Zeilen verwendet, die in dem von dem aktuellen Datensatz 711 beschriebenen EP oder MEP vorhanden sind. Dieses Feld ist für dreidimensionale STs von Bedeutung, bei denen Elemente oder MEPs zweidimensionalen Strukturen entsprechen. In der bevorzugten Ausführungsform der vorliegenden Erfindung, bei der von zweidimensionalen STs ausgegangen wird, wird in dieses Feld immer der Wert 1 eingegeben.
    • • Das Feld "Column #" 716 wird zur Erfassung der Anzahl der Spalten verwendet, die in dem von dem aktuellen Datensatz 711 beschriebenen EP oder MEP vorhanden sind.
    • • Das Feld "Type" 717 wird zur Erfassung von verschiedenen Attributen verwendet, die zu dem EP oder dem MEP gehören, das von dem aktuellen Datensatz 711 beschrieben wird: Dies sind das "META"-Attribut 718, das angibt, ob der aktuelle Datensatz 701 ein EP oder ein MEP (mit den jeweiligen Werten "NEIN" und "JA") beschreibt, und das Attribut "REFERENCED" 719, das mittels eigens dafür vorgesehener Teilfelder (719a, 719b, 719c, 719d and 719e) die Beziehungen zu anderen Objekten angibt. Diese Teilfelder werden als Teil der Beschreibung des Attributs "REFERENCED" 2240 beschrieben. Zur Codierung dieser verschiedenen Attribute in diesem Feld "Type" können herkömmliche Verfahren zur Anwendung kommen, wie zum Beispiel die Durchführung von bitweisen Exklusiv-ODER-(XOR-)Operationen mit vorher festgelegten Bitmustern, aber jedes andere herkömmliche Mittel könnte stattdessen ebenfalls verwendet werden.
  • C3. ST-Tabelle
  • Nun Bezug nehmend auf 7C entspricht die STT-Tabelle 720 einer einfachen logischen Struktur, die aus mehreren Datensätzen 721 besteht, von denen jeder einer ST gemäß der vorliegenden Erfindung entspricht. Jeder Datensatz enthält sechs Felder:
    • • Das Feld "Name" 722 wird zur Erfassung einer Zeichenfolge verwendet, die die von dem aktuellen Datensatz 721 beschriebene ST eindeutig ausweist.
    • • Das Feld "Last Change Date" 723 wird zur Erfassung des Datums der letzten Aktualisierung der von dem aktuellen Datensatz 721 beschriebenen ST verwendet.
    • • Das Feld "Description Ptr" 724 ist ein Verweis, der auf den Speicherplatz zeigt, an dem eine Beschreibung der von dem aktuellen Datensatz 721 beschriebenen ST abgelegt wird. Dieser Speicherplatz kann sich entweder im Massenspeicher 107 oder im Hauptspeicher 102 oder in einem anderen herkömmlichen Archiv-Speichermittel befinden. Diese Beschreibung ist entsprechend der in 7D gezeigten STDT-Tabelle 760 aufgebaut, bei der es sich um eine geordnete Liste von Namenspaaren handelt, wobei jedes Paar aus dem Namen eines Elements oder MEFs und aus dem Namen eines Elements oder MEPs gebildet wird.
    • • Das Feld "Min Element #" 725 wird zur Erfassung der Mindestzahl von Elementen verwendet, die in jeder STI vorgefunden werden, welche sich an die von dem aktuellen Datensatz 721 beschriebene ST hält.
    • • Das Feld "Max Element #" 726 wird zur Erfassung der Höchstzahl von Elementen verwendet, die in jeder STI vorgefunden werden, welche sich an die von dem aktuellen Datensatz 721 beschriebene ST hält.
    • • Das Feld "Typ" 727 wird zur Erfassung von verschiedenen Attributen verwendet, die zu der von dem aktuellen Datensatz 721 beschriebenen ST gehören: Dies sind das "META"-Attribut 728, das immer den Wert "NEIN" annimmt, und das Attribut "REFERENCED" 729, das mittels eigens dafür vorgesehener Teilfelder (729a, 729b, 729c, 729d und 729e) die Beziehungen zu anderen Objekten angibt. Diese Teilfelder werden als Teil der Beschreibung des Attributs "REFERENCED" 2240 beschrieben. Zur Codierung dieser verschiedenen Attribute in diesem Feld "Type" können herkömmliche Verfahren zur Anwendung kommen, wie zum Beispiel die Durchführung von bitweisen Exklusiv-ODER-(XOR-)Operationen mit vorher festgelegten Bitmustern, aber jedes andere herkömmliche Mittel könnte stattdessen ebenfalls verwendet werden.
  • C4. ST-Deskriptortabelle
  • Nun Bezug nehmend auf 7D entspricht die STDT-Tabelle 760 einer einfachen logischen Struktur, die aus mehreren Paaren besteht, welche aus einem Element oder MEF 765 und aus einem Element oder MEP 764 gebildet werden. Diese Struktur wird in drei Teilgruppen gegliedert:
    • • Den optionalen ST-"Kopfzeilen"-Teil 767, der aus einer veränderlichen Anzahl (möglicherweise null) von Paaren wie beispielsweise dem obersten Paar 761 besteht. Jedes dieser Paare wird von einem MEF (Spalte 765) und einem MEP (Spalte 764) gebildet.
    • • Den zwingend notwendigen "Haupt"-Teil 762, der aus einem einzigen Paar besteht, das von einem EF (Spalte 765) und einem EP (Spalte 764) gebildet wird.
    • • Den optionalen ST-"Fußzeilen"-Teil 766, der aus einer veränderlichen Anzahl (möglicherweise null) von Paaren wie dem untersten Paar 763 besteht. Jedes dieser Paare wird von einem MEF (Spalte 765) und einem MEP (Spalte 764) gebildet.
  • C5. ST-Instanziatortabelle
  • Nun Bezug nehmend auf 7E entspricht die STIT-Tabelle 750 einer einfachen logischen Struktur, die aus mehreren Datensätzen 751 besteht, von denen jeder einer STI gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung entspricht. Jeder Datensatz enthält sechs Felder:
    • • Das Feld "Address" 752 wird zum Auffinden der von dem aktuellen Datensatz 751 beschriebenen STI verwendet: Sein Wert entspricht der herkömmlichen Zeichenfolge, die zur Erfassung der Adresse eines beliebigen Zellenbereichs verwendet wird.
    • • Das Feld "ST" 753 wird zur Erfassung des Namens der ST verwendet, an die sich die von dem aktuellen Datensatz 751 beschriebene STI hält.
    • • Das Feld "Element #" 754 wird zur Erfassung der Anzahl der Elemente in der von dem aktuellen Datensatz 751 beschriebenen STI verwendet.
    • • Das Feld "Critical" 755 dient zur Erfassung, ob die von dem aktuellen Datensatz 751 beschriebene STI als kritisch betrachtet wird. Sein Inhalt kann die Werte "YES" oder "NO" annehmen.
    • • Das Feld "Header Size" 756 wird zur Erfassung der Anzahl der Meta-Elemente verwendet, die den Kopfzeilenteil der von dem aktuellen Datensatz 751 beschriebenen STI bilden.
    • • Das Feld "Footer Size" 757 wird zur Erfassung der Anzahl der Meta-Elemente verwendet, die den Fußzeilenteil der von dem aktuellen Datensatz 751 beschriebenen STI bilden.
  • C6. RE-Tabelle
  • Nun Bezug nehmend auf 17A entspricht die RET-Tabelle 2210 einer einfachen logischen Struktur, die aus mehreren Datensätzen 2211 besteht, von denen jeder einem RE oder einem RME gemäß der vorliegenden Erfindung entspricht. Jeder Datensatz enthält sechs Felder:
    • • Das Feld "Name" 2212 wird zur Erfassung einer Zeichenfolge verwendet, die das von dem aktuellen Datensatz 2211 beschriebene RE oder RME eindeutig ausweist.
    • • Das Feld "Last Change Date" 2213 wird zur Erfassung des Datums der letzten Aktualisierung des von dem aktuellen Datensatz 2211 beschriebenen RE oder RME verwendet.
    • • Das Feld "Description Ptr" 2214 ist ein Verweis, der auf den Speicherplatz zeigt, an dem ein der Veranschaulichung dienender Zellenbereich abgelegt wird, der das von dem aktuellen Datensatz 2211 beschriebene RE oder RME zeigt. Dieser Speicherplatz kann sich entweder im Massenspeicher 107 oder im Hauptspeicher 102 oder in einem anderen herkömmlichen Archiv-Speichermittel befinden.
    • • Das Feld "Row #" 2215 wird zur Erfassung der Anzahl der Zeilen verwendet, die in dem von dem aktuellen Datensatz 2211 beschriebenen RE oder RME vorhanden sind. Dieses Feld ist für dreidimensionale RSTs von Bedeutung, bei denen REs oder RMEs zweidimensionalen Strukturen entsprechen. In der bevorzugten Ausführungsform der vorliegenden Erfindung, bei der von zweidimensionalen RSTs ausgegangen wird, wird in dieses Feld immer der Wert 1 eingegeben.
    • • Das Feld "Column #" 2216 wird zur Erfassung der Anzahl der Spalten verwendet, die in dem von dem aktuellen Datensatz 2211 beschriebenen RE oder RME vorhanden sind.
    • • Das Feld "Type" 2217 wird zur Erfassung von verschiedenen Attributen verwendet, die zu dem RE oder dem RME gehören, das von dem aktuellen Datensatz 2211 beschrieben wird: Dies sind das "META"-Attribut 2218, das angibt, ob der aktuelle Datensatz 2211 ein RE oder ein RME (mit den jeweiligen Werten "NO" and "YES") beschreibt, und das Attribut "REFERENCED" 2219, das mittels eigens dafür vorgesehener Teilfelder (2219a, 2219b, 2219c, 2219d und 2219e) die Beziehungen zu anderen Objekten angibt. Diese Teilfelder werden als Teil der Beschreibung des Attributs "REFERENCED" 2240 beschrieben. Zur Codierung dieser verschiedenen Attribute in diesem Feld "Type" können herkömmliche Verfahren zur Anwendung kommen, wie zum Beispiel die Durchführung von bitweisen Exklusiv-ODER-(XOR-)Operationen mit vorher festgelegten Bitmustern, aber jedes andere herkömmliche Mittel könnte stattdessen ebenfalls verwendet werden.
  • C7. RST-Tabelle
  • Nun Bezug nehmend auf 17B entspricht die RSTT-Tabelle 2220 einer einfachen logischen Struktur, die aus mehreren Datensätzen 2221 besteht, von denen jeder einer RST gemäß der vorliegenden Erfindung entspricht. Jeder Datensatz enthält sechs Felder:
    • • Das Feld "Name" 2222 wird zur Erfassung einer Zeichenfolge verwendet, die die von dem aktuellen Datensatz 2221 beschriebene RST eindeutig ausweist.
    • • Das Feld "Last Change Date" 2223 wird zur Erfassung des Datums der letzten Aktualisierung der von dem aktuellen Datensatz 2221 beschriebenen RST verwendet.
    • • Das Feld "Description Ptr" 2224 ist ein Verweis, der auf den Speicherplatz zeigt, an dem eine Beschreibung der von dem aktuellen Datensatz 2221 beschriebenen RST abgelegt wird. Dieser Speicherplatz kann sich entweder im Massenspeicher 107 oder im Hauptspeicher 102 oder in einem anderen herkömmlichen Archiv-Speichermittel befinden. Diese Beschreibung ist entsprechend der RSTDT-Tabelle 2250 aufgebaut, die in 17D gezeigt ist, das heißt, als eine geordnete Liste von Namen von RMEs oder REs.
    • • Das Feld "Min Element #" 2225 wird zur Erfassung der Mindestzahl von REs verwendet, die in jeder RSTI vorgefunden werden, welche sich an die von dem aktuellen Datensatz 2221 beschriebene RST hält.
    • • Das Feld "Max Element #" 2226 wird zur Erfassung der Höchstzahl von REs verwendet, die in jeder RSTI vorgefunden werden, welche sich an die von dem aktuellen Datensatz 2221 beschriebene RST hält.
    • • Das Feld "Type" 2227 wird zur Erfassung von verschiedenen Attributen verwendet, die zu der von dem aktuellen Datensatz 2221 beschriebenen RST gehören: Dies sind das "META"-Attribut 2228, das immer den Wert "NO" annimmt, und das Attribut "REFERENCED" 2229, das mittels eigens dafür vorgesehener Teilfelder (2229a, 2229b, 2229c, 2229d und 2229e) die Beziehungen zu anderen Objekten angibt. Diese Teilfelder werden als Teil der Beschreibung des Attributs "REFERENCED" 2240 beschrieben. Zur Codierung dieser verschiedenen Attribute in diesem Feld "Type" können herkömmliche Verfahren zur Anwendung kommen, wie zum Beispiel die Durchführung von bitweisen Exklusiv-ODER-(XOR-)Operationen mit vorher festgelegten Bitmustern, aber jedes andere herkömmliche Mittel könnte stattdessen ebenfalls verwendet werden.
  • C8. RST-Manager-Tabelle
  • Nun Bezug nehmend auf 17C entspricht die RSTMT-Tabelle 2230 gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung einer einfachen logischen Struktur, die aus mehreren Datensätzen 2231 besteht, von denen jeder einem von der RST-Verwaltungseinheit (RST-Manager) verwalteten Objekt entspricht. Jeder Datensatz enthält sieben Felder:
    • • Das Feld "Name" 2232 wird zur Erfassung einer Zeichenfolge verwendet, die das von dem aktuellen Datensatz 2231 beschriebene Objekt eindeutig ausweist.
    • • Das Feld "Last Change Date" 2233 wird zur Erfassung des Datums der letzten Aktualisierung des von dem aktuellen Datensatz 2231 beschriebenen Objekts verwendet.
    • • Das Feld "Description Ptr" 2234 ist ein Verweis, der auf den Speicherplatz zeigt, an dem eine Beschreibung des von dem aktuellen Datensatz 2231 beschriebenen Objekts abgelegt ist. Dieser Speicherplatz kann sich entweder im Massenspeicher 107 oder im Hauptspeicher 102 oder in einem anderen herkömmlichen Archiv-Speichermittel befinden.
    • • Das Feld "Info Field 1" 2235 wird zur Erfassung einer ersten Informationsangabe verwendet, die zu dem von dem aktuellen Datensatz 2231 beschriebenen Objekt gehört.
    • • Das Feld "Info Field 2" 2236 wird zur Erfassung einer zweiten Informationsangabe verwendet, die zu dem von dem aktuellen Datensatz 2231 beschriebenen Objekt gehört.
    • • Das Feld "Type" 2237 wird zur Erfassung von verschiedenen Attributen verwendet, die zu dem von dem aktuellen Datensatz 2231 beschriebenen Objekt gehören, wie zum Beispiel:
    • • dem Attribut "META" 2239, das zuvor für die ähnlichen "Type"-Felder 707, 717, 727, 777, 2217 und 2227 beschrieben wurde, sowie zwei weitere Attribute:
    • • dem Attribut "REFERENCED" 2240, das gemäß 17C, die ein Beispiel einer RSTMT-Tabelle 2230 zeigt, aus 5 (fünf) Teilfeldern gebildet wird:
    • • dem Teilfeld "OWN REFERENCE" (oder kurz "OR") 2240a. Dieses Teilfeld ist eine eindeutige Primzahl, die zum Zeitpunkt der Erzeugung des von dem Datensatz 2231 beschriebenen Objekts zugewiesen wird. Diese Primzahl wird nur freigegeben, wenn das von dem Datensatz 2231 beschriebene Objekt gelöscht wird.
    • • dem Teilfeld "FILIATION REFERENCE" (oder kurz "FR") 2240b. Dieses Teilfeld wird entsprechend der folgenden Formel berechnet, wobei die Gruppe F der Gruppe von Objekten entspricht, die das von dem Datensatz 2231 beschriebene Objekt bilden: FR = Πi∊FORi × LCM({FRi})i∊F. Die vorstehende Formel ermöglicht die dynamische Verknüpfung des von dem Datensatz 2231 beschriebenen Objekts mit den Objekten, aus denen es besteht, da sich jedwede Änderung am Wert von einem der Faktoren ORi oder FRi automatisch in FR niederschlägt. Wenn die Gruppe F leer ist (zum Beispiel, wenn das von dem Datensatz 2231 beschriebene Objekt ein EP oder ein MEP oder ein EF oder ein MEF ist), wird das Teilfeld FR standardmäßig auf den Wert 1 (eins) gesetzt.
    • • dem Teilfeld "INSTANCE REFERENCE" (oder kurz "IR") 2240c. Dieses Teilfeld wird zum Zeitpunkt der Erzeugung des von dem Datensatz 2231 beschriebenen Objekts auf den Anfangswert 1 (eins) gesetzt. Anschließend wird dieses Teilfeld jedes Mal, wenn eine neue Instanz erzeugt wird, die sich an dieses Objekt hält, mit 2 (zwei) multipliziert, und jedes Mal, wenn eine vorhandene Instanz gelöscht wird, die sich an dieses Objekt hält, durch 2 (zwei) geteilt.
    • • dem Teilfeld "REFERENCED OBJECT" (oder kurz "RO") 2240d. Dieses Teilfeld ist eine Boolesche Variable, die angibt, ob das von dem Datensatz 2231 beschriebene Objekt an der Definition eines anderen Objekts beteiligt ist. Zum Beispiel können ein EF oder ein MEF oder ein EP oder ein MEP an der Definition einer ST mitwirken. Ebenso kann eine ST an der Definition eines RE mitwirken, das selbst an der Definition einer RST mitwirken kann. Dieses Teilfeld wird entsprechend der folgenden Formel berechnet, wobei die Gruppe P in der Hierarchie der RST-Objekte der Gruppe von Objekten entspricht, deren Typ den Typ des von dem Datensatz 2231 beschriebenen Objekts übernimmt: RO = "YES" wenn LCM({FRi})i∊P Mod OR = 0;andernfalls ist RO = "NO". Die vorstehende Formel ermöglicht die dynamische Verknüpfung des von dem Datensatz 2231 beschriebenen Objekts mit den Objekten, die zu der Gruppe P gehören, da sich jedwede Änderung am Wert von einem der Faktoren FRi automatisch in RO niederschlägt. Wenn das von dem Datensatz 2231 beschriebene Objekt ein EF oder ein MEF oder ein EP oder ein MEP ist, entspricht die Gruppe P der Gruppe der STs. Wenn das von dem Datensatz 2231 beschriebene Objekt eine ST ist, entspricht die Gruppe P der Gruppe der REs. Wenn das von dem Datensatz 2231 beschriebene Objekt ein RE ist, entspricht die Gruppe P der Gruppe der RSTs. Wenn das von dem Datensatz 2231 beschriebene Objekt eine RST ist, ist die Gruppe P leer (wobei der Anfang der Hierarchie erreicht ist), so dass das Teilfeld RO standardmäßig auf den Wert "NO" gesetzt wird.
    • • dem Teilfeld "SELECTED CHILDREN" (oder kurz "SC") 2240e. Dieses Teilfeld ist eine Boolesche Variable, die angibt, ob das von dem Datensatz 2231 beschriebene Objekt an der Definition eines ausgewählten Objekts beteiligt ist. Dieses Teilfeld wird entsprechend der folgenden Formel berechnet, wobei die Gruppe S der Gruppe der ausgewählten Objekte entspricht (bei denen das Attribut "SELECTED" 2242 den Wert "YES" hat): SC = "YES" wenn LCM({FRi})i∊S Mod OR = 0 #OR# object ∊ S,andernfalls ist SC = "NO". Die vorstehende Formel ermöglicht die dynamische Verknüpfung des von dem Datensatz 2231 beschriebenen Objekts mit den ausgewählten Objekten (die zur Gruppe S gehören), da sich jedwede Änderung am Wert von einem der Faktoren FRi oder in der Gruppe S automatisch in SC niederschlägt. Die anderen Attribute "REFERENCED" 709, 719, 729, 780, 2219 und 2229, die in den Tabellen EFT 700, EPT 710, STT 720, RSTEIT 770, RET 2210 und RSTT 2220 festgelegt sind, beruhen auf derselben Gruppe der fünf Teilfelder.
    • • dem Attribut "SELECTED" 2242, das anzeigt, ob das zugehörige Objekt von dem Benutzer des Tabellenkalkulationsprogramms im Dialogfeld 2300 des RST-Managers ausgewählt wurde oder nicht ausgewählt wurde (mit den jeweiligen Werten "YES" und "NO"), und auch
    • • dem Attribut "NATURE" 2241, das anzeigt, ob das Objekt ein (M)EF oder ein (M)EP oder eine ST oder ein R(M)E oder eine RST ist (mit den jeweiligen Werten "FORMAT" ("FORMAT") oder "PROFILE" ("PROFIL") oder "TEMPLATE" ("VORLAGE") oder "RECELEMENT" ("REKURSIVES ELEMENT") oder "RECTEMPLATE" ("REKURSIVE VORLAGE")).
  • Zur Codierung dieser verschiedenen Attribute in diesem Feld "Type" 2237 können herkömmliche Verfahren zur Anwendung kommen, wie zum Beispiel die Durchführung von bitweisen Exklusiv-ODER-(XOR-)Operationen mit vorher festgelegten Bitmustern, aber jedes andere herkömmliche Mittel könnte stattdessen ebenfalls verwendet werden.
    • • Das Feld "Index" 2238 wird zur Sortierung der RSTMT-Tabellle verwendet, wobei dieser Vorgang vom RST-Manager-Verfahren durchgeführt wird.
  • C9. RST-Deskriptortabelle
  • Nun Bezug nehmend auf 17D entspricht die RSTDT-Tabelle 2250 einer einfachen logischen Struktur, die aus mehreren Namen von REs oder RMEs 2254 besteht. Diese Struktur wird in drei Teilgruppen gegliedert:
    • • Den optionalen RST-"Kopfzeilen"-Teil 2256, der aus einer veränderlichen Anzahl (möglicherweise null) von RME-Namen wie dem obersten Namen 2251 besteht.
    • • Den zwingend notwendigen "Haupt"-Teil 2252, der aus einem einzigen RE-Namen besteht.
    • • Den optionalen RST-"Fußzeilen"-Teil 2255, der aus einer veränderlichen Anzahl (möglicherweise null) von RME-Namen wie dem untersten Namen 2253 besteht.
  • C10. RSTI-Tabelle
  • Nun Bezug nehmend auf 17E entspricht die RSTIT-Tabelle 2260 einer einfachen logischen Struktur, die aus mehreren Datensätzen 2261 besteht, von denen jeder einer RSTI gemäß der bevorzugten Ausführungsform der vorliegenden. Erfindung entspricht. Jeder Datensatz enthält sechs Felder:
    • • Das Feld "Address" 2262 wird zum Auffinden der von dem aktuellen Datensatz 2261 beschriebenen RSTI verwendet: Sein Wert entspricht der herkömmlichen Zeichenfolge, die zur Erfassung der Adresse eines beliebigen Zellenbereichs verwendet wird.
    • • Das Feld "ST" 2263 wird zur Erfassung des Namens der RST verwendet, an die sich die von dem aktuellen Datensatz 2261 beschriebene RSTI hält.
    • • Das Feld "Element #" 2264 wird zur Erfassung der Anzahl der REs in der von dem aktuellen Datensatz 2261 beschriebenen RSTI verwendet.
    • • Das Feld "Critical" 2265 dient zur Erfassung, ob die von dem aktuellen Datensatz 2261 beschriebene RSTI als kritisch betrachtet wird. Sein Inhalt kann die Werte "YES" oder "NO" annehmen.
    • • Das Feld "Header Size" 2266 wird zur Erfassung der Anzahl der RMEs verwendet, die den Kopfzeilenteil der von dem aktuellen Datensatz 2261 beschriebenen RSTI bilden.
    • • Das Feld "Footer Size" 2267 wird zur Erfassung der Anzahl der RMEs verwendet, die den Fußzeilenteil der von dem aktuellen Datensatz 2261 beschriebenen RSTI bilden.
  • C11. RSTI-Deskriptortabelle
  • Nun Bezug nehmend auf 17F entspricht die RSTIDT-Tabelle 2270 einer einfachen logischen Struktur, die aus mehreren Datensätzen 2271 besteht, von denen jeder aus mehreren Zellen 2272 besteht, von denen jede einem STI-Bestandteil der RSTI gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung entspricht. Die RSTIT-Tabelle 2270 wird auf die Struktur der zugehörigen RSTI abgebildet, wobei ein oberer Kopfzeilenteil 2275 (der möglicherweise leer ist) aus einem oder mehreren Datensätzen 2271 gebildet wird, wobei ein mittlerer Hauptteil 2274 aus einem oder mehreren Datensätzen 2271 gebildet wird, und wobei ein unterer Fußzeilenteil 2273 (der möglicherweise leer ist) aus einem oder mehreren Datensätzen 2271 gebildet wird. Jeder Datensatz 2271 umfasst eine einzelne Zelle oder eine Vielzahl von einzelnen Zellen 2272, deren Anzahl der Anzahl der STIs je RE entspricht. Jeder Datensatz 2272 enthält sieben Felder, die einen STI-Bestandteil der RSTI kennzeichnen:
    • • Das Feld "container_range" 2276 wird zur Erfassung der Adresse des Behälterbereichs verwendet, in dem die von dem Datensatz 2272 beschriebene STI untergebracht ist. Bezug nehmend auf 15A erfasst dieses Feld die Adresse des Behälters 2014 (Schnittpunkt der Behälterzeile 2012 und der Behälterspalte 2005), wenn der Datensatz 2272 die STI 2013 beschreibt.
    • • Das Feld "container_col" 2277 wird zur Erfassung der Anzahl der Spalten des Behälterbereichs verwendet, in dem die von dem Datensatz 2272 beschriebene STI untergebracht ist. Bezug nehmend auf 15A erfasst dieses Feld die Spaltenanzahl 2028, wenn der Datensatz 2272 die STI 2013 beschreibt.
    • • Das Feld "STI_col" 2278 wird zur Erfassung der Anzahl der Spalten der von dem Datensatz 2272 beschriebenen STI verwendet. Bezug nehmend auf 15A erfasst dieses Feld die Spaltenanzahl 2026, wenn der Datensatz 2272 die STI 2013 beschreibt.
    • • Das Feld "STI_row" 2279 wird zur Erfassung der Anzahl der Zeilen der von dem Datensatz 2272 beschriebenen STI verwendet. Bezug nehmend auf 15A erfasst dieses Feld die Zeilenanzahl 2027, wenn der Datensatz 2272 die STI 2013 beschreibt.
    • • Das Feld "ST_name" 2280 wird zur Erfassung des Namens der ST verwendet, an die sich die von dem Datensatz 2272 beschriebene STI hält.
    • • Das Feld "container_row" 2281 wird zur Erfassung der Anzahl der Zeilen des Behälterbereichs verwendet, in dem die von dem Datensatz 2272 beschriebene STI untergebracht ist. Bezug nehmend auf 15A erfasst dieses Feld die Zeilenanzahl 2029, wenn der Datensatz 2272 die STI 2013 beschreibt.
    • • Das Feld "STIT_rec_ptr" 2282 wird verwendet, um in der STIT-Tabelle 750 auf den Datensatz 751 zu zeigen, der die von dem Datensatz 2272 beschriebene STI beschreibt.
  • C12. Beziehungen zwischen Tabellen
  • Nun Bezug nehmend auf 7F sind einige zuvor vorgestellte Tabellen RSTIT 2260, RSTIDT 2270, RSTT 2220, RSTDT 2250, RET 2210, STIT 750, STT 720, STDT 760, EFT 700 und EPT 710 zusammen gezeigt, um die Beziehungen aufzuzeigen, die zwischen diesen Tabellen und entweder einer RSTI 730 oder einer STI 797 hergestellt werden. In dieser Übersicht stellt ein durchgehender fetter Pfeil eine auf einem Zeiger beruhende Beziehung zu einer Tabelle oder einem Datensatz dar, ein gestrichelter fetter Pfeil stellt eine auf einer Adresse beruhende Beziehung zu einem Zellenbereich dar, ein durchgehender nichtfetter Pfeil stellt eine auf einem Namen beruhende Beziehung zu einem Objekt dar, und ein gestrichelter nichtfetter Pfeil stellt eine auf einer Größe beruhende Beziehung zu einem Objekt dar. In 7F sind die auf einem Zeiger, einer Adresse und einem Namen beruhenden Beziehungen durch einen in einen Kreis eingeschlossenen Index entsprechend der folgenden Reihenfolge gekennzeichnet:
    • • Beginnend mit einer STI 797, die aus den drei Teilen "STI Header", "STI Body" und "STI Footer" besteht, wird eine erste auf einer Adresse beruhende Beziehung j zwischen dieser STI 797 und einem Datensatz 751 der STIT-Tabelle 750 hergestellt.
    • • Eine zweite auf einem Namen beruhende Beziehung k wird dann zwischen diesem Datensatz 751 und einem Datensatz 721 der STT-Tabelle 720 hergestellt. Dieser Datensatz 721 entspricht der ST, an die sich die STI 797 hält.
    • • Eine dritte auf einem Zeiger beruhende Beziehung 1 wird zwischen diesem Datensatz 721 und einer STDT-Tabelle 760 hergestellt, die die Struktur der ST beschreibt. Jeder Datensatz der STDT-Tabelle 760 entspricht einem aus einem Element- oder einem MEF-Namen und aus einem Element- oder einem MEP-Namen bestehenden Paar.
    • • Eine vierte auf einem Namen beruhende Beziehung m wird zwischen dem Element- oder MEF-Namen und einem Datensatz 701 der EFT-Tabelle 700 hergestellt.
    • • Eine fünfte auf einem Namen beruhende Beziehung n wird zwischen dem Element- oder MEP-Namen und einem Datensatz 711 der EPT-Tabelle 710 hergestellt.
    • • Eine sechste auf einem Zeiger beruhende Beziehung o wird zwischen dem Datensatz 701 und einem der Veranschaulichung dienenden Zellenbereich 798, der die Formatattribute angibt, hergestellt.
    • • Eine siebte auf einem Zeiger beruhende Beziehung p wird zwischen dem Datensatz 711 und einem der Veranschaulichung dienenden Zellenbereich 799, der den Profilinhalt angibt, hergestellt.
    • • Nun mit einer RSTI 730 beginnend, die aus den drei Teilen "RSTI Header", "RST Body" und "RSTI Footer" besteht, wird eine achte auf einer Adresse beruhende Beziehung q zwischen dieser RSTI 730 und einem Datensatz 2261 der RSTIT-Tabelle 2260 hergestellt.
    • • Eine neunte auf einem Zeiger beruhende Beziehung r wird zwischen diesem Datensatz 2261 und einer RSTIDT-Tabelle 2270 hergestellt, die die Struktur der RSTI 730 beschreibt. Jede Zelle 2272 der RSTIDT-Tabelle 2270 umfasst mehrere Felder 2276, 2277, 2278, 2279, 2280, 2281 und 2282, die zu einem bestimmten STI-Bestandteil (wie zum Beispiel zur STI 797) der RSTI 730 gehören.
    • • Eine zehnte auf einer Adresse beruhende Beziehung s wird folglich zwischen dem Feld 2276 der Zelle 2272 der RSTIDT-Tabelle 2270 und dem Behälterbereich hergestellt, der die STI 797 umfasst.
    • • Eine elfte auf einem Zeiger beruhende Beziehung jj wird ebenfalls zwischen dem Feld 2282 der Zelle 2272 der RSTIDT-Tabelle 2270 und dem Datensatz 751 der STIT-Tabelle 750, die der STI 797 entspricht, hergestellt.
    • • Eine zwölfte auf einem Namen beruhende Beziehung jk wird dann zwischen dem Datensatz 2261 und einem Datensatz 2221 der RSTT-Tabelle 2220 hergestellt. Dieser Datensatz 2221 entspricht der RST, an die sich die RSTI 730 hält.
    • • Eine dreizehnte auf einem Zeiger beruhende Beziehung jl wird zwischen diesem Datensatz 2221 und einer RSTDT-Tabelle 2250 hergestellt, die die Struktur der RST beschreibt. Jeder Datensatz der RSTDT-Tabelle 2250 entspricht einem RE oder einem RME.
    • • Eine vierzehnte auf einem Namen beruhende Beziehung jm wird zwischen dem RE- oder RME-Namen und einem Datensatz 2211 der RET-Tabelle 2210 hergestellt.
    • • Eine fünfzehnte auf einem Zeiger beruhende Beziehung jn wird zwischen dem Datensatz 2211 und einem RE-Deskriptor-Zellenbereich 731 hergestellt, der die Namen von STs enthält.
    • • Eine sechzehnte auf einem Namen beruhende Beziehung jo wird zwischen dem RE-Deskriptor-Zellenbereich 731 und einem Datensatz 721 der STT-Tabelle 720 hergestellt.
    • • Eine ähnliche siebzehnte auf einem Namen beruhende Beziehung jp wird zwischen der Zelle 2272 der RSTIDT-Tabelle 2270 und einem Datensatz 721 der STT-Tabelle 720 hergestellt.
  • D. Szenarien
  • Im Gegensatz zu soeben beschriebenen herkömmlichen Werkzeugen sieht die bevorzugte Ausführungsform der vorliegenden Erfindung einen leistungsfähigeren, benutzerfreundlicheren und interaktiven Ansatz zur Festlegung und Verwaltung von STs in Form von einer Reihe von Verfahren vor.
  • In einer bevorzugten Ausführungsform kommt die vorliegende Erfindung in einem Szenario zur Anwendung, das sich als eine Folge von Operationen darstellt:
  • • 1. Erste Operation: Erzeugen einer STI oder einer RSTI
  • Die erste Operation findet statt, wenn der Benutzer des Tabellenkalkulationsprogramms auf der Grundlage von bestimmten Kriterien, die hier nicht ausführlich beschrieben werden, entscheidet, entweder eine STI zu erzeugen, die die Struktur einer ST übernimmt, oder eine RSTI zu erzeugen, die die Struktur einer RST übernimmt. In einer bevorzugten Ausführungsform der vorliegenden Erfindung umfasst diese Operation die folgenden Schritte:
    • • a. RST Manager: Über ein herkömmliches Mittel, das in einer Tabellenkalkulationsumgebung zur Verfügung steht, wie zum Beispiel der Zeigeeinheit 105 oder der Tastatur 104, jedoch nicht auf diese beschränkt, ruft der Benutzer des Tabellenkalkulationsprogramms zuerst einen ganz bestimmten ursprünglichen Befehl mit der Bezeichnung "RST Manager" auf, um über eine eigens dafür vorgesehene Benutzerschnittstelle ein(e) beliebige(s) vorhandene(s) EF oder MEF oder EP oder MEP oder RE oder RME oder ST oder RST darzustellen. Dieser RST-Manager bietet verschiedene Alternativen zur weiteren Verwaltung dieser Dateneinheiten. Dies lässt sich mit der in 2 gezeigten Benutzerschnittstelle veranschaulichen, die das Dialogfeld 200 des RST-Managers so zeigt, wie es auf dem Bildschirm 106 erscheint. In diesem Dialogfeld 200 des RST-Managers kann der Benutzer bereits definierte Objekte (EFs, MEFs, EPs, MEPs, REs, RMEs, STs und RSTs) in den "Listenfeldern" 213 214 und 202 darstellen, in denen jeweils die Namen der Objekte, der jeweilige Typ der Objekte und das Datum ihrer letzten Aktualisierung angegeben werden. Wenn eine große Anzahl von Objekten definiert worden ist, kann der Benutzer zwischen ihnen navigieren, indem er mit der Zeigeeinheit 105 in der Schiebeleiste 203 entweder nach oben oder nach unten klickt, so dass sich die in den Listenfeldern 213, 214 und 202 angezeigten Objekte zwischen dem obersten Objekt und dem untersten Objekt hin- und herbewegen. In einer bevorzugten Ausführungsform der vorliegenden Erfindung wurden die Objekte nach dem Datum ihrer letzten Aktualisierung sortiert, aber jedes andere Sortierschema könnte ebenfalls verwendet werden. Der Benutzer kann dann mehrere Aktionen durchführen. Der Benutzer kann mit der Zeigeeinheit 105 auf ein Kontrollkästchen klicken, das sich links im Dialogfeld 200 des RST-Managers befindet, wie zum Beispiel das Kontrollkästchen 212, um das Objekt, dessen Name im Listenfeld 213 rechts des angeklickten Kontrollkästchens angezeigt wird, entweder auszuwählen oder abzuwählen. Ein oder mehrere Objekte können ausgewählt oder abgewählt werden. Eine mit der Blätterfunktion getroffene Auswahl wird selbstverständlich an den Kontrollkästchen angezeigt. Sobald eine Auswahl vorgenommen wurde, kann der Benutzer mit der Zeigeeinheit 105 auf die Schaltfläche "Delete" ("Löschen") 207 klicken, wenn er alle ausgewählten Objekte aus den Listenfeldern 213, 214 und 202 entfernen möchte. Wenn sich kein weiteres Objekt (weder ST oder STI noch RE oder RME oder RST oder RSTI) auf mindestens eines dieser Objekte bezieht, werden sie sofort gelöscht, so dass sie nicht mehr in den Listenfeldern 213, 214 und 202 erscheinen. Wenn sich noch mindestens ein(e) andere(s) ST oder STI oder RE oder RME oder RST oder RSTI auf mindestens eines der ausgewählten Objekte bezieht, wird ein herkömmliches Dialogfeld auf dem Bildschirm 106 angezeigt, um den Benutzer erstens auf diese Situation aufmerksam zu machen und um ihn zweitens aufzufordern, die Löschoperation entweder abzubrechen oder aber zu bestätigen. Wenn sich der Benutzer dafür entscheidet, die Operation abzubrechen, wird keine Maßnahme ergriffen, andernfalls werden die ausgewählten Objekte sofort gelöscht, so dass sie nicht mehr in den Listenfeldern 213, 214 und 202 erscheinen. Alternativ dazu kann der Benutzer mit der Zeigeeinheit 105 auf die Schaltfläche "Edit" ("Bearbeiten") 211 klicken, wenn er das ausgewählte Objekt bearbeiten möchte, von dem angenommen wird, dass es unverwechselbar ist.
  • Wenn zuvor kein Objekt oder aber mehrere Objekte ausgewählt wurden, was im Dialogfeld 200 des RST-Managers durch das Nichtvorhandensein eines Häkchens beziehungsweise durch das Vorhandensein von mehreren Häkchen (sichtbar oder nicht sichtbar) in den auf der linken Seite befindlichen Kontrollkästchen wie beispielsweise dem Kontrollkästchen 212 angezeigt wird, wird dem Benutzer über ein herkömmliches Mittel wie zum Beispiel Dialogfenster, Meldungen in der Statusleiste oder über irgendein anderes ähnliches herkömmliches Mittel, das stattdessen verwendet werden kann, eine Warnmeldung auf dem Bildschirm 106 angezeigt.
  • Wenn zuvor ein einzelnes Objekt ausgewählt wurde, was durch das Vorhandensein eines einzelnen Häkchens (sichtbar oder nicht sichtbar) in einem auf der linken Seite befindlichen Kontrollkästchen wie beispielsweise dem Kontrollkästchen 212 angezeigt wird, wird das Dialogfeld 200 des RST-Managers zunächst geschlossen, und anschließend wird unter Berücksichtigung der Art dieses einzelnen ausgewählten Objekts das zu öffnende neue Dialogfeld bestimmt.
  • Wenn das ausgewählte Objekt ein EF oder ein MEF war, wird der Befehl "EF-Editor" ausgegeben, so dass das EF-Editor-Verfahren die Steuerung übernimmt, indem es zuerst das Dialogfeld 301 des EF-Editors auf dem Bildschirm 106 anzeigt, wie in 3 gezeigt ist. Die folgenden Schritte dieses Szenario-Falls sind in einem nachfolgenden Abschnitt ausführlich beschrieben.
  • Wenn das ausgewählte Objekt ein EP oder ein MEP war, wird der Befehl "EP-Editor" ausgegeben, so dass das EP-Editor-Verfahren die Steuerung übernimmt, indem es zuerst das Dialogfeld 401 des EP-Editors auf dem Bildschirm 106 anzeigt, wie in 4 gezeigt ist. Die folgenden Schritte dieses Szenario-Falls sind in einem nachfolgenden Abschnitt ausführlich beschrieben.
  • Wenn das ausgewählte Objekt ein RE oder ein RME war, wird der Befehl "RE-Editor" ausgegeben, so dass das RE-Editor-Verfahren die Steuerung übernimmt, indem es zuerst das Dialogfeld 2321 des RE-Editors auf dem Bildschirm 106 anzeigt, wie in 18B gezeigt ist. Die folgenden Schritte dieses Szenario-Falls werden in einem nachfolgenden Abschnitt ausführlich beschrieben.
  • Wenn das ausgewählte Objekt eine ST war, wird der Befehl "ST-Editor" ausgegeben, so dass das ST-Editor-Verfahren die Steuerung übernimmt, indem es zuerst das Dialogfeld 501 des ST-Editors auf dem Bildschirm 106 anzeigt, wie in 5 gezeigt ist. Die folgenden Schritte dieses Szenario-Falls sind in einem nachfolgenden Abschnitt ausführlich beschrieben.
  • Wenn das ausgewählte Objekt eine RST war, wird der Befehl "RST-Editor" ausgegeben, so dass das RST-Editor-Verfahren die Steuerung übernimmt, indem es zuerst das Dialogfeld 601 des RST-Editors auf dem Bildschirm 106 anzeigt, wie in 6 gezeigt ist. Die folgenden Schritte dieses Szenario-Falls sind in einem nachfolgenden Abschnitt ausführlich beschrieben.
  • Alternativ dazu kann der Benutzer mit der Zeigeeinheit 105 auf die Schaltfläche "Instanciate" ("Instanziieren) 204 klicken, wenn er entweder eine STI oder eine RSTI erzeugen möchte, die das ausgewählte Objekt übernimmt, von dem angenommen wird, dass es unverwechselbar ist und eine ST beziehungsweise eine RST ist.
  • Wenn zuvor kein Objekt oder aber mehrere Objekte ausgewählt wurden, was im Dialogfeld 200 des RST-Managers durch das Nichtvorhandensein eines Häkchens beziehungsweise durch das Vorhandensein von mehreren Häkchen (sichtbar oder nicht sichtbar) in den auf der linken Seite befindlichen Kontrollkästchen wie beispielsweise dem Kontrollkästchen 212 angezeigt wird, wird dem Benutzer über ein herkömmliches Mittel wie zum Beispiel Dialogfenster, Meldungen in der Statusleiste oder über irgendein anderes ähnliches herkömmliches Mittel, das stattdessen verwendet werden kann, eine Warnmeldung auf dem Bildschirm 106 angezeigt.
  • Wenn zuvor ein einzelnes Objekt ausgewählt wurde, was durch das Vorhandensein eines einzelnen Häkchens (sichtbar oder nicht sichtbar) in einem auf der linken Seite befindlichen Kontrollkästchen wie beispielsweise dem Kontrollkästchen 212 angezeigt wird, prüft das verfahren, ob dieses Objekt eine ST oder eine RST ist.
  • Wenn dies nicht der Fall ist, wird dem Benutzer über ein herkömmliches Mittel wie zum Beispiel Dialogfenster, Meldungen in der Statusleiste oder über irgendein anderes ähnliches herkömmliches Mittel, das stattdessen verwendet werden kann, eine Warnmeldung auf dem Bildschirm 106 angezeigt.
  • Wenn zuvor ein einzelnes ST-Objekt (beziehungsweise ein RST-Objekt) ausgewählt wurde, wird das Dialogfenster 200 des RST-Managers zunächst geschlossen, und anschließend wird der Befehl "ST-Instanziator" (beziehungsweise der Befehl "RST-Instanziator" ausgegeben, so dass das ST-Instanziator-Verfahren (beziehungsweise das RST-Instanziator-Verfahren) die Steuerung übernimmt, indem es zuerst das Dialogfeld 1300 des ST-Instanziators (beziehungsweise das Dialogfeld 2300 des RST-Instanziators) auf dem Bildschirm 106 anzeigt, wie in 13A (beziehungsweise 18A) gezeigt ist. Die folgenden Schritte dieses Szenario-Falls werden in nachfolgenden Abschnitten ausführlich beschrieben.
  • Alternativ dazu kann der Benutzer mit der Zeigeeinheit 105 auf die Schaltfläche "Export" 206 klicken, wenn er eine nichtleere Gruppe von Objekten aus der aktuellen Arbeitsblattdatei in eine andere Arbeitsblattdatei exportieren möchte. Wenn das Kontrollkästchen "Including child objects (for Export)" (Einschließlich Kindobjekte (für Export)) 220 mit einem Häkchen versehen ist, profitieren alle Kindobjekte der ausgewählten Objekte ebenfalls von der Exportoperation, selbst wenn diese Kindobjekte nicht über die auf der linken Seite befindlichen Kontrollkästchen wie zum Beispiel das Kontrollkästchen 212 ausgewählt wurden.
  • Wenn zuvor kein Objekt ausgewählt wurde, was im Dialogfeld 200 des RST-Managers durch das Nichtvorhandensein eines Häkchens (sichtbar oder nicht sichtbar) in den auf der linken Seite befindlichen Kontrollkästchen wie beispielsweise dem Kontrollkästchen 212 angezeigt wird, wird dem Benutzer über ein herkömmliches Mittel wie zum Beispiel Dialogfenster, Meldungen in der Statusleiste oder über irgendein anderes ähnliches herkömmliches Mittel, das stattdessen verwendet werden kann, eine Warnmeldung auf dem Bildschirm 106 angezeigt.
  • Wenn zuvor ein Objekt oder mehrere Objekte ausgewählt wurden, was durch das Vorhandensein von mindestens einem Häkchen (sichtbar oder nicht sichtbar) in einem auf der linken Seite befindlichen Kontrollkästchen wie beispielsweise dem Kontrollkästchen 212 angezeigt wird, wird das Dialogfeld 200 des RST-Managers zunächst geschlossen, und anschließend wird ein bestimmter Befehl "RST Export Manager" ausgegeben, so dass ein eigens dafür vorgesehenes Verfahren, das in der vorliegenden Erfindung nicht beschrieben wird, die Steuerung übernimmt, um die Exportoperation durchzuführen.
  • Alternativ dazu kann der Benutzer mit der Zeigeeinheit 105 auf die Schaltfläche "Import" 205 klicken, wenn er ein oder mehrere Objekte aus einer anderen Arbeitsblattdatei in die aktuelle Arbeitsblattdatei importieren möchte. Zunächst wird das Dialogfeld 200 des RST-Managers geschlossen, und anschließend wird ein bestimmter Befehl "RST Import Manager" ausgegeben, so dass ein eigens dafür vorgesehenes Verfahren, das in der vorliegenden Erfindung nicht beschrieben wird, die Steuerung übernimmt, um die Importoperation durchzuführen.
  • Alternativ kann der Benutzer mit der Zeigeeinheit 105 auf eine der fünf Optionsschaltflächen 217 "Format ("Format")", 209 "Profile" ("Profil"), 216 "Template" ("Vorlage"), 218 "RE", 219 "Recursive Template" ("Rekursive Vorlage), auf der unteren linken Seite des Dialogfelds 200 des RST-Managers klicken, wenn er angeben möchte, welche Art von neuem Objekt anschließend erzeugt werden soll. Da im Dialogfeld 200 des RST-Managers fünf Optionsschaltflächen zur Verfügung stehen, kann der Benutzer wahlweise entweder ein EF oder ein EP oder ein RE oder eine ST oder eine RST als den Typ des neuen Objekts angeben, das anschließend erzeugt werden soll.
  • Alternativ kann der Benutzer mit der Zeigeeinheit 105 auf das Kontrollkästchen 208 mit der Bezeichnung "From current selection" ("Aus aktueller Auswahl ") klicken, wenn er angeben möchte, ob das nächste Objekt, das anschließend erzeugt werden soll, aus dem Zellenbereich abgeleitet werden soll, der gerade in der Arbeitsblattdatei ausgewählt wurde.
  • Alternativ dazu kann der Benutzer mit der Zeigeeinheit 105 auf die Schaltfläche "Create New" 210 klicken, wenn er ein neues Objekt erzeugen möchte, dessen Typ zuvor mit Hilfe der drei Optionsschaltflächen wie zum Beispiel der Folgenden angegeben wurde:
    • • der Optionsschaltfläche "Profile" 209 oder
    • • der Optionsschaltfläche "Format" 217 oder
    • • der Optionsschaltfläche "Template" 216 oder
    • • der Optionsschaltfläche "RE" 218 oder
    • • der Optionsschaltfläche "Recursive Template" 219.
  • Wenn keine dieser fünf Optionsschaltflächen eine zuvor getroffene Benutzerauswahl widerspiegelt, was im Dialogfeld 200 des RST-Managers durch das Nichtvorhandensein eines Punktes in einer dieser fünf Optionsschaltflächen 209, 216, 217, 218 und 219 angezeigt wird, wird dem Benutzer über ein herkömmliches Mittel wie zum Beispiel Dialogfenster, Meldungen in der Statusleiste oder über irgendein anderes ähnliches herkömmliches Mittel, das stattdessen verwendet werden kann, eine Warnmeldung auf dem Bildschirm 106 angezeigt.
  • Wenn eine diese fünf Optionsschaltflächen 209, 216, 217, 218 und 219 eine zuvor getroffene Benutzerauswahl widerspiegelt, wird zunächst das Dialogfeld 200 des RST-Managers geschlossen, und anschließend wird unter Berücksichtigung der einzelnen ausgewählten Optionsschaltfläche das zu öffnende neue Dialogfeld bestimmt.
  • Wenn die Optionsschaltfläche "Format" 217 eine Auswahl widerspiegelt, wird der Befehl "EF-Editor" ausgegeben, so dass das EF-Editor-Verfahren die Steuerung übernimmt, indem es zuerst das Dialogfeld 301 des EF-Editors auf dem Bildschirm 106 anzeigt, wie in 3 gezeigt ist. Die folgenden Schritte dieses Szenario-Falls sind in einem nachfolgenden Abschnitt ausführlich beschrieben.
  • Wenn die Optionsschaltfläche "Profile" 209 eine Auswahl widerspiegelt, wird der Befehl "EP-Editor" ausgegeben, so dass das EP-Editor-Verfahren die Steuerung übernimmt, indem es zuerst das Dialogfeld 401 des EP-Editors auf dem Bildschirm 106 anzeigt, wie in 4 gezeigt ist. Die folgenden Schritte dieses Szenario-Falls sind in einem nachfolgenden Abschnitt ausführlich beschrieben.
  • Wenn die Optionsschaltfläche "Template" 216 eine Auswahl widerspiegelt, wird der Befehl "ST-Editor" ausgegeben, so dass das ST-Editor-Verfahren die Steuerung übernimmt, indem es zuerst das Dialogfeld 501 des ST-Editors auf dem Bildschirm 106 anzeigt, wie in 5 gezeigt ist. Die folgenden Schritte dieses Szenario-Falls sind in einem nachfolgenden Abschnitt ausführlich beschrieben.
  • Wenn die Optionsschaltfläche "RE" 218 eine Auswahl widerspiegelt, wird der Befehl "RE-Editor" ausgegeben, so dass das RE-Editor-Verfahren die Steuerung übernimmt, indem es zuerst das Dialogfeld 2321 des RE-Editors auf dem Bildschirm 106 anzeigt, wie in 18B gezeigt ist. Die folgenden Schritte dieses Szenario-Falls werden in einem nachfolgenden Abschnitt ausführlich beschrieben.
  • Wenn die Optionsschaltfläche "Recursive Template" 219 eine Auswahl widerspiegelt, wird der Befehl "RST-Editor" ausgegeben, so dass das RST-Editor-Verfahren die Steuerung übernimmt, indem es zuerst das Dialogfeld 601 des RST-Editors auf dem Bildschirm 106 anzeigt, wie in 6 gezeigt ist. Die folgenden Schritte dieses Szenario-Falls sind in einem nachfolgenden Abschnitt ausführlich beschrieben.
  • Schließlich kann der Benutzer mit der Zeigeeinheit 105 auf die Schaltfläche "Done" 201 oder auf die Schaltfläche 215 zum Schließen des Fensters klicken, wenn er das RST-Manager-Verfahren beenden möchte. Dies bewirkt, dass das Dialogfeld 200 des RST-Managers auf dem Bildschirm 106 geschlossen wird.
    • • b. EF Editor: Gemäß dem vorherigen Szenario, das das RST-Manager-Verfahren zeigt, kann der Benutzer des Tabellenkalkulationsprogramms dann über ein herkömmliches Mittel, das in einer Tabellenkalkulationsumgebung zur Verfügung steht, wie zum Beispiel die Zeigeeinheit 105 oder die Tastatur 104, jedoch nicht auf diese beschränkt, einen bestimmten ursprünglichen Befehl mit der Bezeichnung "EF Editor" aufrufen, um entweder ein neues EF oder ein neues MEF zu erzeugen oder um ein vorhandenes EF oder ein vorhandenes MEF zu aktualisieren. Das entsprechende Szenario ist in der internationalen Patentanmeldung PCT/EP 02/09483 (IBM-Aktenzeichen FR9 2001 0029 ) mit dem Titel "System and method in an electronic spreadsheet for exporting-importing the content of input cells from a scalable template instance to another" von Aureglia u.a. beschrieben.
    • • c. EP Editor: Gemäß dem vorherigen Szenario, das das RST-Manager-Verfahren zeigt, kann der Benutzer des Tabellenkalkulationsprogramms dann über ein herkömmliches Mittel, das in einer Tabellenkalkulationsumgebung zur Verfügung steht, wie zum Beispiel die Zeigeeinheit 105 oder die Tastatur 104, jedoch nicht auf diese beschränkt, einen bestimmten ursprünglichen Befehl mit der Bezeichnung "EP Editor" aufrufen, um entweder ein neues EP oder ein neues MEP zu erzeugen oder um ein vorhandenes EP oder ein vorhandenes MEP zu aktualisieren. Das entsprechende Szenario ist in der internationalen Patentanmeldung PCT/EP 02/09483 (IBM-Aktenzeichen FR9 2001 0029 ) mit dem Titel "System and method in an electronic spreadsheet for exporting-importing the content of input cells from a scalable template instance to another" von Aureglia u.a. beschrieben.
    • • d. RE Editor: Gemäß dem vorherigen Szenario, das das RST-Manager-Verfahren zeigt, kann der Benutzer des Tabellenkalkulationsprogramms dann über ein herkömmliches Mittel, das in einer Tabellenkalkulationsumgebung zur Verfügung steht, wie zum Beispiel die Zeigeeinheit 105 oder die Tastatur 104, jedoch nicht auf diese beschränkt, einen bestimmten ursprünglichen Befehl mit der Bezeichnung "RE Editor" aufrufen, um entweder ein neues RE oder ein neues RME zu erzeugen oder um ein vorhandenes RE oder ein vorhandenes RME zu aktualisieren. Dies lässt sich anhand der mit Verweis auf 18B beschriebenen Benutzerschnittstelle veranschaulichen, die das Dialogfeld 2321 des RE-Editors zeigt, das auf dem Bildschirm 106 im Fenster der grafischen Benutzeroberfläche (GUI) der Tabellenkalkulations-Büroanwendung angezeigt wird.
  • Wenn das Dialogfeld 2321 des RE-Editors auf dem Bildschirm 106 angezeigt wird, enthält es einige Informationsangaben.
  • Erstens wird die Art des bearbeiteten Objekts durch ein Paar Optionsschaltflächen 2330 und 2331 angezeigt, die angeben, ob es sich bei dem Objekt um ein RE oder ein RME handelt. Der Benutzer des Tabellenkalkulationsprogramms kann mit der Zeigeeinheit 105 auf eine dieser beiden Optionsschaltflächen 2330 und 2331 klicken, um zwischen der Definition eines RE und der Definition eines RME zu wechseln.
  • Zweitens wird die Anzahl der Felder in dem bearbeiteten Objekt im Textfeld 2326 angegeben. Wenn ein neues RE oder RME erzeugt wird (wobei der Benutzer des Tabellenkalkulationsprogramms zuvor mit dem Zeigegerät 105 auf die Optionsschaltfläche 218 geklickt hat, um sie mit einem Punkt zu versehen, und auf die Schaltfläche 210, die alle im Dialogfeld 200 des RST-Managers enthalten sind, wie in 2 gezeigt ist), entspricht der vom Textfeld 2326 angezeigte Wert einem Standardwert, der in einer bevorzugten Ausführungsform der vorliegenden Erfindung auf 3 gesetzt wird. Wenn ein vorhandenes RE oder RME bearbeitet wird, entspricht der vom Textfeld 2326 angezeigte Wert der Anzahl der Felder, die zuvor für dieses Objekt festgelegt wurden. In allen Fällen kann der Benutzer des Tabellenkalkulationsprogramms den im Textfeld 2326 angezeigten Wert ändern, indem er mit der Zeigeeinheit 105 auf die Seite des Drehfelds 2327 für die aufsteigende oder aber die absteigende Reihenfolge klickt, so dass der Wert (innerhalb vorher festgelegter Grenzwerte) erhöht oder verringert werden kann.
  • Drittens wird der Name des bearbeiteten RE oder RME im Bezeichnungsfeld 2324 angezeigt. Wenn ein vorhandenes RE oder RME bearbeitet wird, entspricht der vom Bezeichnungsfeld 2324 angezeigte Name dem Namen, der diesem Objekt zuvor zugewiesen wurde. Wenn ein neues RE oder RME erzeugt wird, entspricht der im Bezeichnungsfeld 2324 angezeigte Name einem Standardwert, der in einer bevorzugten Ausführungsform der vorliegenden Erfindung die Form "New XX" hat, wobei XX ein Zähler ist, der die Unverwechselbarkeit des zugewiesenen Namens gewährleistet.
  • Viertens werden die STs, die das bearbeitete RE oder RME bilden, gemeinsam von den Textfeldern 2335 und 2334 angegeben. Das Textfeld 2335 gibt einen Platz in einer Feldrangfolge an, der üblicherweise den Wert 1 für das äußerste linke Feld des bearbeiteten RE oder RME hat und der für das äußerste rechte Feld des bearbeiteten RE oder RME den Wert annimmt, der auch im Textfeld 2326 angezeigt wird. Das Textfeld 2334 gibt den Namen der ST für das Feld an, dessen Rang vom Textfeld 2335 angegeben wird.
  • Das Dialogfeld 2321 des RE-Editors enthält mehrere Grafikobjekte, die es dem Benutzer des Tabellenkalkulationsprogramms ermöglichen, bestimmte Maßnahmen zu ergreifen.
  • Erstens kann der Benutzer des Tabellenkalkulationsprogramms dem gerade bearbeiteten RE oder RME einen neuen Namen zuweisen. Er verwendet zu diesem Zweck ein herkömmliches Mittel wie zum Beispiel die Tastatur 104, um im Textfeld 2325 den neuen Namen anzugeben, den das bearbeitete RE oder RME erhalten soll. Anschließend klickt er mit der Zeigeeinheit 105 auf die Schaltfläche "Save As" 2332. Wenn der festgelegte, im Textfeld 2325 eingegebene Name bereits einem vorhandenen Objekt zugewiesen worden war oder kein gültiger Name ist, wird dem Benutzer über ein herkömmliches Mittel wie zum Beispiel Dialogfenster, Meldungen in der Statusleiste oder über irgendein anderes ähnliches herkömmliches Mittel, das stattdessen verwendet werden kann, eine Warnmeldung auf dem Bildschirm 106 angezeigt. Diese Warnmeldung setzt den Benutzer des Tabellenkalkulationsprogramms von dieser Situation in Kenntnis und fordert ihn anschließend zur Bestätigung auf. Daraufhin wird der Inhalt des Textfeldes 2325 gelöscht, ohne dass eine weitere Maßnahme ergriffen wird. Wenn der im Textfeld 2325 eingegebene festgelegte Name noch keinem vorhandenen Objekt zugewiesen wurde und ein gültiger Name ist, wird der Inhalt des Textfeldes 2325 gelöscht, und das bearbeitete Objekt wird in der Arbeitsblattdatei unter dem neuen Namen gespeichert, der wiederum im Bezeichnungsfeld 2324 angezeigt wird.
  • Zweitens kann der Benutzer des Tabellenkalkulationsprogramms die aktuelle Definition des bearbeiteten Objekts in der Arbeitsblattdatei speichern, indem er mit der Zeigeeinheit 105 auf die Schaltfläche "Save" 2333 klickt. Durch dieses Ereignis wird geprüft, ob bereits von einer vorhandenen RST auf das aktualisierte RE oder RME verwiesen wird. Wenn dies nicht der Fall ist, wird die aktualisierte Definition des RE oder RME in der Arbeitsblattdatei gespeichert. Wenn dies der Fall ist, wird dem Benutzer über ein herkömmliches Mittel wie zum Beispiel Dialogfenster, Meldungen in der Statusleiste oder über irgendein anderes ähnliches herkömmliches Mittel, das stattdessen verwendet werden kann, eine Warnmeldung auf dem Bildschirm 106 angezeigt. Diese Warnmeldung setzt den Benutzer des Tabellenkalkulationsprogramms von dieser Situation in Kenntnis und fordert ihn anschließend auf, die Operation entweder abzubrechen oder fortzusetzen. Im ersten Fall wird die aktualisierte Definition des RE oder des RME nicht gespeichert, wohingegen sie im zweiten Fall in der Arbeitsblattdatei gespeichert wird.
  • Drittens kann der Benutzer des Tabellenkalkulationsprogramms die Definition der STs ändern, die das bearbeitete RE oder RME bilden. Zu diesem Zweck navigiert er zuerst in den Feldern des bearbeiteten Objekts, indem er mit der Zeigeeinheit 105 auf das Drehfeld 2329 klickt, um den Rang des Feldes entweder zu verringern oder zu erhöhen, was im Textfeld 2335 angezeigt wird, und wobei der Name der ST des Feldes im Textfeld 2334 angezeigt wird. Der Wert, den der Rang des Feldes annimmt, wird in einem Werteintervall gehalten, dessen unterer Grenzwert von dem Wert 1 (eins) und dessen oberer Grenzwert von dem Wert des Textfelds 2326 gebildet wird. Dann kann der Benutzer des Tabellenkalkulationsprogramms den Namen der ST für das Feld aktualisieren, dessen Rang im Textfeld 2335 angezeigt wird, indem er mit der Zeigeeinheit 105 auf das Drehfeld 2328 klickt, um einen verfügbaren Namen für die ST auszuwählen.
  • Schließlich kann der Benutzer mit der Zeigeeinheit 105 auf die Schaltfläche "Done" 2323 oder auf die Schaltfläche 2322 zum Schließen des Fensters klicken, wenn er das RE-Editor-Verfahren beenden möchte. Dies bewirkt, dass das Dialogfeld 2321 des RE-Editors auf dem Bildschirm 106 geschlossen wird.
    • • e. ST Editor: Gemäß dem vorherigen Szenario, das das RST-Manager-Verfahren zeigt, kann der Benutzer des Tabellenkalkulationsprogramms dann über ein herkömmliches Mittel, das in einer Tabellenkalkulationsumgebung zur Verfügung steht, wie zum Beispiel die Zeigeeinheit 105 oder die Tastatur 104, jedoch nicht auf diese beschränkt, einen bestimmten ursprünglichen Befehl mit der Bezeichnung "ST Editor" aufrufen, um entweder eine neue ST zu erzeugen oder um eine vorhandene ST zu aktualisieren. Das entsprechende Szenario ist in der internationalen Patentanmeldung PCT/EP 02/09483 (IBM-Aktenzeichen FR9 2001 0029 ) mit dem Titel "System and method in an electronic spreadsheet for exporting-importing the content of input cells from a scalable template instance to another" von Aureglia u.a. beschrieben.
    • • f. RST Editor: Gemäß dem vorherigen Szenario, das das RST-Manager-Verfahren zeigt, kann der Benutzer des Tabellenkalkulationsprogramms dann über ein herkömmliches Mittel, das in einer Tabellenkalkulationsumgebung zur Verfügung steht, wie zum Beispiel die Zeigeeinheit 105 oder die Tastatur 104, jedoch nicht auf diese beschränkt, einen bestimmten ursprünglichen Befehl mit der Bezeichnung "RST Editor" aufrufen, um entweder eine neue RST zu erzeugen oder um eine vorhandene RST zu aktualisieren. Dies lässt sich anhand der mit Verweis auf 21B beschriebenen Benutzerschnittstelle veranschaulichen, die das Dialogfeld 601 des RST-Editors zeigt, das auf dem Bildschirm 106 im Fenster der GUI 611 der Tabellenkalkulations-Büroanwendung angezeigt wird. Wenn das Dialogfeld 601 des RST-Editors auf dem Bildschirm 106 angezeigt wird, wird das aktuelle Arbeitsblatt in einer bevorzugten Ausführungsform der vorliegenden Erfindung zu einem funktionsspezifischen Arbeitsblatt mit der Bezeichnung "Editor Space" 615. Im Arbeitsblatt "Editor Space" 615 erscheint die zu bearbeitende RST als ein Bereich von Zellen 614 in der oberen linken Ecke, wobei sich die oberste linke Zelle an der Adresse B2 befindet. Obgleich die bearbeitete RST einem gewöhnlichen Zellenbereich 614 in einem Arbeitsblatt entspricht, können herkömmliche Werkzeuge, die in Tabellenkalkulationsumgebungen zur Verfügung stehen, nicht zur Aktualisierung dieses Zellenbereichs 614 verwendet werden. Der Benutzer des Tabellenkalkulationsprogramms kann in dem Zellenbereich 614, der die RST darstellt, nur navigieren und entweder Zeilen in den Zellenbereich 614, der die RST darstellt, einfügen oder Zeilen darin löschen, indem er eigens dafür vorgesehene Mittel verwendet, die Teil des Dialogfelds 601 des RST-Editors sind. Die Funktion zum Einfügen von Zeilen oder zum Löschen von Zeilen im Arbeitsblatt "Editor Space" 615 ist deaktiviert. Überdies ist das Arbeitsblatt "Editor Space" 615 schreibgeschützt, um zu verhindern, dass der Benutzer die Einstellungen der REs oder der RMEs, die als Teil der vom Zellenbereich 614 dargestellten RST festgelegt wurden, versehentlich ändert.
  • Wenn das Dialogfeld 601 des RST-Editors auf dem Bildschirm 106 angezeigt wird, enthält es einige Informationsangaben, die sich entweder auf die ganze RST, die vom Zellenbereich 614 dargestellt wird, oder auf das RE oder RME beziehen, auf das die Zelle zeigt, die gerade in eben diesem Zellenbereich 614 ausgewählt wurde.
  • Zuerst wird das RE oder das RME, auf das die Zelle zeigt, die gerade ausgewählt wurde, im Kombinationsfeld "RE" 610 angezeigt. Indem er mit der Zeigeeinheit 105 auf den Pfeil klickt, der sich rechts von diesem Kombinationsfeld "RE" 610 befindet, kann der Benutzer des Tabellenkalkulationsprogramms die Liste der definierten REs und RMEs anzeigen und in dieser Liste navigieren und dann das gewünschte RE oder RME auswählen, wobei seine Wahl in der Zeile angezeigt wird, in der sich die gerade im Zellenbereich 614 ausgewählte Zelle befindet. Wenn der Benutzer des Tabellenkalkulationsprogramms die ausgewählte Zelle im Zellenbereich 614 ändert, indem er mit der Zeigeeinheit 105 auf die Schaltfläche "Up" 619 oder auf die Schaltfläche "Down" 616 klickt, wird der im Kombinationsfeld 610 angezeigte Name aktualisiert, um den Namen des RE oder des RME anzugeben, das der neu ausgewählten Zeile entspricht. Wenn der Benutzer des Tabellenkalkulationsprogramms entweder in den Kopfzeilenteil oder in den Fußzeilenteil der RST ein neues RME einfügen möchte, muss er mit der Zeigeeinheit 105 lediglich auf die Schaltfläche "Add" 617 klicken, um an der gewünschten Stelle über der letzten Position der gerade ausgewählten Zelle eine neue Zeile in den Zellenbereich 614 einzufügen. Dann wird der Zellenbereich 614 aktualisiert, wobei eine neue Zeile im Fenster 611 angezeigt wird. Anschließend wird das Dialogfeld 601 des RST-Editors aktualisiert, indem der Name, der dem eingefügten RME standardmäßig zugewiesen wird, im Kombinationsfeld 610 angezeigt wird. Wenn der Benutzer des Tabellenkalkulationsprogramms ein RME entweder aus dem Kopfzeilenteil oder aus dem Fußzeilenteil der RST entfernen möchte, muss er mit der Zeigeeinheit 105 lediglich auf die Schaltfläche "Delete" 618 klicken, um an der gewünschten Stelle die entsprechende Zeile im Zellenbereich 614 zu entfernen. Dann wird die gerade ausgewählte Zelle im Zellenbereich 614 die Zelle, die zu der Zeile gehört, welche das unverwechselbare, in der RST festgelegte RE darstellt, und das Dialogfeld 601 des RST-Editors wird aktualisiert, indem es den Namen des unverwechselbaren, in der RST festgelegten REs im Kombinationsfeld 610 anzeigt.
  • Zweitens wird die Mindestzahl der REs, die in einer RSTI zulässig sind, welche sich an die bearbeitete RST hält, im Textfeld "MIN" 606 angegeben. Ebenso wird die Höchstzahl der REs, die in einer RSTI zulässig sind, welche die bearbeitete RST übernimmt, im Textfeld "MAX" 609 angegeben. Wenn eine neue RST erzeugt wird (wobei der Benutzer des Tabellenkalkulationsprogramms zuvor mit dem Zeigegerät 105 auf die Optionsschaltfläche 219 geklickt hat, um sie mit einem Punkt zu versehen, und auf die Schaltfläche 210, die alle im Dialogfeld 200 des RST-Managers enthalten sind, wie in 2 gezeigt ist), entspricht der vom Textfeld "MIN" 606 angezeigte Wert einem Standardwert, der in einer bevorzugten Ausführungsform der vorliegenden Erfindung auf 1 gesetzt wird, und der vom Textfeld "MAX" 609 angezeigte Wert entspricht einem Standardwert, der in einer bevorzugten Ausführungsform der vorliegenden Erfindung auf 16 gesetzt wird. Wenn eine vorhandene RST bearbeitet wird, entsprechen die von den Textfeldern 606 und 609 angezeigten Werte der Mindest- beziehungsweise der Höchstzahl der REs, die in einer RSTI, welche sich an die gerade bearbeitete RST hält, zulässig sind, wobei diese Werte zuvor vom Benutzer des Tabellenkalkulationsprogramms festgelegt wurden. In allen Fällen kann der Benutzer des Tabellenkalkulationsprogramms die im Textfeld "MIN" 606 oder im Textfeld "MAX" 609 angezeigten Werte ändern, indem er mit der Zeigeeinheit 105 auf die Seite des Drehfelds 607 für die aufsteigende oder aber die absteigende Reihenfolge beziehungsweise auf die Seite des Drehfelds 608 für die aufsteigende oder die absteigende Reihenfolge klickt, so dass die Werte (innerhalb vorher festgelegter Grenzwerte) erhöht oder verringert werden können, während gleichzeitig sichergestellt wird, dass der im Textfeld "MIN" 606 angegebene Wert geringer als der oder gleich dem im Textfeld "MAX" 609 angegebene(n) Wert bleibt. Falls eine vorhandene RSTI, welche sich an die aktualisierte RST hält, eine Anzahl von Elementen aufweist, die außerhalb des neuen "MIN"-"MAX"-Intervalls liegt, bleibt diese RSTI von der Aktualisierung der RST unberührt, aber jeder künftige Hinzufüge- oder Löschvorgang von REs erfolgt entsprechend der neuen Festlegung des "MIN"-"MAX"-Intervalls.
  • Drittens wird der Name der bearbeiteten RST im Bezeichnungsfeld 604 angezeigt. Wenn eine vorhandene RST bearbeitet wird, entspricht der vom Bezeichnungsfeld 604 angezeigte Name dem Namen, der diesem Objekt zuvor zugewiesen wurde. Wenn eine neue RST erzeugt wird, entspricht der im Bezeichnungsfeld 604 angezeigte Name einem Standardwert, der in einer bevorzugten Ausführungsform der vorliegenden Erfindung die Form "New XX" hat, wobei XX ein Zähler ist, der die Unverwechselbarkeit des zugewiesenen Namens gewährleistet.
  • Das Dialogfeld 601 des RST-Editors umfasst mehrere Grafikobjekte, die es dem Benutzer des Tabellenkalkulationsprogramms ermöglichen, bestimmte Maßnahmen zu ergreifen.
  • Erstens kann der Benutzer des Tabellenkalkulationsprogramms der gerade bearbeiteten RST einen neuen Namen zuweisen, wenn diese RST derzeit aus REs und RMEs besteht, die alle die gleiche Anzahl von Feldern haben. Tatsächlich wird in diesem Fall die Schaltfläche "Save As" 612 aktiviert, so dass jeder Klick mit der Zeigeeinheit 105 auf diese Schaltfläche als ein gültiges Ereignis erkannt wird. Der Benutzer des Tabellenkalkulationsprogramms verwendet zuerst ein herkömmliches Mittel wie zum Beispiel die Tastatur 104, um im Textfeld 605 den neuen Namen anzugeben, den die bearbeitete RST erhalten soll. Anschließend klickt er mit der Zeigeeinheit 105 auf die Schaltfläche "Save As" 612. Wenn der festgelegte, im Textfeld 605 eingegebene Name bereits einem vorhandenen Objekt zugewiesen worden war oder kein gültiger Name ist, wird dem Benutzer über ein herkömmliches Mittel wie zum Beispiel Dialogfenster, Meldungen in der Statusleiste oder über irgendein anderes ähnliches herkömmliches Mittel, das stattdessen verwendet werden kann, eine Warnmeldung auf dem Bildschirm 106 angezeigt. Diese Warnmeldung setzt den Benutzer des Tabellenkalkulationsprogramms von dieser Situation in Kenntnis und fordert ihn anschließend zur Bestätigung auf. Daraufhin wird der Inhalt des Textfeldes 605 gelöscht, ohne dass eine weitere Maßnahme ergriffen wird. wenn der im Textfeld 605 eingegebene festgelegte Name noch keinem vorhandenen Objekt zugewiesen wurde und ein gültiger Name ist, wird der Inhalt des Textfeldes 605 gelöscht, und die bearbeitete RST wird in der Arbeitsblattdatei unter dem neuen Namen gespeichert, der wiederum im Bezeichnungsfeld 604 angezeigt wird.
  • Zweitens kann der Benutzer des Tabellenkalkulationsprogramms in der Arbeitsblattdatei die aktuelle Definition der bearbeiteten RST speichern, wenn diese RST derzeit aus REs und RMEs besteht, die alle die gleiche Anzahl von Feldern haben. Tatsächlich wird in diesem Fall die Schaltfläche "Save" 613 aktiviert, so dass jeder Klick mit der Zeigeeinheit 105 auf diese Schaltfläche als ein gültiges Ereignis erkannt wird. Dieses Ereignis hat zur Folge, dass geprüft wird, ob auf die aktualisierte RST bereits von einer vorhandenen RSTI verwiesen wird. Wenn dies nicht der Fall ist, wird die aktualisierte Definition der RST in der Arbeitsblattdatei gespeichert. Wenn dies der Fall ist, wird dem Benutzer über ein herkömmliches Mittel wie zum Beispiel Dialogfenster, Meldungen in der Statusleiste oder über irgendein anderes ähnliches herkömmliches Mittel, das stattdessen verwendet werden kann, eine Warnmeldung auf dem Bildschirm 106 angezeigt. Diese Warnmeldung setzt den Benutzer des Tabellenkalkulationsprogramms von dieser Situation in Kenntnis und fordert ihn anschließend auf, die Operation entweder abzubrechen oder fortzusetzen. Im ersten Fall wird die aktualisierte Definition der RST nicht gespeichert, wohingegen sie im zweiten Fall in der Arbeitsblattdatei gespeichert wird.
  • Schließlich kann der Benutzer mit der Zeigeeinheit 105 auf die Schaltfläche "Done" 603 oder auf die Schaltfläche 602 zum Schließen des Fensters klicken, wenn er das RST-Editor-Verfahren beenden möchte. Dies bewirkt, dass das Dialogfeld 601 des RST-Editors auf dem Bildschirm 106 geschlossen und zu dem Arbeitsblatt zurückgekehrt wird, das aktiv war, als der Befehl "RST Editor" zuerst aufgerufen wurde.
    • • g. ST Instanciator: Gemäß dem vorherigen Szenario, das das RST-Manager-Verfahren zeigt, kann der Benutzer des Tabellenkalkulationsprogramms dann über ein herkömmliches Mittel, das in einer Tabellenkalkulationsumgebung zur Verfügung steht, wie zum Beispiel die Zeigeeinheit 105 oder die Tastatur 104, jedoch nicht auf diese beschränkt, einen bestimmten ursprünglichen Befehl mit der Bezeichnung "ST Instanciator" aufrufen, um eine STI zu erzeugen, die sich an eine ausgewählte ST hält und sich entsprechend der gerade ausgewählten Zelle auffinden lässt. Das entsprechende Szenario ist in der internationalen Patentanmeldung PCT/EP 02/09483 (IBM-Aktenzeichen FR9 2001 0029 ) mit dem Titel "System and method in an electronic spreadsheet for exporting-importing the content of input cells from a scalable template instance to another" von Aureglia u.a. beschrieben.
    • • h. RST Instanciator: Gemäß dem vorherigen Szenario, das das RST-Manager-Verfahren zeigt, kann der Benutzer des Tabellenkalkulationsprogramms dann über ein herkömmliches Mittel, das in einer Tabellenkalkulationsumgebung zur Verfügung steht, wie zum Beispiel die Zeigeeinheit 105 oder die Tastatur 104, jedoch nicht auf diese beschränkt, einen bestimmten ursprünglichen Befehl mit der Bezeichnung "RST Instanciator" aufrufen, um eine RSTI zu erzeugen, die sich an eine ausgewählte RST hält und sich entsprechend der gerade ausgewählten Zelle auffinden lässt. Dies lässt sich anhand der mit Verweis auf 18A beschriebenen Benutzerschnittstelle veranschaulichen, die das Dialogfeld 2300 des RST-Instanziators zeigt, das auf dem Bildschirm 106 angezeigt wird. Wenn das Dialogfeld 2300 des RST-Instanziators auf dem Bildschirm 106 angezeigt wird, bleibt das aktuelle Blatt nach wie vor aktiv, so dass der Benutzer des Tabellenkalkulationsprogramms die darauf befindlichen Daten darstellen kann. Das Dialogfeld 2300 des RST-Instanziators enthält einige Informationsangaben, die sich auf die Instanziierungsoperation beziehen.
  • Erstens wird der Name der RST, die sich an die zu erzeugende RSTI hält, in einem Bezeichnungsfeld 2302 angezeigt.
  • Zweitens wird die Anzahl der REs, die zum Zeitpunkt der Erzeugung der RSTI vorhanden sein sollen, in einem Textfeld 2311 angezeigt. Diese Anzahl hat einen Standardwert, der gleich der Mindestzahl an REs ist, welche bei der Definition der RST, die sich an die zu erzeugende RSTI hält, angegeben wurde. Wenn der Benutzer des Tabellenkalkulationsprogramms eine RSTI mit einer anderen Anzahl von REs erzeugen möchte, muss er mit der Zeigeeinheit 105 auf die obere oder untere Seite des Drehfeldes 2303 klicken, um die Anzahl der REs entweder zu erhöhen oder zu verringern. Diese Anzahl von REs verändert sich innerhalb eines Bereichs, der durch die Mindest- und die Höchstzahl an REs begrenzt ist, welche jeweils bei der Definition der RST angegeben wurden (Felder: "Min Element #" 2225 und "Max Element #" 2226 in einem Datensatz 2221 der RSTT-Tabelle 2220, bei dem der Eintrag in seinem Feld "Name" 2222 mit dem Namen übereinstimmt, der im Bezeichnungsfeld 2302 angegeben wird), und diese Anzahl wird nach einer möglichen Aktualisierung im Textfeld 2311 angezeigt.
  • Drittens kann das Dialogfeld 2300 des RST-Instanziators durch Anklicken der Schaltfläche "Cancel" 2308 oder der Schaltfläche 2301 zum Schließen des Fensters geschlossen werden, ohne dass eine weitere Maßnahme getroffen wird. Durch Anklicken von einer dieser beiden Schaltflächen 2301 und 2308 mit der Zeigeeinheit 105 wird das Dialogfeld 2300 des RST-Instanziators geschlossen, und die RST-Instanziierungsoperation wird abgebrochen.
  • Viertens ist die Schaltfläche "Create Instance" 2310, wenn sie zuerst aktiviert und anschließend vom Benutzer des Tabellenkalkulationsprogramms mit der Zeigeeinheit 105 angeklickt wird, der Auslöser, der den Vorgang der Instanziierung der RST startet. Diese Schaltfläche "Create Instance" 2310 wird aktiviert (was bedeutet, dass das Verfahren das Klickereignis mit der Zeigeeinheit 105 auf diese Schaltfläche "Create Instance" 2310 erkennt), wenn die Instanziierungsoperation möglich ist. Ob diese Instanziierung der RST möglich ist, hängt von verschiedenen Faktoren ab: der Position der gerade ausgewählten Zelle in dem aktuellen Arbeitsblatt des Tabellenkalkulationsprogramms, der Größe der zu erzeugenden RSTI, dem Vorhandensein einer STI, die zu demselben Arbeitsblatt wie die gerade ausgewählte Zelle gehört. Ob es möglich ist, eine neue RSTI mit der im Textfeld 2303 angegebenen Größe zu erzeugen, welche sich an eine RST hält, deren Name von dem Bezeichnungsfeld 2302 angegeben wird, dessen linke obere Ecke sich in der gerade ausgewählten Zelle befindet, wird von mehreren Bezeichnungsfeldern angegeben, die die Werte "YES" oder "NO" annehmen und Teil des Dialogfelds 2300 des RST-Instanziators sind: dem Bezeichnungsfeld 2304, das anzeigt, ob die neue RSTI zu breit ist oder nicht zu breit ist, dem Bezeichnungsfeld 2305, das anzeigt, ob die neue RSTI zu hoch oder nicht zu hoch ist, dem Bezeichnungsfeld 2306, das anzeigt, ob eine vorhandene STI bereits auf dem Arbeitsblatt festgelegt ist, das die gerade ausgewählte Zelle enthält, und dem Bezeichnungsfeld 2307, das anzeigt, ob die Erzeugung der neuen RSTI zum Verlust von vorhandenen Daten führen kann, die in einer oder mehreren Zellen des Arbeitsblatts enthalten sind. Sobald das Bezeichnungsfeld 2304 oder das Bezeichnungsfeld 2305 oder das Bezeichnungsfeld 2306 den Wert "YES" annehmen, wird die Erzeugung der RSTI als unmöglich angesehen, so dass die Schaltfläche "Create Instance" 2310 deaktiviert wird. Wenn in diesen drei Bezeichnungsfeldern der Wert "NO" angezeigt wird, ist die Instanziierungsoperation möglich, so dass die Schaltfläche "Create Instance" 2310 aktiviert wird. Wenn der Benutzer des Tabellenkalkulationsprogramms mit der Zeigeeinheit 105 auf diese Schaltfläche klickt, wird die Instanziierungsoperation durchgeführt, und daraufhin wird das Dialogfeld 2300 des RST-Instanziators geschlossen.
  • Fünftens ist die Schaltfläche "Create instance in a new sheet"" 2309, wenn sie zuerst aktiviert und anschließend vom Benutzer des Tabellenkalkulationsprogramms mit der Zeigeeinheit 105 angeklickt wird, ein alternativer Auslöser, der den Vorgang der Instanziierung der RST startet, jedoch auf einem Arbeitsblatt, das als Teil dieser Instanziierungsoperation erzeugt wird. In einer bevorzugten Ausführungsform der vorliegenden Erfindung wird das neue Arbeitsblatt nach dem Arbeitsblatt erzeugt, welches die gerade ausgewählte Zelle enthält. Jede andere Position auf dem Arbeitsblatt könnte stattdessen ebenfalls verwendet werden. Diese Schaltfläche "Create instance in a new sheet" 2309 wird aktiviert (was bedeutet, dass das Verfahren das Klickereignis mit der Zeigeeinheit 105 auf diese Schaltfläche "Create instance in a new sheet" 2309 erkennt), wenn die Instanziierungsoperation auf einem neuen Arbeitsblatt möglich ist. Ob diese Instanziierung der RST auf einem neuen Arbeitsblatt möglich ist, hängt von der Größe der zu erzeugenden RSTI ab. Ob es möglich ist, eine neue RSTI auf einem neuen Arbeitsblatt mit der im Textfeld 2303 angegebenen Größe zu erzeugen, welche sich an eine RST hält, deren Name von dem Bezeichnungsfeld 2302 angegeben wird, wird von mehreren Bezeichnungsfeldern angegeben, die die Werte "YES" oder "NO" annehmen und Teil des Dialogfelds 2300 des RST-Instanziators sind: dem Bezeichnungsfeld 2304, das anzeigt, ob die neue RSTI zu breit ist oder nicht zu breit ist, und dem Bezeichnungsfeld 2305, das anzeigt, ob die neue RSTI zu hoch ist oder nicht zu hoch ist. Sobald das Bezeichnungsfeld 2304 oder das Bezeichnungsfeld 2305 den Wert "YES" annehmen, wird die Erzeugung der RSTI auf einem neuen Arbeitsblatt als unmöglich angesehen, so dass die Schaltfläche "Create instance in a new sheet" 2309 deaktiviert wird. Wenn in diesen beiden Bezeichnungsfeldern der Wert "NO" angezeigt wird, ist die Instanziierungsoperation auf einem neuen Arbeitsblatt möglich, so dass die Schaltfläche "Create instance in a new sheet" 2309 aktiviert wird. Wenn der Benutzer des Tabellenkalkulationsprogramms mit der Zeigeeinheit 105 auf diese Schaltfläche klickt, wird die Instanziierungsoperation auf einem neuen Arbeitsblatt durchgeführt, und daraufhin wird das Dialogfeld 2300 des RST-Instanziators geschlossen.
  • • 2. Zweite Operation: Einfügen von neuen Elementen in eine festgelegte STI
  • Die zweite Operation findet statt, wenn der Benutzer des Tabellenkalkulationsprogramms auf der Grundlage seiner eigenen Kriterien, die hier nicht ausführlich beschrieben werden, entscheidet, neue Elemente in eine festgelegte STI einzufügen. Das entsprechende Szenario ist in der internationalen Patentanmeldung PCT/EP 02/09483 (IBM-Aktenzeichen FR9 2001 0029 ) mit dem Titel "System and method in an electronic spreadsheet for exporting-importing the content of input cells from a scalable template instance to another" von Aureglia u.a. beschrieben.
  • • 3. Dritte Operation: Entfernen von Elementen aus einer festgelegten STI
  • Die vierte Operation findet statt, wenn der Benutzer des Tabellenkalkulationsprogramms auf der Grundlage seiner eigenen Kriterien, die hier nicht ausführlich beschrieben werden, entscheidet, entweder ein paar Elemente aus einer festgelegten STI zu entfernen oder den Inhalt von ein paar Elementen in einer festgelegten STI zu löschen oder eine ganze festgelegte STI zu löschen oder gar einige Zellen oder Spalten oder Zeilen aus dem aktuellen Arbeitsblatt zu löschen. Das entsprechende Szenario ist in der internationalen Patentanmeldung PCT/EP 02/09483 (IBM-Aktenzeichen FR9 2001 0029 ) mit dem Titel "System and method in an electronic spreadsheet for exporting-importing the content of input cells from a scalable template instance to another" von Aureglia u.a. beschrieben.
  • E. VERFAHREN
  • E1. RST-Manager-Verfahren
  • Das Verfahren zur Verwaltung von EFs, MEFs, EPs, MEPs, STs, REs und RSTs, das in der bevorzugten Ausführungsform der vorliegenden Erfindung verwendet wird, ist im Flussdiagramm 800 von 8 zusammengefasst. Dieses Verfahren kann als Verarbeitung des Befehls "RST-Manager" betrachtet werden.
    • • Im Schritt 801 befindet sich das Verfahren in seinem standardmäßigen Zustand, in dem es auf ein Ereignis zum Starten des Prozesses wartet.
    • • Im Schritt 802 wird der Befehl "RST Manager" als Ergebnis einer Benutzeraktion festgestellt. Diese Aktion kann beispielsweise Folgende sein:
    • • eine bestimmte Tastenkombination auf der Tastatur 104 oder
    • • das Anklicken einer bestimmten Schaltfläche mit der Zeigeeinheit 105 oder
    • • ein anderes ähnliches Mittel, das hier nicht näher angegeben wird.
    • • Im Schritt 803 werden einige lokale Variablen mit einem Anfangswert belegt:
    • • die lokale Variable RSTM_select wird auf den Wert 0 (null) gesetzt,
    • • die lokale Variable RSTM_new wird auf den Wert "NONE" gesetzt,
    • • die lokale Variable RSTM_range wird auf den Wert "NO" gesetzt,
    • • die lokale Variable RSTM_index wird auf den Wert 1 (eins) gesetzt, und
    • • die lokale Variable RSTM_child wird auf den Wert "NO" gesetzt.
    • • Im Schritt 804 werden die fünf Tabellen EFT 700, EPT 710, STT 720, RET 2210 und RSTT 2220 ausgewertet, um die Tabelle RSTMT 2230 abzuleiten. Für jeden einzelnen Datensatz 701 oder 711 oder 721 oder 2211 oder 2221, der in einer dieser fünf Tabellen vorgefunden wird, wird ein neuer Datensatz 2231 in der RSTMT-Tabelle 2230 angelegt.
  • Nun Bezug nehmend auf die 7A, 7B, 7C, 17A, 17B und 17C findet dieser Aufbau statt, indem alle im Datensatz 701 festgelegten Felder (das Feld "Name" 702, das Feld "Last Change Date" 703, das Feld "Description Ptr" 704, das Feld "Row #" 705, das Feld "Column #" 706 und das Feld "Type" 707) oder alle im Datensatz 711 festgelegten Felder (das Feld "Name" 712, das Feld "Last Change Date" 713, das Feld "Description Ptr" 714, das Feld "Row #" 715, das Feld "Column #" 716 und das Feld "Type" 717) oder alle im Datensatz 721 festgelegten Felder (das Feld "Name" 722, das Feld "Last Change Date" 723, das Feld "Description Ptr" 724, das Feld "Min Element #" 725, das Feld "Max Element #" 726 und das Feld "Type" 727) oder alle im Datensatz 2211 festgelegten Felder (das Feld "Name" 2212, das Feld "Last Change Date" 2213, das Feld "Description Ptr" 2214, das Feld "Row #" 2215, das Feld "Column #" 2216 und das Feld "Type" 2217) oder alle im Datensatz 2221 festgelegten Felder (das Feld "Name" 2222, das Feld "Last Change Date" 2223, das Feld "Description Ptr" 2224, das Feld "Min Element #" 2225, das Feld "Max Element #" 2226 und das Feld "Type" 2227) hintereinander in die entsprechenden Felder des Datensatzes 2231 (das Feld "Name" 2232, das Feld "Last Change Date" 2233, das Feld "Description Ptr" 2234, das Feld "Info Field 1" 2235, das Feld "Info Field 2" 2236 und das Feld "Type" 2237) kopiert werden, im Feld "Type" 2237 dann das Attribut "SELECTED" 2242 auf "NO" und das Attribut "NATURE" 2241 auf die Werte "FORMAT" oder "PROFILE" oder "TEMPLATE" oder "RECELEMENT" oder "RECTEMPLATE" gesetzt werden, wenn der Datensatz 2231 aus einem Datensatz 701 oder 711 oder 721 oder 2211 oder 2221 kopiert wurde, und indem anschließend der Anfangswert des letzten Feldes "Index" 2238 auf den Wert eines Zählers gesetzt wird, dessen Zählstand sich bei jedem neuen Datensatz erhöht und der mit dem Wert 1 (eins) beginnt.
    • • Im Schritt 805 wird das Dialogfeld 200 des RST-Managers auf dem Bildschirm 106 angezeigt.
    • • Die Information "Name", die ganz oben im Listenfeld 213 erscheint, entspricht dem Feld "Name" 2232 des Datensatzes 2231 in der RSTMT-Tabelle 2230, dessen Feld "Index" 2238 den gleichen Wert wie die lokale Variable RSTM_index hat. Informationen unterhalb von "Name" in diesem Listenfeld 213 entsprechen dem Feld "Name" 2232 der folgenden Datensätze 2231 der RSTMT-Tabelle 2230.
    • • Die Information "Type", die ganz oben im Listenfeld 214 erscheint, wird vom Feld "Type" 2237 (Attribute "NATURE" 2241 und "META" 2239) des Datensatzes 2231 in der RSTMT-Tabelle 2230 abgeleitet, dessen Feld "Index" 2238 den gleichen Wert wie die lokale Variable RSTM_index hat. Informationen unterhalb von "Type" in diesem Listenfeld 213 werden vom Feld "Type" 2237 (Attribute "NATURE" 2241 und "META" 2239) der folgenden Datensätze 2231 der RSTMT-Tabelle 2230 abgeleitet.
    • • Die Information "Modified", die ganz oben im Listenfeld 202 erscheint, entspricht dem Feld "Last Change Date" 2233 des Datensatzes 2231 in der RSTMT-Tabelle 2230, dessen Feld "Index" 2238 den gleichen Wert wie die lokale Variable RSTM_index hat. Informationen unterhalb von "Modified" in diesem Listenfeld 213 entsprechen dem Feld "Last Change Date" 2233 der folgenden Datensätze 2231 der RSTMT-Tabelle 2230.
    • • Das Kontrollkästchen 212 wird angehakt, wenn das Attribut "SELECTED" 2242 des Felds "Type" 2237 des Datensatzes 2231 in der RSTMT-Tabelle 2230, dessen Feld "Index" 2238 den gleichen Wert wie die lokale Variable RSTM_index hat, auf "YES" gesetzt ist. Die darunter befindlichen Kontrollkästchen links des Listenfeldes 213 werden ebenfalls vom Feld "Type" 2237 (Attribut "SELECTED" 2242) der folgenden Datensätze 2231 der RSTMT-Tabelle 2230 abgeleitet.
    • • Die Optionsschaltfläche "Format" 217 ist nur dann mit einem schwarzen Punkt gekennzeichnet, wenn die lokale Variable RSTM_new den Wert "FORMAT" hat. Die Optionsschaltfläche "Profile" 209 ist nur dann mit einem schwarzen Punkt gekennzeichnet, wenn die lokale Variable RSTM_new den Wert "PROFILE" hat. Die Optionsschaltfläche "Template" 216 ist nur dann mit einem schwarzen Punkt gekennzeichnet, wenn die lokale Variable RSTM_new den Wert "TEMPLATE" hat. Die Optionsschaltfläche "RE" 218 ist nur dann mit einem schwarzen Punkt gekennzeichnet, wenn die lokale Variable RSTM_new den Wert "RECELEMENT" hat. Die Optionsschaltfläche "Recursive Template" 219 ist nur dann mit einem schwarzen Punkt gekennzeichnet, wenn die lokale Variable RSTM_new den Wert "RECTEMPLATE" hat.
    • • Das Kontrollkästchen "From current selection" 208 ist nur dann angehakt, wenn die lokale Variable RSTM_range den Wert "YES" hat.
    • • Das Kontrollkästchen "Including child objects (for Export)" 220 ist nur dann angehakt, wenn die lokale Variable RSTM_child den Wert "YES" hat.
    • • Im Schritt 806 wartet das Verfahren auf eine Benutzeraktion im Dialogfeld 200 des RST-Managers. Eine solche Benutzeraktion ist üblicherweise das Ergebnis eines Klicks mit der Zeigeeinheit 105, wobei dieser Auslöser jedoch auch andere ähnliche Formen annehmen kann wie zum Beispiel, jedoch nicht auf diese beschränkt, eine bestimmte Tastenkombination auf der Tastatur 104 oder irgendein anderes ähnliches Mittel, das hier nicht näher angegeben wird.
    • • Im Schritt 807 wird eine Benutzeraktion im Dialogfeld 200 des RST-Managers festgestellt.
    • • Wenn die Benutzeraktion ein Klick auf die Schaltfläche "Delete" 207 ist, wird die Steuerung dem Schritt 808 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Import" 205 ist, wird die Steuerung dem Schritt 810 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Done" 201 oder auf die Schaltfläche 215 zum Schließen des Fensters ist, wird die Steuerung dem Schritt 834 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Export" 206 ist, wird die Steuerung dem Schritt 811 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die horizontale Bildlaufleiste 203, entweder für die Aufwärts- oder die Abwärtsrichtung, ist, wird die Steuerung dem Schritt 814 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Optionsschaltflächen "Format" 217 oder "Profile" 209 oder "Template" 216 oder "RE" 218 oder "Recursive Template" 219 ist, wird die Steuerung dem Schritt 815 übergeben;
    • • wenn die Benutzeraktion ein Klick auf das Kontrollkästchen "From current selection" 208 ist, wird die Steuerung dem Schritt 816 übergeben;
    • • wenn die Benutzeraktion ein Klick auf das Kontrollkästchen "Including child objects (for Export)" 220 ist, wird die Steuerung dem Schritt 841 übergeben;
    • • wenn die Benutzeraktion ein Klick auf ein ganz oben befindliches Kontrollkästchen wie zum Beispiel das Kontrollkästchen 212 ist, wird die Steuerung dem Schritt 817 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Instanciate" 204 ist, wird die Steuerung dem Schritt 830 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Edit" 211 ist, wird die Steuerung dem Schritt 824 übergeben, und
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Create New" 210 ist, wird die Steuerung dem Schritt 818 übergeben.
    • • Im Schritt 808 wird ein Test an jedem der Datensätze 2231 der RSTMT-Tabelle 2230 durchgeführt, bei dem das Attribut "SELECTED" 2242 mit dem Teilfeld "REFERENCED OBJECT" (RO) 2240d in dessen Feld "Type" 2237 den Wert "YES" hat oder das Teilfeld "INSTANCE REFERENCE" (IR) 2240c einen Wert größer als 1 (eins) hat (bei diesem Test wird festgestellt, ob es Objekte gibt, die sich auf eines der ausgewählten Objekte beziehen, oder ob es Instanzen gibt, die eines der ausgewählten Objekte übernehmen).
    • • Wenn dies der Fall ist, wird die Steuerung dem Schritt 835 übergeben (was bedeutet, dass von einer ST oder einer STI oder einem RE oder einer RST oder einer RSTI auf mindestens einen zuvor ausgewählten Datensatz 2231 der RSTMT-Tabelle 2230 verwiesen wurde);
    • • andernfalls wird die Steuerung dem Schritt 809 übergeben.
    • • Im Schritt 809 wird der jeweilige Datensatz 701, 711, 721, 2211 und 2221 aus der EFT-Tabelle 700, der EPT-Tabelle 710, der STT-Tabelle 720, der RET-Tabelle 2210 und der RSTT-Tabelle 2220 entfernt, wenn das entsprechende jeweilige Feld "Name" 702, 712, 722, 2212 und 2222 mit dem Feld "Name" 2232 eines Datensatzes 2231 der RSTMT-Tabelle 2230 übereinstimmt, bei dem das Attribut "SELECTED" 2242 seines Feldes "Type" 2237 den Wert "YES" hat, was sich aus dem Schritt 817 ergibt. Anschließend wird die lokale Variable RSTM_select auf den Wert 0 (null) zurückgesetzt. Dann wird die Steuerung dem Schritt 804 übergeben, um die RSTMT-Tabelle 2230 neu zu erstellen.
    • • Im Schritt 810 wird der Befehl "RST Import Manager" ausgegeben, und daraufhin wird die Steuerung dem Schritt 834 übergeben.
    • • Im Schritt 811 wird ein Test durchgeführt, um festzustellen, ob die lokale Variable RSTM_select den Wert 0 (null) hat.
    • • Wenn dies der Fall ist, wird die Steuerung dem Schritt 813 übergeben;
    • • andernfalls wird die Steuerung dem Schritt 812 übergeben.
    • • Im Schritt 812 wird der Befehl "RST Export Manager" ausgegeben, und daraufhin wird die Steuerung dem Schritt 834 übergeben.
    • • Im Schritt 813 wird eine Warnmeldung ausgegeben, um den Benutzer darauf aufmerksam zu machen, dass mindestens ein Objekt ausgewählt werden muss, bevor die Schaltfläche "Export" 206 angeklickt wird. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Warnmeldung in einem Dialogfenster oder in einem Bereich der Statuszeile angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Sobald der Benutzer diesen Hinweis über ein herkömmliches Mittel wie zum Beispiel einen Klick mit der Zeigeeinheit 105 auf eine Schaltfläche "OK", die in einem Dialogfenster mit einer Warnmeldung vorhanden ist, oder über ein anderes ähnliches Mittel bestätigt hat, wird die Steuerung dem Schritt 805 übergeben.
    • • Im Schritt 814 wird der Wert der lokalen Variablen RSTM_index entsprechend der von der Zeigeeinheit 105 in der horizontalen Bildlaufleiste 203 vorgegebenen Richtung (nach oben oder nach unten) entweder um 1 (eins) erhöht oder verringert, und dies, solange ihr Wert positiv und geringer als oder gleichgroß wie die Anzahl der Datensätze 2231 bleibt, die in der RSTMT-Tabelle 2230 festgelegt wurden. Dann wird die Steuerung dem Schritt 805 übergeben.
    • • Im Schritt 815 wird die lokale Variable RSTM_new aktualisiert, um die vom Benutzer mit der Zeigeeinheit 105 angeklickte Optionsschaltfläche widerzuspiegeln.
    • • Wenn der Benutzer die Optionsschaltfläche "Format" 217 angeklickt hat, nimmt die lokale Variable RSTM_new den Wert "FORMAT" an.
    • • Wenn der Benutzer die Optionschaltfläche "Profile" 209 angeklickt hat, nimmt die lokale Variable RSTM_new den Wert "PROFILE" an.
    • • Wenn der Benutzer die Optionsschaltfläche "Template" 216 angeklickt hat, nimmt die lokale Variable RSTM_new den Wert "TEMPLATE" an.
    • • Wenn der Benutzer die Optionsschaltfläche "RE" 218 angeklickt hat, nimmt die lokale Variable RSTM_new den wert "RECELEMENT" an.
    • • Wenn der Benutzer die Optionsschaltfläche "Recursive Template" 219 angeklickt hat, nimmt die lokale Variable RSTM_new den Wert "RECTEMPLATE" an.
  • Daraufhin wird die Steuerung dem Schritt 805 übergeben.
    • • Im Schritt 816 wird die lokale Variable RSTM_range aktualisiert, so dass ihr Wert zwischen "YES" und "NO" wechselt. Überdies wird in dem Kontrollkästchen 206 in Abhängigkeit davon, ob dieses Kontrollkästchen 206 zuvor angehakt oder nicht angehakt war, ein Häkchen gesetzt beziehungsweise entfernt. Dann wird die Steuerung dem Schritt 805 übergeben.
    • • Im Schritt 817 aktualisiert das Verfahren den Wert des Feldes "Type" 2237 des Datensatzes 2231 in der RSTMT-Tabelle 2230, dessen Feld "Name" 2232 einen der Zeichenfolge im Listenfeld 213 entsprechenden Eintrag aufweist, welches sich unmittelbar rechts des Kontrollkästchens befindet, auf das der Benutzer soeben geklickt hat. Wenn der vorherige Wert des Attributs "SELECTED" 2242 dieses Felds "Type" 2237 den Wert "YES" hatte, besteht die Aktualisierung des Wertes darin, dieses Attribut "SELECTED" 2242 auf "NO" zu setzen, und umgekehrt, wenn der vorherige Wert des Attributs "SELECTED" 2242 "NO" lautete, besteht die Aktualisierung des Wertes darin, dieses Attribut "SELECTED" 2242 auf "YES" zu setzen. Im ersten Fall wird der Wert der lokalen Variablen RSTM_select um 1 verringert, und im zweiten Fall wird der Wert der lokalen Variablen RSTM_select um 1 erhöht. Im ersten Fall wird außerdem das Häkchen, das zuvor in dem Kontrollkästchen vorhanden war, auf das der Benutzer soeben geklickt hat, aus diesem Kontrollkästchen entfernt, und im zweiten Fall wird in dem Kontrollkästchen, auf das der Benutzer soeben geklickt hat, ein Häkchen angezeigt. Daraufhin wird die Steuerung dem Schritt 805 übergeben.
    • • Im Schritt 818 wird ein Test durchgeführt, um festzustellen, ob die lokale Variable RSTM_new den Wert "NONE" hat. Wenn dies der Fall ist, wird die Steuerung dem Schritt 819 übergeben; andernfalls wird die Steuerung dem Schritt 820 übergeben.
    • • Im Schritt 819 wird eine Warnmeldung ausgegeben, um den Benutzer darauf aufmerksam zu machen, dass mindestens eine Option (die Optionsschaltfläche "Format" 217 oder die Optionsschaltfläche "Profile" 209 oder die Optionsschaltfläche "Template" 216 oder die Optionsschaltfläche "RE" 218 oder die Optionsschaltfläche "Recursive Template" 219) ausgewählt werden muss, bevor die Schaltfläche "Create New" 210 angeklickt wird. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Warnmeldung in einem Dialogfenster oder in einem Bereich der Statuszeile angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Sobald der Benutzer diesen Hinweis über ein herkömmliches Mittel wie zum Beispiel einen Klick mit der Zeigeeinheit 105 auf eine Schaltfläche "OK", die in einem Dialogfenster mit einer Warnmeldung vorhanden ist, oder über ein anderes ähnliches Mittel bestätigt hat, wird die Steuerung dem Schritt 805 übergeben.
    • • Im Schritt 820 wird ein Test durchgeführt, um festzustellen, welchen Wert die lokale Variable RSTM_new angenommen hat.
    • • Wenn festgestellt wird, dass sie "FORMAT" lautet, wird die Steuerung dem Schritt 821 übergeben;
    • • wenn festgestellt wird, dass ihr Wert "PROFILE" lautet, wird die Steuerung dem Schritt 822 übergeben;
    • • wenn festgestellt wird, dass ihr Wert "TEMPLATE" lautet, wird die Steuerung dem Schritt 823 übergeben;
    • • wenn festgestellt wird, dass ihr Wert "RECELEMENT" lautet, wird die Steuerung dem Schritt 836 übergeben;
    • • wenn festgestellt wird, dass ihr Wert "RECTEMPLATE" lautet, wird die Steuerung dem Schritt 837 übergeben.
    • • Im Schritt 821 wird der Befehl "EF Editor" ausgegeben, wobei zwei Parameter ("NEW"; RSTM_range) übergeben werden, und anschließend wird die Steuerung dem Schritt 834 übergeben.
    • • Im Schritt 822 wird der Befehl "EP Editor" ausgegeben, wobei zwei Parameter ("NEW"; RSTM_range) übergeben werden, und anschließend wird die Steuerung dem Schritt 834 übergeben.
    • • Im Schritt 823 wird der Befehl "ST Editor" ausgegeben, wobei ein Parameter ("NEW") übergeben wird, und anschließend wird die Steuerung dem Schritt 834 übergeben.
    • • Im Schritt 824 wird ein Test durchgeführt, um festzustellen, ob die lokale Variable RSTM_select den Wert 1 (eins) hat. Wenn dies der Fall ist, wird die Steuerung dem Schritt 825 übergeben; andernfalls wird die Steuerung dem Schritt 829 übergeben.
    • • Im Schritt 825 wird ein Test durchgeführt, um die Art des ausgewählten Objekts festzustellen, die vom Attribut "NATURE" 2241 des Feldes "Type" 2237 des entsprechenden Datensatzes 2231 der RSTMT-Tabelle 2230 angegeben wird.
    • • Wenn festgestellt wird, dass sie "FORMAT" lautet, wird die Steuerung dem Schritt 826 übergeben;
    • • wenn festgestellt wird, dass sie "PROFILE" lautet, wird die Steuerung dem Schritt 827 übergeben;
    • • wenn festgestellt wird, dass sie "TEMPLATE" lautet, wird die Steuerung dem Schritt 828 übergeben;
    • • wenn festgestellt wird, dass sie "RECELEMENT" lautet, wird die Steuerung dem Schritt 838 übergeben;
    • • wenn festgestellt wird, dass sie "RECTEMPLATE" lautet, wird die Steuerung dem Schritt 839 übergeben.
    • • Im Schritt 826 wird der Befehl "EP Editor" ausgegeben, wobei ein Parameter übergeben wird, der gleich dem Feld "Name" 2232 des unverwechselbaren Datensatzes 2231 der RSTMT-Tabelle 2230 ist, bei dem das Attribut "SELECTED" 2242 von dessen Feld "Type" 2237 den Wert "YES" hat, und anschließend wird die Steuerung dem Schritt 834 übergeben.
    • • Im Schritt 827 wird der Befehl "EF Editor" ausgegeben, wobei ein Parameter übergeben wird, der gleich dem Feld "Name" 2232 des unverwechselbaren Datensatzes 2231 der RSTMT-Tabelle 2230 ist, bei dem das Attribut "SELECTED" 2242 von dessen Feld "Type" 2237 den Wert "YES" hat, und anschließend wird die Steuerung dem Schritt 834 übergeben.
    • • Im Schritt 828 wird der Befehl "ST Editor" ausgegeben, wobei ein Parameter übergeben wird, der gleich dem Feld "Name" 2232 des unverwechselbaren Datensatzes 2231 der RSTMT-Tabelle 2230 ist, bei dem das Attribut "SELECTED" 2242 von dessen Feld "Type" 2237 den Wert "YES" hat, und anschließend wird die Steuerung dem Schritt 834 übergeben.
    • • Im Schritt 829 wird eine Warnmeldung ausgegeben, um den Benutzer darauf aufmerksam zu machen, dass im Dialogfeld des ST-Managers (über die Kontrollkästchen wie zum Beispiel dem Kontrollkästchen 212) ein einzelnes Objekt ausgewählt werden muss, bevor die Schaltfläche "Edit" 211 oder die Schaltfläche "Instanciate" 204 angeklickt wird. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Warnmeldung in einem Dialogfenster oder in einem Bereich der Statuszeile angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Sobald der Benutzer diesen Hinweis über ein herkömmliches Mittel wie zum Beispiel einen Klick mit der Zeigeeinheit 105 auf eine Schaltfläche "OK", die in einem Dialogfenster mit einer Warnmeldung vorhanden ist, oder über ein anderes ähnliches Mittel bestätigt hat, wird die Steuerung dem Schritt 805 übergeben.
    • • Im Schritt 830 wird ein Test durchgeführt, um festzustellen, ob die lokale Variable RSTM_select den Wert 1 (eins) hat. Wenn dies der Fall ist, wird die Steuerung dem Schritt 831 übergeben; andernfalls wird die Steuerung dem Schritt 829 übergeben.
    • • Im Schritt 831 wird ein Test durchgeführt, um die Art des ausgewählten Objekts festzustellen, die vom Attribut "NATURE" 2241 des Feldes "Type" 2237 des entsprechenden Datensatzes 2231 der RSTMT-Tabelle 2230 angegeben wird.
    • • Wenn festgestellt wird, dass sie "TEMPLATE" lautet, wird die Steuerung dem Schritt 832 übergeben;
    • • wenn festgestellt wird, dass sie "RECTEMPLATE" lautet, wird die Steuerung dem Schritt 840 übergeben;
    • • andernfalls wird die Steuerung dem Schritt 833 übergeben.
    • • Im Schritt 832 wird der Befehl "ST Instanciator" ausgegeben, wobei ein Parameter übergeben wird, der gleich dem Feld "Name" 2232 des unverwechselbaren Datensatzes 2231 der RSTMT-Tabelle 2230 ist, bei dem das Attribut "SELECTED" 2242 von dessen Feld "Type" 2237 den Wert "YES" hat, und anschließend wird die Steuerung dem Schritt 834 übergeben.
    • • Im Schritt 833 wird eine Warnmeldung ausgegeben, um den Benutzer darauf aufmerksam zu machen, dass im Dialogfeld des RST-Managers (über die Kontrollkästchen wie zum Beispiel dem Kontrollkästchen 212) ein einzelnes ST-Objekt oder ein einzelnes RST-Objekt ausgewählt werden muss, bevor die Schaltfläche "Instanciate" 204 angeklickt wird. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Warnmeldung in einem Dialogfenster oder in einem Bereich der Statuszeile angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Sobald der Benutzer diesen Hinweis über ein herkömmliches Mittel wie zum Beispiel einen Klick mit der Zeigeeinheit 105 auf eine Schaltfläche "OK", die in einem Dialogfenster mit einer Warnmeldung vorhanden ist, oder über ein anderes ähnliches Mittel bestätigt hat, wird die Steuerung dem Schritt 805 übergeben.
    • • Im Schritt 834 wird das Dialogfeld 200 des RST-Managers geschlossen, so dass es vom Bildschirm 106 verschwindet, und daraufhin wird die Steuerung dem ersten Schritt 801 zur Verarbeitung eines künftigen RST-Manager-Befehls übergeben.
    • • Im Schritt 835 wird eine Warnmeldung ausgegeben, um den Benutzer darauf aufmerksam zu machen, dass ein anderes Objekt auf mindestens ein ausgewähltes Objekt, das gelöscht werden soll, verweist. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Warnmeldung in einem Dialogfenster oder in einem Bereich der Statuszeile angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Dann wird der Benutzer aufgefordert, die aktuelle Löschoperation ("Delete") entweder abzubrechen oder fortzusetzen. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Aufforderungsmeldung in einem Dialogfenster angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Sobald der Benutzer über ein herkömmliches Mittel wie zum Beispiel einen Klick mit der Zeigeeinheit 105 auf eine Schaltfläche "Cancel" oder "Continue", die in einem Dialogfenster mit einer Aufforderungsmeldung vorhanden ist, oder über ein anderes ähnliches Mittel seine Wahl getroffen hat, wird die Steuerung dem Schritt 805 übergeben, wenn sich der Benutzer des Tabellenkalkulationsprogramms entscheidet, die Löschoperation ("Delete") abzubrechen, oder dem Schritt 809, wenn sich der Benutzer des Tabellenkalkulationsprogramms entscheidet, die Löschoperation fortzusetzen.
    • • Im Schritt 836 wird der Befehl "RE Editor" ausgegeben, wobei ein Parameter ("NEW") übergeben wird, und anschließend wird die Steuerung dem Schritt 834 übergeben.
    • • Im Schritt 837 wird der Befehl "RST Editor" ausgegeben, wobei ein Parameter ("NEW") übergeben wird, und anschließend wird die Steuerung dem Schritt 834 übergeben.
    • • Im Schritt 838 wird der Befehl "RE Editor" ausgegeben, wobei ein Parameter übergeben wird, der gleich dem Feld "Name" 2232 des unverwechselbaren Datensatzes 2231 der RSTMT-Tabelle 2230 ist, bei dem das Attribut "SELECTED" 2242 von dessen Feld "Type" 2237 den Wert "YES" hat, und anschließend wird die Steuerung dem Schritt 834 übergeben.
    • • Im Schritt 839 wird der Befehl "RST Editor" ausgegeben, wobei ein Parameter übergeben wird, der gleich dem Feld "Name" 2232 des unverwechselbaren Datensatzes 2231 der RSTMT-Tabelle 2230 ist, bei dem das Attribut "SELECTED" 2242 von dessen Feld "Type" 2237 den Wert "YES" hat, und anschließend wird die Steuerung dem Schritt 834 übergeben.
    • • Im Schritt 840 wird der Befehl "RST Instanciator" ausgegeben, wobei ein Parameter übergeben wird, der gleich dem Feld "Name" 2232 des unverwechselbaren Datensatzes 2231 der RSTMT-Tabelle 2230 ist, bei dem das Attribut "SELECTED" 2242 von dessen Feld "Type" 2237 den Wert "YES" hat, und anschließend wird die Steuerung dem Schritt 834 übergeben.
    • • Im Schritt 841 wird der Wert der lokalen Variablen RSTM_child aktualisiert, indem die Werte "YES" und "NO" ausgetauscht werden. Daraufhin wird die Steuerung dem Schritt 805 übergeben.
  • E2. EF-Editor-Verfahren
  • Das Verfahren zur Erzeugung oder Aktualisierung von EFs oder MEFs, das in der bevorzugten Ausführungsform der vorliegenden Erfindung verwendet wird, ist im Flussdiagramm 900 von 9 zusammengefasst. Dieses Verfahren kann als Verarbeitung des Befehls "EF Editor" betrachtet werden.
    • • Im Schritt 901 befindet sich das Verfahren in seinem standardmäßigen Zustand, in dem es auf ein Ereignis zum Starten des Prozesses wartet.
    • • Im Schritt 902 wird der Befehl "EF Editor" als Ergebnis einer Benutzeraktion festgestellt. Diese Aktion kann beispielsweise Folgende sein:
    • • eine bestimmte Tastenkombination auf der Tastatur 104 oder
    • • das Anklicken einer bestimmten Schaltfläche mit der Zeigeeinheit 105 oder
    • • ein anderes ähnliches Mittel, das hier nicht näher angegeben wird.
    • • Im Schritt 903 werden die Parameter des Befehls abgerufen. Sie entsprechen:
    • • einem ersten zwingend notwendigen Parameter EFE_name, der entweder einen reservierten Wert "NEW" oder einen anderen Wert annehmen kann, welcher dem Namen einer Zeichenfolge entspricht, der im Feld "Name" 2232 eines Datensatzes 2231 in der RSTMT-Tabelle 2230 vorgefunden wird, und
    • • einem zweiten optionalen Parameter EFE_range, der nur zwei vorher festgelegte Werte, "YES" und "NO", annehmen kann. Dieser zweite optionale Parameter muss vorhanden sein, wenn der Wert des ersten zwingend notwendigen Parameter anders als "NEW" lautet.
  • Diese beiden Parameter werden als lokale Variablen abgelegt.
    • • Im Schritt 904 werden einige lokale Variablen mit einem Anfangswert belegt: Die lokale Variable EFE_meta wird auf den Wert "NO" gesetzt, und die lokale Variable EFE_size wird auf den Wert 8 (acht) gesetzt.
    • • Im Schritt 905 wird ein Test durchgeführt, um festzustellen, welchen Wert die lokale Variable EFE_name angenommen hat. Wenn festgestellt wird, dass ihr Wert "NEW" lautet, wird die Steuerung dem Schritt 909 übergeben; andernfalls wird die Steuerung dem Schritt 906 übergeben.
    • • Im Schritt 906 wird die EFT-Tabelle 700 nach einem Datensatz 701 durchsucht, bei dem der Wert im Feld "Name" 702 gleich dem von der lokalen Variablen EFE_name angenommenen Wert ist. Wenn ein solcher Datensatz gefunden wird, wird die Steuerung dem Schritt 908 übergeben; andernfalls wird die Steuerung dem Schritt 907 übergeben.
    • • Im Schritt 907 wird eine Ausnahmebedingungs-Behandlungsroutine aufgerufen, um diese "Should-notoccur"-Bedingung zu behandeln. Eine solche Operation hängt von der Ausführungsart ab und kann verschiedene Formen wie zum Beispiel die Anzeige eines Dialogfensters mit einer Fehlermeldung auf dem Bildschirm 106 annehmen. Daraufhin wird die Steuerung dem Schritt 925 übergeben.
    • • Im Schritt 908
    • • wird die lokale Variable EFE_meta entsprechend dem Wert des Attributs "META" 708 im Feld "Type" 707 des Datensatzes 701, der im Schritt 906 gefunden wurde, auf den Wert "YES" oder "NO" gesetzt,
    • • wird die lokale Variable EFE_size auf den Wert gesetzt, der im Feld "Column #" 706 des im Schritt 906 gefundenen Datensatzes 701 vorgefunden wird, und
    • • wird der Speicherplatz, auf den das Feld "Description Ptr" 704 des im Schritt 906 gefundenen Datensatzes 701 zeigt, in die Zwischenablage kopiert.
  • Daraufhin wird die Steuerung dem Schritt 912 übergeben.
    • • Im Schritt 909 wird entsprechend einer Namensfolge, die in einer bevorzugten Ausführungsform der vorliegenden Erfindung die Form "New XX" hat, ein neuer Name für das neu erzeugte EF oder MEF festgelegt, wobei XX einem Zählerwert entspricht, der in Bezug auf alle Namen, die zuvor festgelegt und in den Feldern "Name" 702, 712, 722, 2212 und 2222 erfasst wurden, welche sich in den jeweiligen Datensätzen 701, 711, 721, 2211 und 2221 der jeweiligen Tabellen EFT 700, EPT 710, STT 720, RET 2210 und RSST 2220 befinden, die Unverwechselbarkeit des Namens sicherstellt. Ein anderes ähnliches herkömmliches Mittel könnte stattdessen ebenfalls verwendet werden, solange die Unverwechselbarkeit des neu erzeugten Namens sichergestellt wird. Dann wird der neue Name in der lokalen Variablen EFE_name abgelegt. Anschließend wird im Hauptspeicher 102 Speicherbereich zugeordnet, um später den der Veranschaulichung dienenden Zellenbereich für das EF oder das MEF abzulegen. Dieser zugeordnete Speicherbereich ist ein Teil des Speicherbereichs, der der gerade geöffneten Datei des Tabellenkalkulationsprogramms entspricht. Als Nächstes wird in der EFT-Tabelle 700 ein neuer Datensatz 701 angelegt, und dieser neue Datensatz 701 wird wie folgt initialisiert:
    • • Das Feld "Name" 702 wird auf den Wert der lokalen Variablen EFE_name gesetzt;
    • • das Feld "Last Change Date" 703 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Description Ptr" 704 wird auf den Speicherplatz gesetzt, der soeben zugeordnet wurde;
    • • das Feld "Row #" 705 wird auf den Wert 1 gesetzt (da die STs in der bevorzugten Ausführungsform der vorliegenden Erfindung in einer zweidimensionalen Umgebung verwaltet werden, würde dieses Feld die Anzahl der Zeilen enthalten, die für das erzeugte EF oder MEF in einer dreidimensionalen Umgebung festgelegt wurden);
    • • das Feld "Column #" 706 wird auf den Wert der lokalen variablen EFE_size gesetzt; und
    • • das Feld "Type" 707 wird wie folgt gesetzt: Das Attribut "META" 708 wird auf den Wert der lokalen Variablen EFE_meta gesetzt, und das Attribut "REFERENCED" 709 wird wie folgt initialisiert:
    • • Das Teilfeld "OWN REFERENCE" (OR) 709a wird mit einer Primzahl initialisiert, die noch keinem anderen OR-Teilfeld 709a oder 719a oder 729a oder 780a oder 2219a oder 2229a oder 2240a zugewiesen wurde. Verschiedene herkömmliche Verfahren, die hier nicht näher beschrieben werden, können zur Feststellung einer Primzahl angewendet werden.
    • • Das Teilfeld "FILIATION REFERENCE" (FR) 709b wird auf den Anfangswert 1 (eins) gesetzt.
    • • Das Teilfeld "INSTANCE REFERENCE" (IR) 709c wird auf den Anfangswert 1 (eins) gesetzt.
    • • Das Teilfeld "REFERENCED OBJECT" (RO) 709d wird mit der folgenden Formel initialisiert, wobei die Gruppe P der Gruppe der STs entspricht: RO = "YES" wenn LCM({FRi})i∊P Mod OR = 0;andernfalls ist RO = "NO".
    • • Das Teilfeld "SELECTED CHILDREN" (SC) 709e wird mit der folgenden Formel initialisiert, wobei die Gruppe S der Gruppe der ausgewählten Objekte entspricht (deren Attribut "SELECTED" 2242 in der RSTMT-Tabelle 2230 den Wert "YES" hat): SC = "YES" wenn LCM({FRi})i∊S Mod OR = 0 #OR# EFE_name ∊ S,andernfalls ist SC = "NO".
  • Daraufhin wird die Steuerung dem Schritt 910 übergeben.
    • • Im Schritt 910 wird ein Test durchgeführt, um festzustellen, welchen Wert die lokale Variable EFE_range angenommen hat. Wenn festgestellt wird, dass ihr Wert "YES" lautet, wird die Steuerung dem Schritt 911 übergeben; andernfalls wird die Steuerung dem Schritt 912 übergeben.
    • • Im Schritt 911 wird der gerade ausgewählte Zellenbereich in die Zwischenablage kopiert, und die lokale Variable EFE_size wird auf einen Wert gesetzt, der gleich der Anzahl der Spalten des ausgewählten Bereichs ist.
    • • Im Schritt 912 wird das Arbeitsblatt "Editor Space" 315 zum aktuellen Arbeitsblatt gemacht, und der Inhalt der Zwischenablage wird in dieses leere Arbeitsblatt an einer festen Zellenadresse 314 (Adresse B2 in einer bevorzugten Ausführungsform der vorliegenden Erfindung, wie in 3 gezeigt ist) eingefügt, so dass der Benutzer das EF oder das MEF auf dem Bildschirm 106 darstellen kann.
    • • Im Schritt 913 wird das Dialogfeld 301 des EF-Editors auf dem Bildschirm 106 angezeigt.
    • • Das Bezeichnungsfeld 304 wird mit dem Wert der lokalen Variablen EFE_name initialisiert.
    • • Die obere (beziehungsweise untere) Optionsschaltfläche 310 wird mit einem schwarzen Punkt gekennzeichnet, wenn festgestellt wird, dass die lokale Variable EFE_meta den Wert "NO" (beziehungsweise "YES") hat.
    • • In das Textfeld 306 wird der Wert der lokalen Variablen EFE_size eingegeben.
    • • Die Schaltflächen "Save" 312 und "Save & Refresh" 308 werden aktiviert, wenn festgestellt wird, dass die lokale Variable EFE_size den gleichen Wert wie das Feld "Column #" 706 des aktuellen Datensatzes 701 hat, oder wenn festgestellt wird, dass das Teilfeld "REFERENCED OBJECT" (RO) 709d des Attributs "REFERENCED" 709 im Feld "Type" 707 desselben Datensatzes 701 den Wert "NO" hat, so dass jeder künftige Klick mit der Zeigeeinheit 105 auf eine dieser beiden Schaltflächen "Save" 312 und "Save & Refresh" 308 als ein gültiges Ereignis erkannt wird.
    • • Die Schaltflächen "Save" 312 und "Save & Refresh" 308 werden andernfalls deaktiviert (wenn festgestellt wird, dass die lokale Variable EFE_size nicht den gleichen Wert wie das Feld "Column #" 706 des aktuellen Datensatzes 701 hat, und wenn festgestellt wird, dass das Teilfeld "REFERENCED OBJECT" (RO) 709d des Attributs "REFERENCED" 709 im Feld "Type" 707 desselben Datensatzes 701 den Wert "YES" hat), so dass jeder künftige Klick mit der Zeigeeinheit 105 auf eine dieser beiden Schaltflächen "Save" 312 und "Save & Refresh" 308 nicht als ein gültiges Ereignis erkannt wird.
    • • Im Schritt 914 wartet das Verfahren auf eine Benutzeraktion im Dialogfeld 301 des EF-Editors. Eine solche Benutzeraktion ist üblicherweise das Ergebnis eines Klicks mit der Zeigeeinheit 105, wobei dieser Auslöser jedoch auch andere ähnliche Formen annehmen kann wie zum Beispiel, jedoch nicht auf diese beschränkt, eine bestimmte Tastenkombination auf der Tastatur 104 oder irgendein anderes ähnliches Mittel, das hier nicht näher angegeben wird.
    • • Im Schritt 915 wird eine Benutzeraktion im Dialogfeld 301 des EF-Editors festgestellt.
    • • Wenn die Benutzeraktion ein Klick auf die Schaltfläche "Save & Refresh" 308 ist, wird die Steuerung dem Schritt 916 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Save" 312 ist, wird die Steuerung dem Schritt 917 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Save As" 311 ist, wird die Steuerung dem Schritt 918 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Clear" 309 ist, wird die Steuerung dem Schritt 919 übergeben;
    • • wenn die Benutzeraktion ein Klick auf das Drehfeld 307 ist, wird die Steuerung dem Schritt 920 übergeben;
    • • wenn die Benutzeraktion ein Klick auf eine der beiden Optionsschaltflächen 310 ist, wird die Steuerung dem Schritt 921 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Done" 303 oder auf die Schaltfläche 302 zum Schließen des Fensters ist, wird die Steuerung dem Schritt 925 übergeben.
    • • Im Schritt 916 wird die EFT-Tabelle 700 aktualisiert und als Teil der Datei des Tabellenkalkulationsprogramms gespeichert, indem der Datensatz 701 aufgefrischt wird, dessen Feld "Name" 702 den gleichen Wert wie die lokale Variable EFE_name hat. Dazu werden
    • • das Feld "Last Change Date" 703 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Column #" 706 wird auf den Wert der lokalen Variablen EFE_size gesetzt; und
    • • das Feld "Type" 707 wird wie folgt gesetzt: Das Attribut "META" 708 wird auf den Wert der lokalen Variablen EFE_meta gesetzt.
  • Darüber hinaus wird der Zellenbereich 314, der auf dem Arbeitsblatt "Editor Space" 315 die aktuelle Definition des EF oder des MEF darstellt, an den Speicherplatz kopiert, auf den das Feld "Description Ptr" 704 zeigt. Anschließend wird die Steuerung dem Schritt 922 übergeben.
    • • Im Schritt 917 wird die EFT-Tabelle 700 aktualisiert und als Teil der Datei des Tabellenkalkulationsprogramms gespeichert, indem der Datensatz 701 aufgefrischt wird, dessen Feld "Name" 702 den gleichen Wert wie die lokale Variable EFE_name hat. Dazu werden
    • • das Feld "Last Change Date" 703 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Column #" 706 wird auf den Wert der lokalen Variablen EFE_size gesetzt; und
    • • das Feld "Type" 707 wird wie folgt gesetzt: Das Attribut "META" 708 wird auf den Wert der lokalen Variablen EFE_meta gesetzt.
  • Darüber hinaus wird der Zellenbereich 314, der auf dem Arbeitsblatt "Editor Space" 315 die aktuelle Definition des EF oder des MEF darstellt, an den Speicherplatz kopiert, auf den das Feld "Description Ptr" 704 zeigt. Anschließend wird die Steuerung dem Schritt 913 übergeben.
    • • Im Schritt 918 wird ein Test an dem im Textfeld 305 vorgefundenen Wert durchgeführt, um festzustellen, ob er einem gültigen neuen Namen entspricht. Die entsprechenden Kriterien sind von der Ausführungsart abhängig und können verschiedene Formen annehmen, solange es sich bei dem neu vorgeschlagenen Namen im Hinblick auf alle bereits festgelegten und in den Feldern "Name" 702, 712, 722, 2212 und 2222 erfassten Namen um eine eindeutige Zeichenfolge handelt. Wenn die Gültigkeit und die Unverwechselbarkeit nachgewiesen sind, wird die Steuerung dem Schritt 923 übergeben; andernfalls wird sie dem Schritt 924 übergeben.
    • • Im Schritt 919 werden die Standardattribute, die gerade in der Tabellenkalkulationsumgebung festgelegt wurden, auf das Arbeitsblatt "Editor Space" 315 angewendet, so dass die angezeigte Darstellung des EF oder des MEF dieselben Standardattribute erhält. Daraufhin wird die Steuerung dem Schritt 913 übergeben.
    • • Im Schritt 920 wird der Wert der lokalen Variablen EFE_size entsprechend der von der Zeigeeinheit 105 auf dem Drehfeld 307 vorgegebenen Richtung (nach oben oder nach unten) entweder um 1 (eins) erhöht oder verringert, und dies, solange ihr Wert positiv und kleiner als oder gleichgroß wie ein oberer Grenzwert bleibt, der in einer bevorzugten Ausführungsform der vorliegenden Erfindung auf 254 gesetzt wird. Daraufhin wird die Steuerung dem Schritt 913 übergeben.
    • • Im Schritt 921 wird die lokale Variable EFE_meta aktualisiert, so dass ihr Wert auf "YES" (beziehungsweise "NO") gesetzt wird, wenn die untere (beziehungsweise die obere) Optionsschaltfläche 310 angeklickt wurde. Daraufhin wird die Steuerung dem Schritt 913 übergeben.
    • • Im Schritt 922 wird der Befehl "ST Refresh Manager" mit den folgenden Parametern ausgegeben: EFE_name, "FORMAT", anschließend wird die Steuerung dem Schritt 913 übergeben.
    • • Im Schritt 923 wird im Hauptspeicher 102 Speicherbereich zugeordnet, um später den der Veranschaulichung dienenden Zellenbereich für das EF oder das MEF abzulegen. Dieser zugeordnete Speicherbereich ist ein Teil des Speicherbereichs, der der gerade geöffneten Datei des Tabellenkalkulationsprogramms entspricht. Dann wird in der EFT-Tabelle 700 ein neuer Datensatz 701 angelegt, der als Teil der Datei des Tabellenkalkulationsprogramms gespeichert wird, und dieser neue Datensatz 701 wird wie folgt initialisiert:
    • • Das Feld "Name" 702 wird auf den im Textfeld 305 vorgefundenen und im Schritt 918 für gültig erklärten Wert gesetzt, wobei der Eintrag in diesem Feld 702 dann der neue Wert der lokalen Variablen EFE_name wird;
    • • das Feld "Last Change Date" 703 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Description Ptr" 704 wird auf den Speicherplatz gesetzt, der soeben zugeordnet wurde;
    • • das Feld "Row #" 705 wird auf den Wert 1 gesetzt (da die STs in der bevorzugten Ausführungsform der vorliegenden Erfindung in einer zweidimensionalen Umgebung verwaltet werden, würde dieses Feld die Anzahl der Zeilen enthalten, die für das erzeugte EF oder MEF in einer dreidimensionalen Umgebung festgelegt wurden);
    • • das Feld "Column #" 706 wird auf den Wert der lokalen Variablen EFE_size gesetzt; und
    • • das Feld "Type" 707 wird wie folgt gesetzt: Das Attribut "META" 708 wird auf den Wert der lokalen Variablen EFE_meta gesetzt, und das Attribut "REFERENCED" 709 wird wie folgt initialisiert:
    • • Das Teilfeld "OWN REFERENCE" (OR) 709a wird mit einer Primzahl initialisiert, die noch keinem anderen OR-Teilfeld 709a oder 719a oder 729a oder 780a oder 2219a oder 2229a oder 2240a zugewiesen wurde. Verschiedene herkömmliche Verfahren, die hier nicht näher beschrieben werden, können zur Feststellung einer Primzahl angewendet werden.
    • • Das Teilfeld "FILIATION REFERENCE" (FR) 709b wird auf den Anfangswert 1 (eins) gesetzt.
    • • Das Teilfeld "INSTACE REFERENCE" (IR) 709c wird auf den Anfangswert 1 (eins) gesetzt.
    • • Das Teilfeld "REFERENCED OBJECT" (RO) 709d wird mit der folgenden Formel initialisiert, wobei die Gruppe P der Gruppe der STs entspricht: RO = "YES" wenn LCM({FRi})i∊P Mod OR = 0;andernfalls ist RO = "NO".
    • • Das Teilfeld "SELECTED CHILDREN" (SC) 709e wird mit der folgenden Formel initialisiert, wobei die Gruppe S der Gruppe der ausgewählten Objekte entspricht (deren Attribut "SELECTED" 2242 in der RSTMT-Tabelle 2230 den Wert "YES" hat): SC = "YES" wenn LCM({FRi})i∊S Mod OR = 0 #OR# EFE_name ∊ S,andernfalls ist SC = "NO".
  • Daraufhin wird die Steuerung dem Schritt 913 übergeben.
    • • Im Schritt 924 wird eine Warnmeldung ausgegeben, um den Benutzer darauf aufmerksam zu machen, dass im Textfeld 305 ein gültiger und eindeutiger Name angegeben werden muss, bevor die Schaltfläche "Save As" 311 angeklickt wird. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Warnmeldung in einem Dialogfenster oder in einem Bereich der Statuszeile angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Sobald der Benutzer diesen Hinweis über ein herkömmliches Mittel wie zum Beispiel einen Klick mit der Zeigeeinheit 105 auf eine Schaltfläche "OK", die in einem Dialogfenster mit einer Warnmeldung vorhanden ist, oder über ein anderes ähnliches Mittel bestätigt hat, wird die Steuerung dem Schritt 913 übergeben.
    • • Im Schritt 925 wird das Dialogfeld 501 des EF-Editors geschlossen, so dass es vom Bildschirm 106 verschwindet, dann wird das Arbeitsblatt "Editor Space" 515 aus dem angezeigten Fenster entfernt und durch das ursprüngliche Arbeitsblatt ersetzt, das zu dem Zeitpunkt vorhanden war, zu dem der EF-Editor aufgerufen wurde. Schließlich wird die Steuerung wieder dem ersten Schritt 901 zur Verarbeitung eines künftigen EF-Editor-Befehls übergeben.
  • E3. EP-Editor-Verfahren
  • Das Verfahren zur Erzeugung oder Aktualisierung von EPs oder MEFs, das in der bevorzugten Ausführungsform der vorliegenden Erfindung verwendet wird, ist im Flussdiagramm 1000 von 10 zusammengefasst. Dieses Verfahren kann als Verarbeitung des Befehls "EP Editor" betrachtet werden.
    • • Im Schritt 1001 befindet sich das Verfahren in seinem standardmäßigen Zustand, in dem es auf ein Ereignis zum Starten des Prozesses wartet.
    • • Im Schritt 1002 wird der Befehl "EP Editor" als Ergebnis einer Benutzeraktion festgestellt. Diese Aktion kann beispielsweise Folgende sein:
    • • eine bestimmte Tastenkombination auf der Tastatur 104 oder
    • • das Anklicken einer bestimmten Schaltfläche mit der Zeigeeinheit 105 oder
    • • ein anderes ähnliches Mittel, das hier nicht näher angegeben wird.
    • • Im Schritt 1003 werden die Parameter des Befehls abgerufen. Sie entsprechen:
    • • einem ersten zwingend notwendigen Parameter EPE_name, der entweder einen reservierten Wert "NEW" oder einen anderen Wert annehmen kann, welcher dem Namen einer Zeichenfolge entspricht, der im Feld "Name" 2232 eines Datensatzes 2231 in der RSTMT-Tabelle 2230 vorgefunden wird, und
    • • einem zweiten optionalen Parameter EPE_range, der nur zwei vorher festgelegte Werte, "YES" und "NO", annehmen kann. Dieser zweite optionale Parameter muss vorhanden sein, wenn der Wert des ersten zwingend notwendigen Parameter anders als "NEW" lautet.
  • Diese beiden Parameter werden als lokale Variablen abgelegt.
    • • Im Schritt 1004 werden einige lokale Variablen mit einem Anfangswert belegt: Die lokale Variable EPE_meta wird auf den Wert "NO" gesetzt, und die lokale Variable EPE_size wird auf den Wert 8 (acht) gesetzt.
    • • Im Schritt 1005 wird ein Test durchgeführt, um festzustellen, welchen Wert die lokale Variable EPE_name angenommen hat. Wenn festgestellt wird, dass ihr Wert "NEW" lautet, wird die Steuerung dem Schritt 1009 übergeben; andernfalls wird die Steuerung dem Schritt 1006 übergeben.
    • • Im Schritt 1006 wird die EPT-Tabelle 710 nach einem Datensatz 711 durchsucht, bei dem der Wert im Feld "Name" 712 gleich dem von der lokalen Variablen EPE_name angenommenen Wert ist. Wenn ein solcher Datensatz gefunden wird, wird die Steuerung dem Schritt 1008 übergeben; andernfalls wird die Steuerung dem Schritt 1007 übergeben.
    • • Im Schritt 1007 wird eine Ausnahmebedingungs-Behandlungsroutine aufgerufen, um diese "Should-not occur"-Bedingung zu behandeln. Eine solche Operation hängt von der Ausführungsart ab und kann verschiedene Formen wie zum Beispiel die Anzeige eines Dialogfensters mit einer Fehlermeldung auf dem Bildschirm 106 annehmen. Daraufhin wird die Steuerung dem Schritt 1025 übergeben.
    • • Im Schritt 1008 wird die lokale Variable EPE_meta entsprechend dem Wert des Attributs "META" 718 im Feld "Type" 717 des Datensatzes 711, der im Schritt 1006 gefunden wurde, auf den Wert "YES" oder "NO" gesetzt,
    • • wird die lokale Variable EPE_size auf den Wert gesetzt, der im Feld "Column #" 716 des im Schritt 1006 gefundenen Datensatzes 711 vorgefunden wird, und
    • • wird der Speicherplatz, auf den das Feld "Description Ptr" 714 des im Schritt 1006 gefundenen Datensatzes 711 zeigt, in die Zwischenablage und in die lokale Variable EPE_Desc kopiert.
  • Daraufhin wird die Steuerung dem Schritt 1012 übergeben.
    • • Im Schritt 1009 wird entsprechend einer Namensfolge, die in einer bevorzugten Ausführungsform der vorliegenden Erfindung die Form "New XX" hat, ein neuer Name für das neu erzeugte EP oder MEP festgelegt, wobei XX einem Zählerwert entspricht, der in Bezug auf alle Namen, die zuvor festgelegt und in den Feldern "Name" 702, 712, 722, 2212 und 2222 erfasst wurden, welche sich in den jeweiligen Datensätzen 701, 711, 721, 2211 und 2221 der jeweiligen Tabellen EFT 700, EPT 710, STT 720, RET 2210 und RSST 2220 befinden, die Unverwechselbarkeit des Namens sicherstellt. Ein anderes ähnliches herkömmliches Mittel könnte stattdessen ebenfalls verwendet werden, solange die Unverwechselbarkeit des neu erzeugten Namens sichergestellt wird.
  • Dann wird der neue Name in der lokalen Variablen EPE_name abgelegt. Anschließend wird im Hauptspeicher 102 Speicherbereich zugeordnet, um später den der Veranschaulichung dienenden Zellenbereich für das EP oder das MEP abzulegen. Dieser zugeordnete Speicherbereich ist ein Teil des Speicherbereichs, der der gerade geöffneten Datei des Tabellenkalkulationsprogramms entspricht. Als Nächstes wird in der EPT-Tabelle 710 ein neuer Datensatz 711 angelegt, und dieser neue Datensatz 711 wird wie folgt initialisiert:
    • • Das Feld "Name" 712 wird auf den Wert der lokalen Variablen EPE_name gesetzt;
    • • das Feld "Last Change Date" 713 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Description Ptr" 714 wird auf den Speicherplatz gesetzt, der soeben zugeordnet wurde;
    • • das Feld "Row #" 715 wird auf den Wert 1 gesetzt (da die STs in der bevorzugten Ausführungsform der vorliegenden Erfindung in einer zweidimensionalen Umgebung verwaltet werden, würde dieses Feld die Anzahl der Zeilen enthalten, die für das erzeugte EP oder MEP in einer dreidimensionalen Umgebung festgelegt wurden);
    • • das Feld "Column #" 716 auf den Wert der lokalen Variablen EPE_size gesetzt; und
    • • das Feld "Type" 717 wird wie folgt gesetzt: Das Attribut "META" 718 wird auf den Wert der lokalen Variablen EPE_meta gesetzt, und das Attribut "REFERENCED" 719 wird wie folgt initialisiert:
    • • Das Teilfeld "OWN REFERENCE" (OR) 719a wird mit einer Primzahl initialisiert, die noch keinem anderen OR-Teilfeld 709a oder 719a oder 729a oder 780a oder 2219a oder 2229a oder 2240a zugewiesen wurde. Verschiedene herkömmliche Verfahren, die hier nicht näher beschrieben werden, können zur Feststellung einer Primzahl angewendet werden.
    • • Das Teilfeld "FILIATION REFERENCE" (FR) 719b wird auf den Anfangswert 1 (eins) gesetzt.
    • • Das Teilfeld "INSTANCE REFERENCE" (IR) 719c wird auf den Anfangswert 1 (eins) gesetzt.
    • • Das Teilfeld "REFERENCED OBJECT" (RO) 719d wird mit der folgenden Formel initialisiert, wobei die Gruppe P der Gruppe der STs entspricht: RO = "YES" wenn LCM({FRi})i∊P Mod OR = 0;andernfalls ist RO = "NO".
    • • Das Teilfeld "SELECTED CHILDREN" (SC) 719e wird mit der folgenden Formel initialisiert, wobei die Gruppe S der Gruppe der ausgewählten Objekte entspricht (deren Attribut "SELECTED" 2242 in der RSTMT-Tabelle 2230 den Wert "YES" hat): SC = "YES" wenn LCM({FRi})i∊S Mod OR = 0 #OR# EPE_name ∊ S,andernfalls ist SC = "NO".
  • Daraufhin wird die Steuerung dem Schritt 1010 übergeben.
    • • Im Schritt 1010 wird ein Test durchgeführt, um festzustellen, welchen Wert die lokale Variable EPE_range angenommen hat. Wenn festgestellt wird, dass ihr Wert "YES" lautet, wird die Steuerung dem Schritt 1011 übergeben; andernfalls wird die Steuerung dem Schritt 1012 übergeben.
    • • Im Schritt 1011 wird der gerade ausgewählte Zellenbereich in die Zwischenablage kopiert, und die lokale Variable EPE_size wird auf einen Wert gesetzt, der gleich der Anzahl der Spalten des ausgewählten Bereichs ist.
    • • Im Schritt 1012 wird das Arbeitsblatt "Editor Space" 315 zum aktuellen Arbeitsblatt gemacht, und der Inhalt der Zwischenablage wird in dieses leere Arbeitsblatt an einer festen Zellenadresse 314 (Adresse B2 in einer bevorzugten Ausführungsform der vorliegenden Erfindung, wie in 3 gezeigt ist) eingefügt, so dass der Benutzer das EP oder das MEP auf dem Bildschirm 106 darstellen kann.
    • • Im Schritt 1013 wird das Dialogfeld 401 des EP-Editors auf dem Bildschirm 106 angezeigt.
    • • Das Bezeichnungsfeld 404 wird mit dem Wert der lokalen Variablen EPE_name initialisiert. Die obere (beziehungsweise untere) Optionsschaltfläche 410 wird mit einem schwarzen Punkt gekennzeichnet, wenn festgestellt wird, dass die lokale Variable EPE_meta den Wert "NO" (beziehungsweise "YES") hat.
    • • In das Textfeld 406 wird der Wert der lokalen Variablen EPE_size eingegeben.
    • • Die Schaltflächen "Save" 412 und "Save & Refresh" 408 werden aktiviert, wenn festgestellt wird, dass die lokale Variable EPE_size den gleichen Wert wie das Feld "Column #" 716 des aktuellen Datensatzes 711 hat, oder wenn festgestellt wird, dass das Teilfeld "REFERENCED OBJECT" (RO) 719d des Attributs "REFERENCED" 719 im Feld "Type" 717 desselben Datensatzes 711 den Wert "NO" hat, so dass jeder künftige Klick mit der Zeigeeinheit 105 auf eine dieser beiden Schaltflächen "Save" 412 und "Save & Refresh" 408 als ein gültiges Ereignis erkannt wird.
    • • Die Schaltflächen "Save" 412 und "Save & Refresh" 408 werden andernfalls deaktiviert (wenn festgestellt wird, dass die lokale Variable EPE_size nicht den gleichen Wert wie das Feld "Column #" 716 des aktuellen Datensatzes 711 hat, und wenn festgestellt wird, dass das Teilfeld "REFERENCED OBJECT" (RO) 719d des Attributs "REFERENCED" 719 im Feld "Type" 717 desselben Datensatzes 711 den Wert "YES" hat), so dass jeder künftige Klick mit der Zeigeeinheit 105 auf eine dieser beiden Schaltflächen "Save" 412 und "Save & Refresh" 408 nicht als ein Ereignis erkannt wird.
    • • Im Schritt 1014 wartet das Verfahren auf eine Benutzeraktion im Dialogfeld 401 des EP-Editors. Eine solche Benutzeraktion ist üblicherweise das Ergebnis eines Klicks mit der Zeigeeinheit 105, wobei dieser Auslöser jedoch auch andere ähnliche Formen annehmen kann wie zum Beispiel, jedoch nicht auf diese beschränkt, eine bestimmte Tastenkombination auf der Tastatur 104 oder irgendein anderes ähnliches Mittel, das hier nicht näher angegeben wird.
    • • Im Schritt 1015 wird eine Benutzeraktion im Dialogfeld 401 des EP-Editors festgestellt.
    • • Wenn die Benutzeraktion ein Klick auf die Schaltfläche "Save & Refresh" 408 ist, wird die Steuerung dem Schritt 1016 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Save" 412 ist, wird die Steuerung dem Schritt 1017 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Save As" 411 ist, wird die Steuerung dem Schritt 1018 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Clear" 409 ist, wird die Steuerung dem Schritt 1019 übergeben;
    • • wenn die Benutzeraktion ein Klick auf das Drehfeld 407 ist, wird die Steuerung dem Schritt 1020 übergeben;
    • • wenn die Benutzeraktion ein Klick auf eine der beiden Optionsschaltflächen 410 ist, wird die Steuerung dem Schritt 1021 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Done" 403 oder auf die Schaltfläche 402 zum Schließen des Fensters ist, wird die Steuerung dem Schritt 1025 übergeben.
    • • Im Schritt 1016 wird die EPT-Tabe11e 710 aktualisiert und als Teil der Datei des Tabellenkalkulationsprogramms gespeichert, indem der Datensatz 711 aufgefrischt wird, dessen Feld "Name" 712 den gleichen Wert wie die lokale Variable EPE_name hat. Dazu werden
    • • das Feld "Last Change Date" 713 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Column #" 716 auf den Wert der lokalen Variablen EPE_size gesetzt; und
    • • das Feld "Type" 717 wird wie folgt gesetzt: Das Attribut "META" 718 wird auf den Wert der lokalen Variablen EPE_meta gesetzt.
  • Darüber hinaus wird der Zellenbereich 414, der auf dem Arbeitsblatt "Editor Space" 415 die aktuelle Definition des EP oder des MEP darstellt, an den Speicherplatz kopiert, auf den das Feld "Description Ptr" 714 zeigt. Anschließend wird die Steuerung dem Schritt 1022 übergeben.
    • • Im Schritt 1017 wird die EPT-Tabelle 710 aktualisiert und als Teil der Datei des Tabellenkalkulationsprogramms gespeichert, indem der Datensatz 711 aufgefrischt wird, dessen Feld "Name" 712 den gleichen Wert wie die lokale Variable EPE_name hat. Dazu werden
    • • das Feld "Last Change Date" 713 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Column #" 716 auf den Wert der lokalen Variablen EPE_size gesetzt; und
    • • das Feld "Type" 717 wird wie folgt gesetzt: Das Attribut "META" 718 wird auf den Wert der lokalen Variablen EPE_meta gesetzt.
  • Darüber hinaus wird der Zellenbereich 414, der auf dem Arbeitsblatt "Editor Space" 415 die aktuelle Definition des EP oder des MEP darstellt, an den Speicherplatz kopiert, auf den das Feld "Description Ptr" 714 zeigt.
  • Dann wird die lokale Variable EPE_desc mit der aktuellen Beschreibung des EP oder des MEP aktualisiert, die an dem Speicherplatz abgelegt ist, auf den das Feld "Description Ptr" 714 zeigt, und die Steuerung wird dem Schritt 1013 übergeben.
    • • Im Schritt 1018 wird ein Test an dem im Textfeld 405 vorgefundenen Wert durchgeführt, um festzustellen, ob dieser Wert einem gültigen neuen Namen entspricht. Die entsprechenden Kriterien sind von der Ausführungsart abhängig und können verschiedene Formen annehmen, solange es sich bei dem neu vorgeschlagenen Namen im Hinblick auf alle bereits festgelegten und in den Feldern "Name" 702, 712, 722, 2212 und 2222 erfassten Namen um eine eindeutige Zeichenfolge handelt. Wenn die Gültigkeit und die Unverwechselbarkeit nachgewiesen sind, wird die Steuerung dem Schritt 1023 übergeben; andernfalls wird sie dem Schritt 1024 übergeben.
    • • Im Schritt 1019 werden die Standardattribute, die gerade in der Tabellenkalkulationsumgebung festgelegt wurden, auf das Arbeitsblatt "Editor Space" 415 angewendet, so dass die angezeigte Darstellung des EP oder des MEP dieselben Standardattribute erhält. Daraufhin wird die Steuerung dem Schritt 1013 übergeben.
    • • Im Schritt 1020 wird der Wert der lokalen Variablen EPE_size entsprechend der von der Zeigeeinheit 105 auf dem Drehfeld 407 vorgegebenen Richtung (nach oben oder nach unten) entweder um 1 (eins) erhöht oder verringert, und dies, solange ihr Wert positiv und kleiner als oder gleichgroß wie ein oberer Grenzwert bleibt, der in einer bevorzugten Ausführungsform der vorliegenden Erfindung auf 254 gesetzt wird. Daraufhin wird die Steuerung dem Schritt 1013 übergeben.
    • • Im Schritt 1021 wird die lokale Variable EPE_meta aktualisiert, so dass ihr Wert auf "YES" (beziehungsweise "NO") gesetzt wird, wenn die untere (beziehungsweise die obere) Optionsschaltfläche 410 angeklickt wurde. Daraufhin wird die Steuerung dem Schritt 1013 übergeben.
    • • Im Schritt 1022 wird der Befehl "ST Refresh Manager" mit den folgenden Parametern ausgegeben: EPE_name, "PROFILE" und EPE_desc. Dann wird die lokale Variable EPE_desc mit der aktuellen Beschreibung des EP oder des MEP aktualisiert, die an dem Speicherplatz abgelegt ist, auf den das Feld "Description Ptr" 714 zeigt, und daraufhin wird die Steuerung dem Schritt 1013 übergeben.
    • • Im Schritt 1023 wird im Hauptspeicher 102 Speicherbereich zugeordnet, um später den der Veranschaulichung dienenden Zellenbereich für das EP oder das MEP abzulegen. Dieser zugeordnete Speicherbereich ist ein Teil des Speicherbereichs, der der gerade geöffneten Datei des Tabellenkalkulationsprogramms entspricht. Dann wird in der EPT-Tabelle 710 ein neuer Datensatz 711 angelegt, der als Teil der Datei des Tabellenkalkulationsprogramms gespeichert wird, und dieser neue Datensatz 711 wird wie folgt initialisiert:
    • • Das Feld "Name" 712 wird auf den im Textfeld 405 vorgefundenen und im Schritt 1018 für gültig erklärten Wert gesetzt, wobei der Eintrag in diesem Feld 712 dann der neue Wert der lokalen Variablen EPE_name wird;
    • • das Feld "Last Change Date" 713 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Description Ptr" 714 wird auf den Speicherplatz gesetzt, der soeben zugeordnet wurde;
    • • das Feld "Row #" 715 wird auf den Wert 1 gesetzt (da die STs in der bevorzugten Ausführungsform der vorliegenden Erfindung in einer zweidimensionalen Umgebung verwaltet werden, würde dieses Feld die Anzahl der Zeilen enthalten, die für das erzeugte EP oder MEP in einer dreidimensionalen Umgebung festgelegt wurden);
    • • das Feld "Column #" 716 wird auf den Wert der lokalen Variablen EPE_size gesetzt;
    • • das Feld "Type" 717 wird wie folgt gesetzt: Das Attribut "META" 718 wird auf den Wert der lokalen Variablen EPE_meta gesetzt, und das Attribut "REFERENCED" 719 wird wie folgt initialisiert:
    • • Das Teilfeld "OWN REFERENCE" (OR) 719a wird mit einer Primzahl initialisiert, die noch keinem anderen OR-Teilfeld 709a oder 719a oder 729a oder 780a oder 2219a oder 2229a oder 2240a zugewiesen wurde. Verschiedene herkömmliche Verfahren, die hier nicht näher beschrieben werden, können zur Feststellung einer Primzahl angewendet werden.
    • • Das Teilfeld "FILIATION REFERENCE" (FR) 719b wird auf den Anfangswert 1 (eins) gesetzt.
    • • Das Teilfeld "INSTANCE REFERENCE" (IR) 719c wird auf den Anfangswert 1 (eins) gesetzt.
    • • Das Teilfeld "REFERENCED OBJECT" (RO) 719d wird mit der folgenden Formel initialisiert, wobei die Gruppe P der Gruppe der STs entspricht: RO = "YES" wenn LCM({FRi})i∊P Mod OR = 0;andernfalls ist RO = "NO".
    • • Das Teilfeld "SELECTED CHILDREN" (SC) 719e wird mit der folgenden Formel initialisiert, wobei die Gruppe S der Gruppe der ausgewählten Objekte entspricht (deren Attribut "SELECTED" 2242 in der RSTMT-Tabelle 2230 den Wert "YES" hat): SC = "YES" wenn LCM({FRi})i∊S Mod OR = 0 #OR# EPE_name ∊ S,andernfalls ist SC = "NO".
  • Daraufhin wird die Steuerung dem Schritt 1013 übergeben.
    • • Im Schritt 1024 wird eine Warnmeldung ausgegeben, um den Benutzer darauf aufmerksam zu machen, dass im Textfeld 405 ein gültiger und eindeutiger Name angegeben werden muss, bevor die Schaltfläche "Save As" 411 angeklickt wird. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Warnmeldung in einem Dialogfenster oder in einem Bereich der Statuszeile angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Sobald der Benutzer diesen Hinweis über ein herkömmliches Mittel wie zum Beispiel einen Klick mit der Zeigeeinheit 105 auf eine Schaltfläche "OK", die in einem Dialogfenster mit einer Warnmeldung vorhanden ist, oder über ein anderes ähnliches Mittel bestätigt hat, wird die Steuerung dem Schritt 1013 übergeben.
    • • Im Schritt 1025 wird das Dialogfeld 401 des EP-Editors geschlossen, so dass es vom Bildschirm 106 verschwindet, dann wird das Arbeitsblatt "Editor Space" 415 aus dem angezeigten Fenster entfernt und durch das ursprüngliche Arbeitsblatt ersetzt, das zu dem Zeitpunkt vorhanden war, zu dem der EP-Editor aufgerufen wurde. Schließlich wird die Steuerung wieder dem ersten Schritt 1001 zur Verarbeitung eines künftigen EP-Editor-Befehls übergeben.
  • E4. ST-Editor-Verfahren
  • Das Verfahren zur Erzeugung oder Aktualisierung von STs, das in der bevorzugten Ausführungsform der vorliegenden Erfindung verwendet wird, ist im Flussdiagramm 1100 von 11 zusammengefasst. Dieses Verfahren kann als Verarbeitung des Befehls "ST Editor" betrachtet werden.
    • • Im Schritt 1101 befindet sich das Verfahren in seinem standardmäßigen Zustand, in dem es auf ein Ereignis zum Starten des Prozesses wartet.
    • • Im Schritt 1102 wird der Befehl "ST Editor" als Ergebnis einer Benutzeraktion festgestellt. Diese Aktion kann beispielsweise Folgende sein:
    • • eine bestimmte Tastenkombination auf der Tastatur 104 oder
    • • das Anklicken einer bestimmten Schaltfläche mit der Zeigeeinheit 105 oder
    • • ein anderes ähnliches Mittel, das hier nicht näher angegeben wird.
    • • Im Schritt 1103 wird der Parameter des Befehls abgerufen. Er entspricht einem zwingend notwendigen Parameter STE_name, der entweder einen reservierten Wert "NEW" oder einen anderen Wert annehmen kann, welcher dem Namen einer Zeichenfolge entspricht, der im Feld "Name" 2232 eines Datensatzes 2231 in der RSTMT-Tabelle 2230 vorgefunden wird. Dieser Parameter wird als eine lokale Variable abgelegt.
    • • Im Schritt 1104 werden einige lokale Variablen mit einem Anfangswert belegt: Die lokale Variable STE_min wird auf den Standardwert 1 (eins) gesetzt, und die lokale Variable STE_max wird auf den Standardwert 255 gesetzt.
    • • Im Schritt 1105 wird ein Test durchgeführt, um festzustellen, welchen Wert die lokale Variable STE_name angenommen hat. Wenn festgestellt wird, dass ihr Wert "NEW" lautet, wird die Steuerung dem Schritt 1109 übergeben; andernfalls wird die Steuerung dem Schritt 1106 übergeben.
    • • Im Schritt 1106 wird die STT-Tabelle 720 nach einem Datensatz 721 durchsucht, bei dem der Wert im Feld "Name" 722 gleich dem von der lokalen Variablen STE_name angenommenen Wert ist. Wenn ein solcher Datensatz gefunden wird, wird die Steuerung dem Schritt 1108 übergeben; andernfalls wird die Steuerung dem Schritt 1107 übergeben.
    • • Im Schritt 1107 wird eine Ausnahmebedingungs-Behandlungsroutine aufgerufen, um diese "Should-notoccur"-Bedingung zu behandeln. Eine solche Operation hängt von der Ausführungsart ab und kann verschiedene Formen wie zum Beispiel die Anzeige eines Dialogfensters mit einer Fehlermeldung auf dem Bildschirm 106 annehmen. Daraufhin wird die Steuerung dem Schritt 1128 übergeben.
    • • Im Schritt 1108 wird die lokale Variable STE_min auf den Wert gesetzt, der im Feld "Min Element #" 725 des im Schritt 1106 gefundenen Datensatzes 721 vorgefunden wird, wird die lokale Variable STE_max auf den Wert gesetzt, der im Feld "Max Element #" 726 des im Schritt 1106 gefundenen Datensatzes 721 vorgefunden wird.
  • Dann wird der Speicherplatz, auf den das Feld "Description Ptr" 724 des im Schritt 1106 gefundenen Datensatzes 721 zeigt, (an dem die Beschreibung der ST entsprechend der in 7D gezeigten STDT-Tabelle 760 abgelegt ist) in einen Arbeitspufferspeicher kopiert, der sich wiederum an dieselbe STDT-Tabelle 760 hält. Mit dieser Struktur wird dann in der Zwischenablage im Hauptspeicher 102 ein Bereich von Zellen eines Arbeitsblatts erzeugt, der die Definition der ST darstellt, die in den Arbeitspufferspeicher kopiert wurde. Diese Gestaltung wird erreicht, indem in die Zwischenablage im Hauptspeicher 102 eine geordnete Folge von Zellenbereichen geladen wird, von denen jeder nacheinander die Definition des EF (Spalte 765) und die Definition des EP (Spalte 764) übernimmt, die einem jedem aus dem EF-Namen und dem EP-Namen bestehenden Paar entspricht, wobei mit dem ersten Paar 761 begonnen und der Prozess bis zum letzten Paar 763 fortgesetzt wird. Dann wird die Steuerung dem Schritt 1110 übergeben.
  • • Im Schritt 1109 wird entsprechend einer Namensfolge, die in einer bevorzugten Ausführungsform der vorliegenden Erfindung die Form "New XX" hat, ein neuer Name für die neu erzeugte ST festgelegt, wobei XX einem Zählerwert entspricht, der in Bezug auf alle Namen, die zuvor festgelegt und in den Feldern "Name" 702, 712, 722, 2212 und 2222 erfasst wurden, welche sich in den jeweiligen Datensätzen 701, 711, 721, 2211 und 2221 der jeweiligen Tabellen EFT 700, EPT 710, STT 720 RET 2210 und RSST 2220 befinden, die Unverwechselbarkeit des Namens sicherstellt. Ein anderes ähnliches herkömmliches Mittel könnte stattdessen ebenfalls verwendet werden, solange die Unverwechselbarkeit des neu erzeugten Namens sichergestellt wird. Dann wird der neue Name in der lokalen Variablen STE_name abgelegt. Anschließend wird im Hauptspeicher 102 Speicherbereich zugeordnet, um später den der Veranschaulichung dienenden Zellenbereich für die neue ST abzulegen. Dieser zugeordnete Speicherbereich ist ein Teil des Speicherbereichs, der der gerade geöffneten Datei des Tabellenkalkulationsprogramms entspricht und der sich an die in 7D gezeigte STDT-Tabelle 760 hält. Als Nächstes wird in der STT-Tabelle 720 ein neuer Datensatz 721 angelegt, und dieser neue Datensatz 721 wird wie folgt initialisiert:
    • • Das Feld "Name" 722 wird auf den Wert der lokalen Variablen STE_name gesetzt;
    • • das Feld "Last Change Date" 723 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Description Ptr" 724 wird auf den Speicherplatz gesetzt, der soeben zugeordnet wurde;
    • • das Feld "Min Element #" 725 wird auf den Wert der lokalen Variablen STE_min gesetzt;
    • • das Feld "Max Element #" 726 wird auf den Wert der lokalen Variablen STE_max gesetzt; und
    • • das Feld "Type" 727 wird wie folgt gesetzt: Das Attribut "META" 728 wird auf "NO" gesetzt, und das Attribut "REFERENCED" 729 wird wie folgt initialisiert:
    • • Das Teilfeld "OWN REFERENCE" (OR) 729a wird mit einer Primzahl initialisiert, die noch keinem anderen OR-Teilfeld 709a oder 719a oder 729a oder 780a oder 2219a oder 2229a oder 2240a zugewiesen wurde. Verschiedene herkömmliche Verfahren, die hier nicht näher beschrieben werden, können zur Feststellung einer Primzahl angewendet werden.
    • • Das Teilfeld "FILIATION REFERENCE" (FR) 729b wird entsprechend der folgenden Formel initialisiert, wobei die Gruppe F der Gruppe von EFs, MEFs, EPs und MEPs entspricht, die gemäß der im Feld "Description Ptr" 724 erfassten Struktur die neue ST bildet: FR = Πi∊F ORi × LCM({FRi})i∊F
    • • Das Teilfeld "INSTANCE REFERENCE" (IR) 729c wird auf den Anfangswert 1 (eins) gesetzt.
    • • Das Teilfeld "REFERENCED OBJECT" (RO) 729d wird mit der folgenden Formel initialisiert, wobei die Gruppe P der Gruppe der REs und RMEs entspricht: RO = "YES" wenn LCM({FRi})i∊P Mod OR = 0;andernfalls ist RO = "NO".
    • • Das Teilfeld "SELECTED CHILDREN" (SC) 729e wird mit der folgenden Formel initialisiert, wobei die Gruppe S der Gruppe der ausgewählten Objekte entspricht (deren Attribut "SELECTED" 2242 in der RSTMT-Tabelle 2230 den Wert "YES" hat): SC = "YES" wenn LCM({FRi})i∊S Mod OR = 0 #OR# STE_name ∊ S,andernfalls ist SC = "NO".
  • Dann wird im Hauptspeicher 102 ein Arbeitspufferspeicherbereich zugeordnet and mit einer standardmäßigen Beschreibung einer ST initialisiert, die einem einzelnen aus einem standardmäßigen EF und einem standardmäßigen EP bestehenden Paar 762 entspricht. Mit dieser standardmäßigen Beschreibung einer ST wird dann in der Zwischenablage im Hauptspeicher 102 ein Bereich von Zellen eines Arbeitsblatts erzeugt, der die neue ST darstellt. Diese Gestaltung wird in der Weise erreicht, die am Ende des Schritts 1108 erklärt ist. Daraufhin wird die Steuerung dem Schritt 1110 übergeben.
    • • Im Schritt 1110 wird das Arbeitsblatt "Editor Space" 515 zum aktuellen Arbeitsblatt gemacht, und dieses Arbeitsblatt wird in den Schreibschutzmodus versetzt, währenddessen die normale Funktion zum Einfügen und Löschen von Zeilen deaktiviert ist. Daraufhin wird die oberste linke Zelle des Zellenbereichs 514 ausgewählt. Dann wird die lokale Variable STE_format mit dem Namen des EF oder des MEF belegt, welcher der Zeile entspricht, in der sich die Zelle befindet, die gerade in dem Zellenbereich 514 ausgewählt wurde. Schließlich wird die lokale Variable STE_profile mit dem Namen des EP oder des MEP belegt, welcher der Zeile entspricht, in der sich die Zelle befindet, die gerade in dem Zellenbereich 514 ausgewählt wurde.
    • • Im Schritt 1111 wird das Dialogfeld 501 des ST-Editors auf dem Bildschirm 106 angezeigt.
    • • Das Bezeichnungsfeld 504 wird mit dem Wert der lokalen Variablen STE_name initialisiert.
    • • In das Textfeld 506 wird der Wert der lokalen Variablen STE_min eingegeben.
    • • In das Textfeld 509 wird der Wert der lokalen Variablen STE_max eingegeben.
    • • In das Kombinationsfeld 511 wird der Wert der lokalen Variablen STE_format eingegeben.
    • • In das Kombinationsfeld 510 wird der Wert der lokalen Variablen STE_profile eingegeben.
  • Anschließend wird der Zellenbereich 514 entsprechend der Beschreibung aktualisiert, die in der Speicherzwischenablage abgelegt ist: Der Inhalt der Zwischenablage wird in dieses leere Arbeitsblatt an einer festen Zellenadresse 514 (Adresse B2 in einer bevorzugten Ausführungsform der vorliegenden Erfindung, wie in 5 gezeigt ist) eingefügt, so dass der Benutzer die ST auf dem Bildschirm 106 im Fenster 500 darstellen kann. Dann wird ein Test durchgeführt, um zu prüfen, ob alle EFs, EPs, MEFs und MEPs, die zur Definition der ST beitragen, welche vom Zellenbereich 514 dargestellt wird, die gleiche Anzahl von Feldern haben. Wenn dies der Fall ist, werden die beiden Schaltflächen "Save" 513 und Save As" 512 aktiviert, so dass der Klick mit der Zeigeeinheit 105 auf eine dieser beiden Schaltflächen als ein gültiges Ereignis erkannt wird. Andernfalls werden die beiden Schaltflächen "Save" 513 und Save As" 512 deaktiviert, so dass der Klick mit der Zeigeeinheit 105 auf eine dieser beiden Schaltflächen nicht als ein gültiges Ereignis erkannt wird.
    • • Im Schritt 1112 wartet das Verfahren auf eine Benutzeraktion im Dialogfeld 501 des ST-Editors. Eine solche Benutzeraktion ist üblicherweise das Ergebnis eines Klicks mit der Zeigeeinheit 105, wobei dieser Auslöser jedoch auch andere ähnliche Formen annehmen kann wie zum Beispiel, jedoch nicht auf diese beschränkt, eine bestimmte Tastenkombination auf der Tastatur 104 oder irgendein anderes ähnliches Mittel, das hier nicht näher angegeben wird.
    • • Im Schritt 1113 wird eine Benutzeraktion im Dialogfeld 501 des ST-Editors festgestellt.
    • • Wenn die Benutzeraktion ein Klick auf die Schaltfläche "Save" 513 ist, wird die Steuerung dem Schritt 1116 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Save As" 512 ist, wird die Steuerung dem Schritt 1119 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Add" 517 ist, wird die Steuerung dem Schritt 1124 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Delete" 518 ist, wird die Steuerung dem Schritt 1125 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Up" 519 oder auf die Schaltfläche "Down" 520 ist, wird die Steuerung dem Schritt 1126 übergeben;
    • • wenn die Benutzeraktion eine Aktualisierung des Kombinationsfelds 511 ist, wird die Steuerung dem Schritt 1114 übergeben;
    • • wenn die Benutzeraktion eine Aktualisierung des Kombinationsfelds 510 ist, wird die Steuerung dem Schritt 1115 übergeben;
    • • wenn die Benutzeraktion ein Klick auf das Drehfeld 507 ist, wird die Steuerung dem Schritt 1122 übergeben;
    • • wenn die Benutzeraktion ein Klick auf das Drehfeld 508 ist, wird die Steuerung dem Schritt 1123 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Done" 503 oder auf die Schaltfläche 502 zum Schließen des Fensters ist, wird die Steuerung dem Schritt 1128 übergeben.
    • • Im Schritt 1114 wird die Beschreibung der ST im Arbeitspufferspeicher aktualisiert, indem die bisherige Spezifikation des EF oder des MEF, die dem Element oder dem Metaelement entspricht, das von der gerade ausgewählten Zelle in dem Zellenbereich 514 dargestellt wird, durch den Namen des EF oder des MEF ersetzt wird, der im Textfeld 511 vorgefunden wird. Dann wird auch die lokale Variable STE_format auf den im Textfeld 511 enthaltenen Namen gesetzt. Daraufhin wird die Steuerung dem Schritt 1111 übergeben.
    • • Im Schritt 1115 wird die Beschreibung der ST im Arbeitspufferspeicher aktualisiert, indem die bisherige Spezifikation des EP oder des MEP, die dem Element oder dem Metaelement entspricht, das von der gerade ausgewählten Zelle in dem Zellenbereich 514 dargestellt wird, durch den Namen des EP oder des MEP ersetzt wird, der im Textfeld 510 vorgefunden wird. Dann wird auch die lokale Variable STE_profile auf den im Textfeld 510 enthaltenen Namen gesetzt. Daraufhin wird die Steuerung dem Schritt 1111 übergeben.
    • • Im Schritt 1116 wird ein Test durchgeführt, um zu prüfen, ob auf die gerade bearbeitete ST bereits von einem vorhandenen RE oder RME verwiesen wird oder ob sie bereits als eine STI instanziiert wurde. Dazu wird das Attribut "REFERENCED" 729 im Feld "Type" 727 des Datensatzes 721 in der STT-Tabelle 720, dessen Feld "Name" 722 den gleichen Wert wie die lokale Variable STE_name hat, geprüft. Wenn der Wert des Teilfelds "REFERENCED OBJECT" (RO) 729d "NO" lautet und wenn der Wert des Teilfelds "INSTANCE REFERENCE" (IR) 729c "1" (eins) lautet, wird die Steuerung dem Schritt 1117 übergeben; andernfalls wird sie dem Schritt 1118 übergeben.
    • • Im Schritt 1117 wird die STT-Tabelle 720 aktualisiert, indem der Datensatz 721 aufgefrischt wird, dessen Feld "Name" 722 den gleichen Wert wie die lokale Variable STE_name hat. Dazu werden
    • • das Feld "Last Change Date" 723 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Min Element #" 725 auf den Wert der lokalen Variablen STE_min gesetzt;
    • • das Feld "Max Element #" 726 auf den Wert der lokalen Variablen STE_max gesetzt.
    • • Die aktuelle im Arbeitspufferspeicher abgelegte Beschreibung der ST, die vom Zellenbereich 514 dargestellt wird und die sich an die STDT-Tabelle 760 hält, wird an den Speicherplatz kopiert, auf den das Feld "Description Ptr" 724 zeigt.
    • • Das Feld "Type" 727 wird aktualisiert, da das Teilfeld "FILIATION REFERENCE" (FR) 729b des Attributs "REFERENCED" 729 dank seiner Definitionsformel, die von der Gruppe der EFs, MEFs, EPs und MEPs abhängt, welche zu der STDT-Tabelle 760 gehören, auf die das Feld "Description Ptr" 724 zeigt, automatisch aktualisiert wird.
    • • Bei jedem Namen eines EF oder eines MEF, der in der Spalte 765 dieser STDT-Tabelle 760 vorkommt, wird die EFT-Tabelle 700 in den entsprechenden Datensätzen 701, deren Feld "Name" 702 mit dem Namen dieses Elements oder dieses MEF übereinstimmt, automatisch aktualisiert, da das Teilfeld "REFERENCED OBJECT" (RO) 709d (im Attribut "REFERENCED" 709) entsprechend seiner Definitionsformel neu berechnet wird.
    • • Bei jedem Namen eines EP oder eines MEP, der in der Spalte 764 dieser STDT-Tabelle 760 vorkommt, wird die EPT-Tabelle 710 in den entsprechenden Datensätzen 711, deren Feld "Name" 712 mit dem Namen dieses Elements oder dieses MEP übereinstimmt, automatisch aktualisiert, da das Teilfeld "REFERENCED OBJECT" (RO) 719d (im Attribut "REFERENCED" 719) entsprechend seiner Definitionsformel neu berechnet wird.
  • Daraufhin wird die Steuerung dem Schritt 1111 übergeben.
    • • Im Schritt 1118 wird eine Warnmeldung ausgegeben, um den Benutzer darauf aufmerksam zu machen, dass bereits von einem RE oder einem RME auf die bearbeitete ST verwiesen wird oder dass sie bereits als eine vorhandene STI instanziiert wurde. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Warnmeldung in einem Dialogfenster oder in einem Bereich der Statuszeile angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Dann wird der Benutzer aufgefordert, die aktuelle Speicheroperation ("Save") entweder abzubrechen oder fortzusetzen. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Aufforderungsmeldung in einem Dialogfenster angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Sobald der Benutzer über ein herkömmliches Mittel wie zum Beispiel einen Klick mit der Zeigeeinheit 105 auf eine Schaltfläche "Cancel" oder "Continue", die in einem Dialogfenster mit einer Aufforderungsmeldung vorhanden ist, oder über ein anderes ähnliches Mittel seine Wahl getroffen hat, wird die Steuerung dem Schritt 1111 übergeben, wenn sich der Benutzer des Tabellenkalkulationsprogramms entscheidet, die Operation abzubrechen, oder dem Schritt 1117, wenn sich der Benutzer des Tabellenkalkulationsprogramms entscheidet, die Operation fortzusetzen.
    • • Im Schritt 1119 wird ein Test an dem im Textfeld 505 vorgefundenen Wert durchgeführt, um festzustellen, ob er einem gültigen neuen Namen entspricht. Die entsprechenden Kriterien sind von der Ausführungsart abhängig und können verschiedene Formen annehmen, solange es sich bei dem neu vorgeschlagenen Namen im Hinblick auf alle bereits festgelegten und in den Feldern "Name" 702, 712, 722, 2212 und 2222 erfassten Namen um eine eindeutige Zeichenfolge handelt. Wenn die Gültigkeit und die Unverwechselbarkeit nachgewiesen sind, wird die Steuerung dem Schritt 1120 übergeben; andernfalls wird sie dem Schritt 1121 übergeben.
    • • Im Schritt 1120 wird im Hauptspeicher 102 Speicherbereich zugeordnet, um später den Deskriptor der ST abzulegen. Dieser zugeordnete Speicherbereich ist ein Teil des Speicherbereichs, der der gerade geöffneten Datei des Tabellenkalkulationsprogramms entspricht. Als Nächstes wird in der STT-Tabelle 720 ein neuer Datensatz 721 angelegt, und dieser neue Datensatz 721 wird wie folgt initialisiert:
    • • Das Feld "Name" 722 wird auf den im Textfeld 505 vorgefundenen und im Schritt 1119 für gültig erklärten Wert gesetzt, wobei der Eintrag in diesem Feld 722 dann der neue Wert der lokalen Variablen STE_name wird;
    • • das Feld "Last Change Date" 723 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Description Ptr" 724 wird auf den Speicherplatz gesetzt, der soeben zugeordnet wurde;
    • • das Feld "Min Element #" 725 wird auf den Wert der lokalen Variablen STE_min gesetzt;
    • • das Feld "Max Element #" 726 wird auf den Wert der lokalen Variablen STE_max gesetzt;
    • • die aktuelle im Arbeitspufferspeicher abgelegte Beschreibung der ST, die vom Zellenbereich 514 dargestellt wird und die sich an die STDT-Tabelle 760 hält, wird an den Speicherplatz kopiert, auf den das Feld "Description Ptr" 724 zeigt.
    • • Das Feld "Type" 727 wird wie folgt gesetzt: Das Attribut "META" 728 wird auf "NO" gesetzt, und das Attribut "REFERENCED" 729 wird wie folgt initialisiert:
    • • Das Teilfeld "OWN REFERENCE" (OR) 729a wird mit einer Primzahl initialisiert, die noch keinem anderen OR-Teilfeld 709a oder 719a oder 729a oder 780a oder 2219a oder 2229a oder 2240a zugewiesen wurde. Verschiedene herkömmliche Verfahren, die hier nicht näher beschrieben werden, können zur Feststellung einer Primzahl angewendet werden.
    • • Das Teilfeld "FILIATION REFERENCE" (FR) 729b wird entsprechend der folgenden Formel initialisiert, wobei die Gruppe F der Gruppe von EFs, MEFs, EPs und MEPs entspricht, die gemäß der im Feld "Description Ptr" 724 erfassten Struktur die neue ST bildet: FR = Πi∊F ORi × LCM({FRi})i∊F
    • • Das Teilfeld "INSTANCE REFERENCE" (IR) 729c wird auf den Anfangswert 1 (eins) gesetzt.
    • • Das Teilfeld "REFERENCED OBJECT" (RO) 729d wird mit der folgenden Formel initialisiert, wobei die Gruppe P der Gruppe der REs und RMEs entspricht: RO = "YES" wenn LCM({FRi})i∊P Mod OR = 0;andernfalls ist RO = "NO".
    • • Das Teilfeld "SELECTED CHILDREN" (SC) 729e wird mit der folgenden Formel initialisiert, wobei die Gruppe S der Gruppe der ausgewählten Objekte entspricht (deren Attribut "SELECTED" 2242 in der RSTMT-Tabelle 2230 den Wert "YES" hat): SC = "YES" wenn LCM({FRi})i∊S Mod OR = 0 #OR# STE_name ∊ S,andernfalls ist SC = "NO".
    • • Bei jedem Namen eines EF oder eines MEF, der in der Spalte 765 dieser STDT-Tabelle 760 vorkommt, wird die EFT-Tabelle 700 in den entsprechenden Datensätzen 701, deren Feld "Name" 702 mit dem Namen dieses Elements oder dieses MEF übereinstimmt, automatisch aktualisiert, da das Teilfeld "REFERENCED OBJECT" (RO) 709d (im Attribut "REFERENCED" 709) entsprechend seiner Definitionsformel neu berechnet wird.
    • • Bei jedem Namen eines EP oder eines MEP, der in der Spalte 764 dieser STDT-Tabelle 760 vorkommt, wird die EPT-Tabelle 710 in den entsprechenden Datensätzen 711, deren Feld "Name" 712 mit dem Namen dieses Elements oder dieses MEP übereinstimmt, automatisch aktualisiert, da das Teilfeld "REFERENCED OBJECT" (RO) 719d (im Attribut "REFERENCED" 719) entsprechend seiner Definitionsformel neu berechnet wird.
  • Daraufhin wird die Steuerung dem Schritt 1111 übergeben.
    • • Im Schritt 1121 wird eine Warnmeldung ausgegeben, um den Benutzer darauf aufmerksam zu machen, dass im Textfeld 505 ein gültiger und eindeutiger Name angegeben werden muss, bevor die Schaltfläche "Save As" 512 angeklickt wird. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Warnmeldung in einem Dialogfenster oder in einem Bereich der Statuszeile angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Sobald der Benutzer diesen Hinweis über ein herkömmliches Mittel wie zum Beispiel einen Klick mit der Zeigeeinheit 105 auf eine Schaltfläche "OK", die in einem Dialogfenster mit einer Warnmeldung vorhanden ist, oder über ein anderes ähnliches Mittel bestätigt hat, wird die Steuerung dem Schritt 1111 übergeben.
    • • Im Schritt 1122 wird der Wert der lokalen Variablen STE_min entsprechend der von der Zeigeeinheit 105 auf dem Drehfeld 507 vorgegebenen Richtung (nach oben oder nach unten) entweder um 1 (eins) erhöht oder verringert, und dies, solange ihr Wert positiv und kleiner als oder gleichgroß wie ein oberer Grenzwert, der in einer bevorzugten Ausführungsform der vorliegenden Erfindung auf 254 gesetzt wird, sowie gleichgroß wie der Wert bleibt, der im Textfeld 509 angezeigt wird. Daraufhin wird die Steuerung dem Schritt 1111 übergeben.
    • • Im Schritt 1123 wird der Wert der lokalen Variablen STE_max entsprechend der von der Zeigeeinheit 105 auf dem Drehfeld 508 vorgegebenen Richtung (nach oben oder nach unten) entweder um 1 (eins) erhöht oder verringert, und dies, solange ihr Wert positiv, größer als der im Textfeld 506 angezeigte Wert und kleiner als oder gleichgroß wie ein oberer Grenzwert bleibt, der in einer bevorzugten Ausführungsform der vorliegenden Erfindung auf 254 gesetzt wird. Daraufhin wird die Steuerung dem Schritt 1111 übergeben.
    • • Im Schritt 1124 wird in den Zellenbereich 514, der die bearbeitete ST darstellt, über der Zeile, in der sich zuvor die zuletzt ausgewählte Zelle befand, eine neue Zeile eingefügt.
  • Daraufhin wird die äußerste linke Zelle ausgewählt, die sich in der neuen Zeile im Zellenbereich 514 befindet. Dann wird die Definition der ST im Arbeitspufferspeicher aktualisiert, indem ein neues Meta-Element eingefügt wird, das wie die anderen von einem Paar (MEF 765, MEP 764) beschrieben wird, welches standardmäßig aus einem standardmäßigen MEF und einem standardmäßigen MEP besteht, die ebenfalls der lokalen Variablen STE_format beziehungsweise der lokalen Variablen STE_profile zugeordnet werden. Überdies wird die aktuelle im Arbeitspufferspeicher abgelegte Beschreibung der ST, die vom Zellenbereich 514 dargestellt wird und die sich an die STDT-Tabelle 760 hält, an den Speicherplatz kopiert, auf den das Feld "Description Ptr" 724 zeigt. Dann wird die Steuerung dem Schritt 1111 übergeben.
    • • Im Schritt 1125 wird die Zeile, die die ausgewählte Zelle enthält, aus dem Zellenbereich 514 entfernt. Dann wird die äußerste linke Zelle ausgewählt, die sich im Zellenbereich 514 in der Zeile befindet, welche das in der bearbeiteten ST festgelegte Element darstellt. Anschließend wird die Definition der ST aktualisiert, indem das gelöschte Meta-Element entfernt wird, das von einem Paar (MEF, MEP) beschrieben wurde. Überdies wird die aktuelle im Arbeitspufferspeicher abgelegte Beschreibung der ST, die vom Zellenbereich 514 dargestellt wird und die sich an die STDT-Tabelle 760 hält, an den Speicherplatz kopiert, auf den das Feld "Description Ptr" 724 zeigt. Dann wird die Steuerung dem Schritt 1127 übergeben.
    • • Im Schritt 1126 wird die aktuelle Zelle im Arbeitsblatt "Editor Space" 515 nach oben beziehungsweise nach unten verschoben, wenn der Benutzer des Tabellenkalkulationsprogramms mit der Zeigeeinheit 105 auf die Schaltfläche "Up" 519 oder auf die Schaltfläche "Down" 520 geklickt hat, und auch, wenn die aktuelle Zelle durch diese Bewegung nicht aus dem Zellenbereich 514, der die ST darstellt, geschoben wird.
    • • Im Schritt 1127 werden die lokalen Variablen STE_format und STE_profile auf den Namen des EF oder des MEF beziehungsweise auf den Namen des EP oder des MEP gesetzt, der dem Element oder dem Meta-Element entspricht, das von der gerade ausgewählten Zelle in dem Zellenbereich 514 dargestellt wird. Daraufhin wird die Steuerung dem Schritt 1111 übergeben.
    • • Im Schritt 1128 wird das Dialogfeld 501 des ST-Editors geschlossen, so dass es vom Bildschirm 106 verschwindet, dann wird das Arbeitsblatt "Editor Space" 515 aus dem angezeigten Fenster entfernt und durch das ursprüngliche Arbeitsblatt ersetzt, das zu dem Zeitpunkt vorhanden war, zu dem der EP-Editor aufgerufen wurde. Alle Mittel, die während der Anzeige des Arbeitsblatts "Editor Space" 515 vorübergehend deaktiviert wurden, werden nun wieder aktiviert. Schließlich wird die Steuerung wieder dem ersten Schritt 1101 zur Verarbeitung eines künftigen ST-Editor-Befehls übergeben.
  • E5. RST-Editor-Verfahren
  • Das Verfahren zur Erzeugung oder Aktualisierung von RSTs, das in der bevorzugten Ausführungsform der vorliegenden Erfindung verwendet wird, ist im Flussdiagramm 1230 von 12 zusammengefasst. Dieses Verfahren kann als Verarbeitung des Befehls "RST Editor" betrachtet werden.
    • • Im Schritt 1231 befindet sich das Verfahren in seinem standardmäßigen Zustand, in dem es auf ein Ereignis zum Starten des Prozesses wartet.
    • • Im Schritt 1232 wird der Befehl "RST Editor" als Ergebnis einer Benutzeraktion festgestellt. Diese Aktion kann beispielsweise Folgende sein:
    • • eine bestimmte Tastenkombination auf der Tastatur 104 oder
    • • das Anklicken einer bestimmten Schaltfläche mit der Zeigeeinheit 105 oder
    • • ein anderes ähnliches Mittel, das hier nicht näher angegeben wird.
    • • Im Schritt 1233 wird der Parameter des Befehls abgerufen. Er entspricht einem zwingend notwendigen Parameter RSTE_name, der entweder einen reservierten Wert "NEW" oder einen anderen Wert annehmen kann, welcher dem Namen einer Zeichenfolge entspricht, der im Feld "Name" 2232 eines Datensatzes 2231 in der RSTMT-Tabelle 2230 vorgefunden wird. Dieser Parameter wird als eine lokale Variable abgelegt.
    • • Im Schritt 1234 werden einige lokale Variablen mit einem Anfangswert belegt: Die lokale Variable RSTE_min wird auf den Standardwert 1 (eins) gesetzt, und die lokale Variable RSTE_max wird auf den Standardwert 16 gesetzt.
    • • Im Schritt 1235 wird ein Test durchgeführt, um festzustellen, welchen Wert die lokale Variable RSTE_name angenommen hat. Wenn festgestellt wird, dass ihr Wert "NEW" lautet, wird die Steuerung dem Schritt 1239 übergeben; andernfalls wird die Steuerung dem Schritt 1236 übergeben.
    • • Im Schritt 1236 wird die RSTT-Tabelle 2220 nach einem Datensatz 2221 durchsucht, bei dem der Wert im Feld "Name" 2222 gleich dem von der lokalen Variablen RSTE_name angenommenen Wert ist. Wenn ein solcher Datensatz gefunden wird, wird die Steuerung dem Schritt 1238 übergeben; andernfalls wird die Steuerung dem Schritt 1237 übergeben.
    • • Im Schritt 1237 wird eine Ausnahmebedingungs-Behandlungsroutine aufgerufen, um diese "Should-notoccur"-Bedingung zu behandeln. Eine solche Operation hängt von der Ausführungsart ab und kann verschiedene Formen wie zum Beispiel die Anzeige eines Dialogfensters mit einer Fehlermeldung auf dem Bildschirm 106 annehmen. Dann wird die Steuerung dem ersten Schritt 1231 zur Verarbeitung eines künftigen RST-Editor-Befehls übergeben.
    • • Im Schritt 1238 wird die lokale Variable RSTE_min auf den Wert gesetzt, der im Feld "Min Element #" 2225 des im Schritt 1236 gefundenen Datensatzes 2221 vorgefunden wird, wird die lokale Variable RSTE_max auf den Wert gesetzt, der im Feld "Max Element #" 2226 des im Schritt 1236 gefundenen Datensatzes 2221 vorgefunden wird.
  • Dann wird der Speicherplatz, auf den das Feld "Description Ptr" 2224 des im Schritt 1236 gefundenen Datensatzes 2221 (an dem die Beschreibung der RST entsprechend der in 17D gezeigten RSTDT-Tabelle 2250 abgelegt ist) zeigt, in einen Arbeitspufferspeicher kopiert, der sich wiederum an dieselbe RSTDT-Tabelle 2250 hält. Mit dieser Struktur wird dann in der Zwischenablage im Hauptspeicher 102 ein Bereich von Zellen eines Arbeitsblatts erzeugt, der die Definition der RST darstellt, die in den Arbeitspufferspeicher kopiert wurde, wobei jede Zelle in Folge Namen von REs oder RMEs entspricht, wobei mit dem ersten Namen 2251 begonnen und dies bis zum letzten Namen 2253 fortgesetzt wird. Dann wird die Steuerung dem Schritt 1240 übergeben.
    • • Im Schritt 1239 wird entsprechend einer Namensfolge, die in einer bevorzugten Ausführungsform der vorliegenden Erfindung die Form "New XX" hat, ein neuer Name für die neu erzeugte RST festgelegt, wobei XX einem Zählerwert entspricht, der in Bezug auf alle Namen, die zuvor festgelegt und in den Feldern "Name" 702, 712, 722, 2212 und 2222 erfasst wurden, welche sich in den jeweiligen Datensätzen 701, 711, 721, 2211 und 2221 der jeweiligen Tabellen EFT 700, EPT 710, STT 720, RET 2210 und RSST 2220 befinden, die Unverwechselbarkeit des Namens sicherstellt. Ein anderes ähnliches herkömmliches Mittel könnte stattdessen ebenfalls verwendet werden, solange die Unverwechselbarkeit des neu erzeugten Namens sichergestellt wird. Dann wird der neue Name in der lokalen Variablen RSTE_name abgelegt. Anschließend wird im Hauptspeicher 102 Speicherbereich zugeordnet, um später den der Veranschaulichung dienenden Zellenbereich für die neue RST abzulegen. Dieser zugeordnete Speicherbereich ist ein Teil des Speicherbereichs, der der gerade geöffneten Datei des Tabellenkalkulationsprogramms entspricht, und er hält sich an die in 17D gezeigte RSTDT-Tabelle 2250. Als Nächstes wird in der RSTT-Tabelle 2221 ein neuer Datensatz 2221 angelegt, und dieser neue Datensatz 2221 wird wie folgt initialisiert:
    • • Das Feld "Name" 2222 wird auf den Wert der lokalen Variablen RSTE_name gesetzt;
    • • das Feld "Last Change Date" 2223 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Description Ptr" 2224 wird auf den Speicherplatz gesetzt, der soeben zugeordnet wurde;
    • • das Feld "Min Element #" 2225 wird auf den Wert der lokalen Variablen RSTE_min gesetzt;
    • • das Feld "Max Element #" 2226 wird auf den Wert der lokalen Variablen RSTE_max gesetzt;
    • • das Feld "Type" 2227 wird wie folgt gesetzt: Das Attribut "META" 2228 wird auf "NO" gesetzt, und das Attribut "REFERENCED" 2229 wird wie folgt initialisiert:
    • • Das Teilfeld "OWN REFERENCE" (OR) 2229a wird mit einer Primzahl initialisiert, die noch keinem anderen OR-Teilfeld 709a oder 719a oder 729a oder 780a oder 2219a oder 2229a oder 2240a zugewiesen wurde. Verschiedene herkömmliche Verfahren, die hier nicht näher beschrieben werden, können zur Feststellung einer Primzahl angewendet werden.
    • • Das Teilfeld "FILIATION REFERENCE" (FR) 2229b Wird entsprechend der folgenden Formel initialisiert, wobei die Gruppe F der Gruppe von REs und RMEs entspricht, die gemäß der im Feld "Description Ptr" 2224 erfassten Struktur die neue RST bildet: FR = Πi∊F ORi × LCM({FRi})i∊F
    • • Das Teilfeld "INSTANCE REFERENCE" (IR) 2229c wird auf den Anfangswert 1 (eins) gesetzt.
    • • Das Teilfeld "REFERENCED OBJECT" (RO) 2229d wird auf den Anfangswert "NO" gesetzt.
    • • Das Teilfeld "SELECTED CHILDREN" (SC) 222e wird mit der folgenden Formel initialisiert, wobei die Gruppe S der Gruppe der ausgewählten Objekte entspricht (deren Attribut "SELECTED" 2242 in der RSTMT-Tabelle 2230 den Wert "YES" hat): SC = "YES" wenn LCM({FRi})i∊S Mod OR = 0 #OR# RSTE_name ∊ S,andernfalls ist SC = "NO".
  • Dann wird im Hauptspeicher 102 ein Arbeitspufferspeicherbereich zugeordnet und mit einer standardmäßigen Beschreibung einer RST initialisiert, die einem RE 2252 entspricht. Mit dieser standardmäßigen Beschreibung einer RST wird dann in der Zwischenablage im Hauptspeicher 102 ein Bereich von Zellen eines Arbeitsblatts erzeugt, der die neue RST darstellt. Diese Gestaltung wird in der Weise erreicht, die am Ende des Schritts 1238 erklärt ist. Dann wird die Steuerung dem Schritt 1240 übergeben.
    • • Im Schritt 1240 wird das Arbeitsblatt "Editor Space" 615 zum aktuellen Arbeitsblatt gemacht, und dieses Arbeitsblatt wird in den Schreibschutzmodus versetzt, währenddessen die normale Funktion zum Einfügen und Löschen von Zeilen deaktiviert ist. Daraufhin wird die oberste linke Zelle des Zellenbereichs 614 ausgewählt. Dann wird die lokale Variable RE_name mit dem Namen des RE belegt, welcher der Zeile entspricht, in der sich die Zelle befindet, die gerade in dem Zellenbereich 614 ausgewählt wurde.
    • • Im Schritt 1241 wird das Dialogfeld 601 des RST-Editors auf dem Bildschirm 106 angezeigt.
    • • Das Bezeichnungsfeld 604 wird mit dem Wert der lokalen Variablen RSTE_name initialisiert.
    • • In das Textfeld 606 wird der Wert der lokalen Variablen RSTE_min eingegeben.
    • • In das Textfeld 609 wird der Wert der lokalen Variablen RSTE_max eingegeben.
    • • In das Kombinationsfeld 610 wird der Wert der lokalen Variablen RE_name eingegeben.
  • Anschließend wird der Zellenbereich 614 entsprechend der Beschreibung aktualisiert, die in der Speicherzwischenablage abgelegt ist: Der Inhalt der Zwischenablage wird in dieses leere Arbeitsblatt an einer festen Zellenadresse 614 (Adresse B2 in einer bevorzugten Ausführungsform der vorliegenden Erfindung, wie in 6 gezeigt ist) eingefügt, so dass der Benutzer die ST auf dem Bildschirm 106 im Fenster 611 darstellen kann. Dann wird ein Test durchgeführt, um zu prüfen, ob alle REs und RMEs, die zur Definition der RST beitragen, welche vom Zellenbereich 614 dargestellt wird, die gleiche Anzahl von Feldern haben. Wenn dies der Fall ist, werden die beiden Schaltflächen "Save" 613 und „Save As" 612 aktiviert, so dass der Klick mit der Zeigeeinheit 105 auf eine dieser beiden Schaltflächen als ein gültiges Ereignis erkannt wird. Andernfalls werden die beiden Schaltflächen "Save" 613 und „Save As" 612 deaktiviert, so dass der Klick mit der Zeigeeinheit 105 auf eine dieser beiden Schaltflächen nicht als ein gültiges Ereignis erkannt wird.
    • • Im Schritt 1242 wartet das Verfahren auf eine Benutzeraktion im Dialogfeld 601 des RST-Editors. Eine solche Benutzeraktion ist üblicherweise das Ergebnis eines Klicks mit der Zeigeeinheit 105, wobei dieser Auslöser jedoch auch andere ähnliche Formen annehmen kann wie zum Beispiel, jedoch nicht auf diese beschränkt, eine bestimmte Tastenkombination auf der Tastatur 104 oder irgendein anderes ähnliches Mittel, das hier nicht näher angegeben wird.
    • • Im Schritt 1243 wird eine Benutzeraktion im Dialogfeld 601 des RST-Editors festgestellt.
    • • Wenn die Benutzeraktion ein Klick auf die Schaltfläche "Save" 613 ist, wird die Steuerung dem Schritt 1246 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Save As" 612 ist, wird die Steuerung dem Schritt 1249 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Add" 617 ist, wird die Steuerung dem Schritt 1254 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Delete" 618 ist, wird die Steuerung dem Schritt 1255 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Up" 619 oder auf die Schaltfläche "Down" 616 ist, wird die Steuerung dem Schritt 1256 übergeben;
    • • wenn die Benutzeraktion eine Aktualisierung des Kombinationsfelds 610 ist, wird die Steuerung dem Schritt 1244 übergeben;
    • • wenn die Benutzeraktion ein Klick auf das Drehfeld 607 ist, wird die Steuerung dem Schritt 1252 übergeben;
    • • wenn die Benutzeraktion ein Klick auf das Drehfeld 608 ist, wird die Steuerung dem Schritt 1253 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Done" 603 oder auf die Schaltfläche 602 zum Schließen des Fensters ist, wird die Steuerung dem Schritt 1258 übergeben.
    • • Im Schritt 1244 wird die Beschreibung der ST im Arbeitspufferspeicher aktualisiert, indem der bisherige Name des RE oder des RME, der dem RE oder dem RME entspricht, das von der gerade ausgewählten Zelle in dem Zellenbereich 614 dargestellt wird, durch den Namen des RE oder des RME ersetzt wird, der im Kombinationsfeld 610 vorgefunden wird. Dann wird die Steuerung dem Schritt 1241 übergeben.
    • • Im Schritt 1246 wird ein Test durchgeführt, um zu prüfen, ob auf die gerade bearbeitete RST bereits von einer vorhandenen RSTI verwiesen wird. Dazu wird der Wert des Attributs "REFERENCED" 2229 im Feld "Type" 2227 des Datensatzes 2221 in der RSTT-Tabelle 2220, dessen Feld "Name" 2222 den gleichen Wert wie die lokale Variable RSTE_name hat, geprüft. Wenn der Wert des Teilfelds "INSTANCE REFERENCE" (IR) 2229c "1" (eins) lautet, wird die Steuerung dem Schritt 1247 übergeben; andernfalls wird die Steuerung dem Schritt 1248 übergeben.
    • • Im Schritt 1247 wird die RSTT-Tabelle 2220 aktualisiert, indem der Datensatz 2221 aufgefrischt wird, dessen Feld "Name" 2222 den gleichen Wert wie die lokale Variable RSTE_name hat. Dazu werden
    • • das Feld "Last Change Date" 2223 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Min Element #" 2225 auf den Wert der lokalen Variablen RSTE_min gesetzt;
    • • das Feld "Max Element #" 2226 auf den Wert der lokalen Variablen RSTE_max gesetzt.
    • • Die aktuelle im Arbeitspufferspeicher abgelegte Beschreibung der RST, die vom Zellenbereich 614 dargestellt wird und die sich an die RSTDT-Tabelle 2250 hält, wird an den Speicherplatz kopiert, auf den das Feld "Description Ptr" 2224 zeigt.
    • • Das Feld "Type" 2227 wird aktualisiert, da das Teilfeld "FILIATION REFERENCE" (FR) 2229b des Attributs "REFERENCED" 2229 dank seiner Definitionsformel, die von der Gruppe der REs und RMEs abhängt, welche zu der RSTDT-Tabelle 2250 gehören, auf die das Feld "Description Ptr" 2224 zeigt, automatisch aktualisiert wird.
    • • Bei jedem Namen eines RE oder eines RME, der in der Spalte 2254 dieser RSTDT-Tabelle 2250 vorkommt, wird die RET-Tabelle 2210 in dem entsprechenden Datensatz 2211, dessen Feld "Name" 2212 mit dem Namen dieses RE oder dieses RME übereinstimmt, automatisch aktualisiert, da das Teilfeld "REFERENCED OBJECT" (RO) 2219d (im Attribut "REFERENCED" 2219) entsprechend seiner Definitionsformel neu berechnet wird.
    • • Im Schritt 1248 wird eine Warnmeldung ausgegeben, um den Benutzer darauf aufmerksam zu machen, dass die bearbeitete RST bereits als eine RSTI instanziiert wurde. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Warnmeldung in einem Dialogfenster oder in einem Bereich der Statuszeile angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Dann wird der Benutzer aufgefordert, die aktuelle Speicheroperation ("Save") entweder abzubrechen oder fortzusetzen. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Aufforderungsmeldung in einem Dialogfenster angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Sobald der Benutzer über ein herkömmliches Mittel wie zum Beispiel einen Klick mit der Zeigeeinheit 105 auf eine Schaltfläche "Cancel" oder "Continue", die in einem Dialogfenster mit einer Aufforderungsmeldung vorhanden ist, seine Wahl getroffen hat, wird die Steuerung dem Schritt 1241 übergeben, wenn sich der Benutzer des Tabellenkalkulationsprogramms entscheidet, die Operation abzubrechen, oder dem Schritt 1247, wenn sich der Benutzer des Tabellenkalkulationsprogramms entscheidet, die Operation fortzusetzen.
    • • Im Schritt 1249 wird ein Test an dem im Textfeld 605 vorgefundenen Wert durchgeführt, um festzustellen, ob er einem gültigen neuen Namen entspricht. Die entsprechenden Kriterien sind von der Ausführungsart abhängig und können verschiedene Formen annehmen, solange es sich bei dem neu vorgeschlagenen Namen im Hinblick auf alle bereits festgelegten und in den Feldern "Name" 702, 712, 722, 2212 und 2222 erfassten Namen um eine eindeutige Zeichenfolge handelt. Wenn die Gültigkeit und die Unverwechselbarkeit nachgewiesen sind, wird die Steuerung dem Schritt 1250 übergeben; andernfalls wird sie dem Schritt 1251 übergeben.
    • • Im Schritt 1250 wird im Hauptspeicher 102 Speicherbereich zugeordnet, um später den Deskriptor der RST abzulegen. Dieser zugeordnete Speicherbereich ist ein Teil des Speicherbereichs, der der gerade geöffneten Datei des Tabellenkalkulationsprogramms entspricht. Als Nächstes wird in der RSTT-Tabelle 2221 ein neuer Datensatz 2221 angelegt, und dieser neue Datensatz 2221 wird wie folgt initialisiert:
    • • Das Feld "Name" 2222 wird auf den im Textfeld 605 vorgefundenen und im Schritt 1249 für gültig erklärten Wert gesetzt, wobei der Eintrag in diesem Feld 2222 dann der neue Wert der lokalen Variablen RSTE_name wird;
    • • das Feld "Last Change Date" 2223 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Description Ptr" 2224 wird auf den Speicherplatz gesetzt, der soeben zugeordnet wurde;
    • • das Feld "Min Element #" 2225 wird auf den Wert der lokalen Variablen RSTE_min gesetzt;
    • • das Feld "Max Element #" 2226 wird auf den Wert der lokalen Variablen RSTE_max gesetzt; und
    • • das Feld "Type" 2227 wird wie folgt gesetzt: Das Attribut "META" 2228 wird auf "NO" gesetzt, und das Attribut "REFERENCED" 2229 wird wie folgt initialisiert:
    • • Das Teilfeld "OWN REFERENCE" (OR) 2229a wird mit einer Primzahl initialisiert, die noch keinem anderen OR-Teilfeld 709a oder 719a oder 729a oder 780a oder 2219a oder 2229a oder 2240a zugewiesen wurde. Verschiedene herkömmliche Verfahren, die hier nicht näher beschrieben werden, können zur Feststellung einer Primzahl angewendet werden.
    • • Das Teilfeld "FILIATION REFERENCE" (FR) 2229b wird entsprechend der folgenden Formel initialisiert, wobei die Gruppe F der Gruppe von REs und RMEs entspricht, die gemäß der im Feld "Description Ptr" 2224 erfassten Struktur die neue RST bildet: FR = Πi∊F ORi × LCM({FRi})i∊F
    • • Das Teilfeld "INSTANCE REFERENCE" (IR) 2229c wird auf den Anfangswert 1 (eins) gesetzt.
    • • Das Teilfeld "REFERENCED OBJECT" (RO) 2229d wird auf den Anfangswert "NO" gesetzt.
    • • Das Teilfeld "SELECTED CHILDREN" (SC) 2229e wird mit der folgenden Formel initialisiert, wobei die Gruppe S der Gruppe der ausgewählten Objekte entspricht (deren Attribut "SELECTED" 2242 in der RSTMT-Tabelle 2230 den Wert "YES" hat): SC = "YES" wenn LCM({FRi})i∊S Mod OR = 0 #OR# RSTE_name ∊ S,andernfalls ist SC = "NO".
    • • Die aktuelle im Arbeitspufferspeicher abgelegte Beschreibung der RST, die vom Zellenbereich 614 dargestellt wird und die sich an die RSTDT-Tabelle 2250 hält, wird an den Speicherplatz kopiert, auf den das Feld "Description Ptr" 2224 zeigt.
    • • Bei jedem Namen eines RE oder eines RME, der in der Spalte 2254 dieser RSTDT-Tabelle 2250 vorkommt, wird die RET-Tabelle 2210 in dem entsprechenden Datensatz 2211, dessen Feld "Name" 2212 mit dem Namen dieses RE oder dieses RME übereinstimmt, automatisch aktualisiert, da das Teilfeld "REFERENCED OBJECT" (RO) 2229d (im Attribut "REFERENCED" 2219) entsprechend seiner Definitionsformel neu berechnet wird.
    • • Im Schritt 1251 wird eine Warnmeldung ausgegeben, um den Benutzer darauf aufmerksam zu machen, dass im Textfeld 605 ein gültiger und eindeutiger Name angegeben werden muss, bevor die Schaltfläche "Save As" 612 angeklickt wird. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Warnmeldung in einem Dialogfenster oder in einem Bereich der Statuszeile angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Sobald der Benutzer diesen Hinweis über ein herkömmliches Mittel wie zum Beispiel einen Klick mit der Zeigeeinheit 105 auf eine Schaltfläche "OK", die in einem Dialogfenster mit einer Warnmeldung vorhanden ist, oder über ein anderes ähnliches Mittel bestätigt hat, wird die Steuerung dem Schritt 1241 übergeben.
    • • Im Schritt 1252 wird der Wert der lokalen Variablen RSTE_min entsprechend der von der Zeigeeinheit 105 auf dem Drehfeld 607 vorgegebenen Richtung (nach oben oder nach unten) entweder um 1 (eins) erhöht oder verringert, und dies, solange ihr Wert positiv und kleiner als oder gleichgroß wie ein oberer Grenzwert, der in einer bevorzugten Ausführungsform der vorliegenden Erfindung auf 254 gesetzt wird, sowie gleichgroß wie der Wert bleibt, der im Textfeld 609 angezeigt wird. Daraufhin wird die Steuerung dem Schritt 1241 übergeben.
    • • Im Schritt 1253 wird der Wert der lokalen Variablen RSTE_max entsprechend der von der Zeigeeinheit 105 auf dem Drehfeld 608 vorgegebenen Richtung (nach oben oder nach unten) entweder um 1 (eins) erhöht oder verringert, und dies, solange ihr Wert positiv, größer als der im Textfeld 606 angezeigte Wert und kleiner als oder gleichgroß wie ein oberer Grenzwert bleibt, der in einer bevorzugten Ausführungsform der vorliegenden Erfindung auf 254 gesetzt wird. Daraufhin wird die Steuerung dem Schritt 1241 übergeben.
    • • Im Schritt 1254 wird in den Zellenbereich 614, der die bearbeitete RST darstellt, über der Zeile, in der sich zuvor die zuletzt ausgewählte Zelle befand, eine neue Zeile eingefügt.
  • Daraufhin wird die äußerste linke Zelle ausgewählt, die sich in der neuen Zeile im Zellenbereich 614 befindet.
  • Dann wird die Definition der RST im Arbeitspufferspeicher aktualisiert, indem ein neues RME eingefügt wird, das wie die anderen mit einem Namen bezeichnet wird, der auch der lokalen Variablen RE_name zugewiesen wird.
  • Überdies wird die aktuelle im Arbeitspufferspeicher abgelegte Beschreibung der RST, die vom Zellenbereich 614 dargestellt wird und die sich an die RSTDT-Tabelle 2250 hält, an den Speicherplatz kopiert, auf den das Feld "Description Ptr" 2224 zeigt.
  • Daraufhin wird die Steuerung dem Schritt 1241 übergeben.
    • • Im Schritt 1255 wird die Zeile, die die ausgewählte Zelle enthält, aus dem Zellenbereich 614 entfernt, so dass das nächste RE oder Meta-Element ausgewählt wird.
  • Anschließend wird die Definition der RST aktualisiert, indem das gelöschte, durch seinen Namen ausgewiesene RME entfernt wird.
  • Überdies wird die aktuelle im Arbeitspufferspeicher abgelegte Beschreibung der RST, die vom Zellenbereich 614 dargestellt wird und die sich an die RSTDT-Tabelle 2250 hält, an den Speicherplatz kopiert, auf den das Feld "Description Ptr" 2224 zeigt.
  • Daraufhin wird die Steuerung dem Schritt 1257 übergeben.
    • • Im Schritt 1256 wird die aktuelle Zelle im Arbeitsblatt "Editor Space" 615 nach oben beziehungsweise nach unten verschoben, wenn der Benutzer des Tabellenkalkulationsprogramms mit der Zeigeeinheit 105 auf die Schaltfläche "Up" 619 oder auf die Schaltfläche "Down" 616 geklickt hat, und auch, wenn die aktuelle Zelle durch diese Bewegung nicht aus dem Zellenbereich 614, der die RST darstellt, geschoben wird.
    • • Im Schritt 1257 wird die lokale Variable RE_name auf den Namen des RE oder des RME gesetzt, das entweder dem RE oder dem RME entspricht, welches von der gerade ausgewählten Zelle im Zellenbereich 614 ausgewiesen wird. Dann wird die Steuerung dem Schritt 1241 übergeben.
    • • Im Schritt 1258 wird das Dialogfeld 601 des RST-Editors geschlossen, so dass es vom Bildschirm 106 verschwindet, dann wird das Arbeitsblatt "Editor Space" 615 aus dem angezeigten Fenster entfernt und durch das ursprüngliche Arbeitsblatt ersetzt, das zu dem Zeitpunkt vorhanden war, zu dem der RST-Editor aufgerufen wurde. Alle Mittel, die während der Anzeige des Arbeitsblatts "Editor Space" 615 vorübergehend deaktiviert wurden, werden nun wieder aktiviert. Schließlich wird die Steuerung wieder dem ersten Schritt 1231 zur Verarbeitung eines künftigen RST-Editor-Befehls übergeben.
  • E6. ST-Instanziator-Verfahren
  • Das Verfahren zur Erzeugung einer STI, die sich an eine festgelegte ST hält, das in der bevorzugten Ausführungsform der vorliegenden Erfindung verwendet wird, ist im Flussdiagramm 1400 von 14A und 14B zusammengefasst, wobei Letzteres der Routine "CreateSTI" entspricht. Dieses Verfahren kann als Verarbeitung des Befehls "ST Instanciator" betrachtet werden.
    • • Im Schritt 1401 befindet sich das Verfahren in seinem standardmäßigen Zustand, in dem es auf ein Ereignis zum Starten des Prozesses wartet.
    • • Im Schritt 1402 wird der Befehl "ST Instanciator" als Ergebnis einer Benutzeraktion festgestellt. Diese Aktion kann beispielsweise eine bestimmte Tastenkombination auf der Tastatur 104 oder der Klick der Zeigeeinheit 105 auf eine bestimmte Schaltfläche oder ein anderes ähnliches Mittel sein, das hier nicht näher angegeben wird.
    • • Im Schritt 1403 wird ein Test durchgeführt, um zu prüfen, ob die gerade ausgewählte Zelle in einem Arbeitsblatt enthalten ist, auf dem eine RSTI vorhanden ist. Dieser Test kann durchgeführt werden, indem die RSTIT-Tabelle 2260 ausgewertet wird, um einen Datensatz 2261 zu ermitteln, dessen Feld "Address" 2262 demselben Arbeitsblatt wie die gerade ausgewählte Zelle entspricht. Wenn dies der Fall ist, wird die Steuerung dem Schritt 1404 übergeben; andernfalls wird die Steuerung dem Schritt 1405 übergeben.
    • • Im Schritt 1404 wird eine Warnmeldung ausgegeben, um den Benutzer darauf aufmerksam zu machen, dass eine STI nicht eigens auf einem Arbeitsblatt erzeugt werden kann, auf dem bereits eine RSTI vorhanden ist. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Warnmeldung in einem Dialogfenster oder in einem Bereich der Statuszeile angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Sobald der Benutzer diesen Hinweis über ein herkömmliches Mittel wie zum Beispiel einen Klick mit der Zeigeeinheit 105 auf eine Schaltfläche "OK", die in einem Dialogfenster mit einer Warnmeldung vorhanden ist, oder über ein anderes ähnliches Mittel bestätigt hat, wird die Steuerung dem Schritt 1401 übergeben.
    • • Im Schritt 1405 wird zuerst der Befehlsparameter ST_name abgerufen: Er entspricht dem Namen der ST, an die sich die zu erzeugende STI halten wird. Dieser Parameter ST_name dient zur Auswertung der STT-Tabelle 720, um den Datensatz 721 zu finden, dessen Feld "Name" 722 mit dem Parameter ST_name übereinstimmt. Sobald dieser Datensatz 721 gefunden wurde, werden seine Felder "Min Element #" 725 und "Max Element #" 726 als die lokalen Variablen STI min beziehungsweise STI max. gespeichert. Über sein Feld "Description Ptr" 724 wird dann entsprechend der in Bezug genommenen STDT-Tabelle 760 die Anzahl der Meta-Elemente, die in der ST festgelegt sind, und die Anzahl der Zellen, die in jedem Element oder Meta-Element der ST festgelegt sind, ermittelt. Die erste Anzahl wird in einer lokalen Variablen STI_meta abgelegt, und die zweite Anzahl wird in einer lokalen Variablen STI_width 1325 (die die Anzahl der Spalten der künftigen STI darstellt) abgelegt.
  • Anschließend wird eine weitere lokale Variable STI_element mit dem von STI min angenommenen Wert initialisiert.
  • Dann wird eine weitere lokale Variable STI_critical auf den Standardwert "YES" gesetzt.
  • Dann wird noch eine weitere lokale Variable STI_sheet_width 1321 mit der Gesamtzahl der Spalten in dem aktuellen Arbeitsblatt 1320 initialisiert.
  • Dann wird eine weitere lokale Variable STI_sheet_height 1322 mit der Gesamtzahl der Zeilen in dem aktuellen Arbeitsblatt 1320 initialisiert.
  • Anschließend wird noch eine weitere lokale Variable STI_mode auf den Wert "OVERLAY" als Anfangswert gesetzt.
    • • Im Schritt 1406 werden zuerst einige andere lokale Variablen erzeugt oder aktualisiert. Die Position der gerade ausgewählten Zelle 1327 wird zunächst von den lokalen Variablen STI_offset_width 1323 und STI_offset_height 1324 dargestellt, die der Anzahl der Spalten beziehungsweise der Anzahl der Zeilen zwischen der obersten linken Zelle des aktuellen Arbeitsblatts 1320 und der gerade ausgewählten Zelle 1327 entsprechen. Dann wird die Anzahl der Zeilen der künftigen STI von der lokalen Variablen STI_height 1326 dargestellt, die als die Summe der lokalen Variablen STI_meta und STI_element berechnet wird. Als Zweites werden bestimmte Arbeitsbereiche von Zellen durch die Auswertung ihrer Adressen ermittelt. Der Zellenbereich STI_range 1328, der der künftigen STI entspricht, wird zuerst als der Zellenbereich ermittelt, bei dem die gerade ausgewählte Zelle 1327 die oberste linke Zelle ist und dessen Anzahl von Zeilen und Spalten STI_height 1326 beziehungsweise STI_width 1325 entspricht.
  • Dann wird der Zellenbereich STI_horizontal_flushed_range 1330 als der Zellenbereich ermittelt, der sich dieselben Zeilen mit STI_range 1328 teilt und die äußersten rechten Spalten von STI_width 1325 im aktuellen Arbeitsblatt 1320 belegt.
  • Anschließend wird der Zellenbereich STI_horizontal_kept_range 1329 als der Zellenbereich ermittelt, der sich dieselben Zeilen mit STI_range 1328 teilt und die Spalten belegt, die sich zwischen den Spalten von STI_range 1328 und STI_horizontal_flushed_range 1330 befinden.
  • Dann wird der Zellenbereich STI_vertical_flushed_range 1332 als der Zellenbereich ermittelt, der sich dieselben Spalten mit STI_range 1328 teilt und die unteren Spalten von STI_height 1326 im aktuellen Arbeitsblatt 1320 belegt.
  • Anschließend wird der Zellenbereich STI_verticall_kept_range 1331 als der Zellenbereich ermittelt, der sich dieselben Spalten mit STI_range 1328 teilt und die Zeilen belegt, die sich zwischen den Zeilen von STI_range 1328 und STI_verticall_ flushed_range 1332 befinden.
    • • Im Schritt 1407 werden zwei Summen gebildet, um zu prüfen, ob die künftige STI in die Begrenzungen des aktuellen Arbeitsblatts 1320 passt.
    • • Wenn festgestellt wird, dass die Summe der lokalen Variablen STI_offset_width 1323 und STI_width 1325 größer als der Wert der lokalen Variablen STI-sheet_width 1321 ist, wird eine lokale Variable STI_too_wide auf "YES" und andernfalls auf "NO" gesetzt.
    • • Wenn festgestellt wird, dass die Summe der lokalen Variablen STI_offset_height 1324 und STI-height 1326 größer als der Wert der lokalen Variablen STI_sheet_height 1322 ist, wird eine lokale Variable STI_too_high auf "YES" und andernfalls auf "NO" gesetzt.
    • • Im Schritt 1408 werden mehrere Tests durchgeführt, um zu bewerten, wie sich die Erzeugung der künftigen STI entsprechend den fünf möglichen Instanziierungsmodi möglicherweise auf eine bereits vorhandene STI oder bereits vorhandene Daten auswirkt. Diese Tests erfordern die Auswertung der STIT-Tabelle 750 und den Aufruf eines jeden Datensatzes 751, um die Adresse (Feld "Address" 752) und die Bedeutung (Feld "Critical" 755) einer jeden bereits festgelegten STI in Erfahrung zu bringen. Bei diesen Tests wird geprüft, ob sich entweder zwei bestimmte Zellenbereiche teilweise überlappen (was bedeutet, dass es in dem ersten Zellenbereich mindestens eine Zelle gibt, die zu dem zweiten Zellenbereich gehört, und mindestens eine Zelle, die nicht zu dem zweiten Zellenbereich gehört) oder ob ein erster bestimmter Zellenbereich in einem zweiten bestimmten Zellenbereich enthalten ist (was bedeutet, dass jede Zelle, die zu dem ersten Zellenbereich gehört, auch zu dem zweiten Zellenbereich gehört). Verschiedene herkömmliche Verfahren zum Vergleich von Bereichen können zur Anwendung kommen, um entweder eine teilweise Überlappung von Bereichen oder das Enthaltensein eines Bereichs in einem anderen zu prüfen; diese Verfahren werden in der bevorzugten Ausführungsform der vorliegenden Erfindung nicht beschrieben.
  • Zuerst wird der OVERLAY-Instanziierungsmodus geprüft.
    • • Wenn mindestens eine STI vorhanden ist, deren Feld "Critical" 755 den Wert "YES" hat und die den Zellenbereich STI_range 1328 teilweise überlappt, nimmt die lokale Prüfvariable STI_overlay_critical den Wert "YES" an; andernfalls nimmt die lokale Prüfvariable STI_overlay_critical den Wert "NO" an.
    • • Wenn mindestens eine STI vorhanden ist, deren Feld "Critical" 755 den Wert "NO" hat und die den Zellenbereich STI_range 1328 teilweise überlappt, nimmt die lokale Prüfvariable STI_overlay_other den Wert "YES" an; andernfalls nimmt die lokale Prüfvariable STI_overlay_other den Wert "NO" an.
    • • Wenn alle Zellen im Zellenbereich STI_range 1328 leer sind (keine Daten enthalten), nimmt die lokale Prüfvariable STI_overlay_data den Wert "NO" an; andernfalls nimmt die lokale Prüfvariable STI_overlay_data den Wert "YES" an.
  • Als Zweites wird der HORIZONTAL_INSERT-Instanziierungsmodus geprüft.
    • • Wenn mindestens eine STI vorhanden ist, deren Feld "Critical" 755 den Wert "YES" hat und die den Zellenbereich teilweise überlappt, der aus der ganzen Zeile besteht, in der sich die gerade ausgewählte Zelle 1327 befindet, oder die den Zellenbereich teilweise überlappt, der von den letzten unteren Zeilen von STI_height 1326 gebildet wird, oder die in dem Zellenbereich enthalten ist, der von den letzten unteren Zeilen von STI_height 1326 gebildet wird, nimmt die lokale Prüfvariable STI_horizontal_critical den Wert "YES" an; andernfalls nimmt die lokale Prüfvariable STI_horizontal_critical den Wert "NO" an.
    • • Wenn mindestens eine STI vorhanden ist, deren Feld "Critical" 755 den Wert "NO" hat und die den Zellenbereich teilweise überlappt, der aus der ganzen Zeile besteht, in der sich die gerade ausgewählte Zelle 1327 befindet, oder die den Zellenbereich teilweise überlappt, der von den letzten unteren Zeilen von STI_height 1326 gebildet wird, oder die in dem Zellenbereich enthalten ist, der von den letzten unteren Zeilen von STI_height 1326 gebildet wird, nimmt die lokale Prüfvariable STI_horizontal_other den Wert "YES" an; andernfalls nimmt die lokale Prüfvariable STI_horizontal_other den Wert "NO" an.
    • • Wenn alle Zellen in dem Zellenbereich, der von den letzten unteren Zeilen von STI_height 1326 gebildet wird, leer sind (keine Daten enthalten), nimmt die lokale Prüfvariable STI_horizontal_data den Wert "NO" an; andernfalls nimmt die lokale Prüfvariable STI_horizontal_data den Wert "YES" an.
  • Als Drittes wird der HORIZONTAL_INSERT_BY_RANGE-Instanziierungsmodus geprüft.
    • • Wenn mindestens eine STI vorhanden ist, deren Feld "Critical" 755 den Wert "YES" hat und die den Zellenbereich teilweise überlappt, der durch die Verknüpfung der beiden Zellenbereiche STI_range 1328 und STI_vertical_kept_range 1331 gebildet wird, oder die den Zellenbereich STI_vertical_flushed_range 1332 teilweise überlappt oder die in dem Zellenbereich STI_vertical_flushed_range 1332 enthalten ist, nimmt die lokale Prüfvariable STI_horizontal_range_critical den Wert "YES" an; andernfalls nimmt die lokale Prüfvariable STI_horizontal_range_critical den Wert "NO" an.
    • • Wenn mindestens eine STI vorhanden ist, deren Feld "Critical" 755 den Wert "NO" hat und die den Zellenbereich teilweise überlappt, der durch die Verknüpfung der beiden Zellenbereiche STI_range 1328 und STI_vertical_kept_range 1331 gebildet wird, oder die den Zellenbereich STI_vertical_flushed_range 1332 teilweise überlappt oder die in dem Zellenbereich STI_vertical_flushed_range 1332 enthalten ist, nimmt die lokale Prüfvariable STI_horizontal_range_other den Wert "YES" an; andernfalls nimmt die lokale Prüfvariable STI_horizontal_range_other den Wert "NO" an.
    • • Wenn alle Zellen im Zellenbereich STI_vertical_flushed_range 1332 leer sind (keine Daten enthalten), nimmt die lokale Prüfvariable STI_horizontal_range_data den Wert "NO" an; andernfalls nimmt die lokale Prüfvariable STI_horizontal_range_data den Wert "YES" an.
  • Als Viertes wird der VERTICAL_INSERT-Instanziierungsmodus geprüft.
    • • Wenn mindestens eine STI vorhanden ist, deren Feld "Critical" 755 den Wert "YES" hat und die den Zellenbereich teilweise überlappt, der aus der ganzen Spalte besteht, in der sich die gerade ausgewählte Zelle 1327 befindet, oder die den Zellenbereich teilweise überlappt, der von den letzten rechten Spalten von STI_width 1325 gebildet wird, oder die in dem Zellenbereich enthalten ist, der von den letzten rechten Spalten von STI_width 1325 gebildet wird, nimmt die lokale Prüfvariable STI_vertical_critical den Wert "YES" an; andernfalls nimmt die lokale Prüfvariable STI_vertical_critical den Wert "NO" an.
    • • Wenn mindestens eine STI vorhanden ist, deren Feld "Critical" 755 den Wert "NO" hat und die den Zellenbereich teilweise überlappt, der aus der ganzen Spalte besteht, in der sich die gerade ausgewählte Zelle 1327 befindet, oder die den Zellenbereich teilweise überlappt, der von den letzten rechten Spalten von STI_width 1325 gebildet wird, oder die in dem Zellenbereich enthalten ist, der von den letzten rechten Spalten von STI_width 1325 gebildet wird, nimmt die lokale Prüfvariable STI_vertical_other den Wert "YES" an; andernfalls nimmt die lokale Prüfvariable STI_vertical_other den Wert "NO" an.
    • • Wenn alle Zellen in dem Zellenbereich, der von den letzten rechten Spalten von STI_width 1325 gebildet wird, leer sind (keine Daten enthalten), nimmt die lokale Prüfvariable STI_vertical_data den Wert "NO" an; andernfalls nimmt die lokale Prüfvariable STI_vertical_data den Wert "YES" an.
  • Als Fünftes wird der VERTICAL_INSERT_BY_RANDE-Instanziierungsmodus geprüft.
    • • Wenn mindestens eine STI vorhanden ist, deren Feld "Critical" 755 den Wert "YES" hat und die den Zellenbereich teilweise überlappt, der durch die Verknüpfung der beiden Zellenbereiche STI_range 1328 und STI_horizontal_kept_range 1329 gebildet wird, oder die den Zellenbereich STI_horizontal_flushed_range 1330 teilweise überlappt oder die in dem Zellenbereich STI_horizontal_flushed_range 1330 enthalten ist, nimmt die lokale Prüfvariable STI_vertical_range_critical den Wert "YES" an; andernfalls nimmt die lokale Prüfvariable STI_vertical_range_critical den Wert "NO" an.
    • • Wenn mindestens eine STI vorhanden ist, deren Feld "Critical" 755 den Wert "NO" hat und die den Zellenbereich teilweise überlappt, der durch die Verknüpfung der beiden Zellenbereiche STI_range 1328 und STI_horizontal_kept_range 1329 gebildet wird, oder die den Zellenbereich STI_horizontal_flushed_range 1330 teilweise überlappt oder die in dem Zellenbereich STI_horizontal_flushed_range 1330 enthalten ist, nimmt die lokale Prüfvariable STI_vertical_range_other den Wert "YES" an; andernfalls nimmt die lokale Prüfvariable STI_vertical_range_other den Wert "NO" an.
    • • Wenn alle Zellen im Zellenbereich STI_horizontal_flushed_range 1330 leer sind (keine Daten enthalten), nimmt die lokale Prüfvariable STI_vertical_range_data den Wert "NO" an; andernfalls nimmt die lokale Prüfvariable STI_vertical_range_data den Wert "YES" an.
    • • Im Schritt 1409 wird das Dialogfeld 1300 des ST-Instanziators auf dem Bildschirm 106 angezeigt. Das Kontrollkästchen "Critical" 1314 zeigt ein Häkchen an, wenn die lokale Variable STI_critical den Wert "YES" annimmt; andernfalls (wenn sie den Wert "NO" annimmt) bleibt das Kontrollkästchen "Critical" 1314 leer. Das Bezeichnungsfeld 1315 wird mit dem Wert der lokalen variablen ST_name initialisiert. In das Textfeld 1312 wird der Wert der lokalen Variablen STI_element eingegeben. In das Bezeichnungsfeld 1311 wird der Wert der lokalen variablen STI_too_wide eingegeben, und in das Bezeichnungsfeld 1310 wird der Wert der lokalen Variablen STI_too_high eingegeben. In die 15 Bezeichnungsfelder 1304 werden Zeile für Zeile die Werte der folgenden lokalen Variablen in der folgenden Reihenfolge eingegeben, wobei mit der obersten Zeile begonnen und von links nach rechts fortgefahren wird: STI_overlay_critical, STI_overlay_other, STI_overlay_data, STI_horizontal_critical, STI_horizontal_other, STI_horizontal_data, STI_horizontal_range_critical, STI_horizontal_range_other, STI_horizontal_range_data, STI_vertical_critical, STI_vertical_other, STI_vertical_data, STI_vertical_range_critical, STI_vertical_range_other, STI_vertical_range_data.
  • Wenn die lokale Variable STI-mode den jeweiligen Wert OVERLAY oder HORIZONTAL_INSERT oder HORIZONTAL_INSERT_BY_RANGE oder VERTICAL_INSERT oder VERTICAL_INSERTBY_RANGE annimmt, zeigt nur die jeweilige Optionsschaltfläche "Overlay" 1309 oder "Horizontal Insert" 1308 oder "Horizontal Insert by Range" 1307 oder "Vertical Insert" 1306 oder "Vertical Insert by Range" 1305 einen schwarzen Punkt an. Schließlich wird die Schaltfläche "Create" 1303 deaktiviert, sobald eine der folgenden lokalen Variablen den Wert "YES" annimmt: STI_too_wide, STI_too_high, STI_overlay_critical (wird nur berücksichtigt, wenn die lokale Variable STI_mode den Wert OVERLAY hat), STI_horizontal_critical (wird nur berücksichtigt, wenn die lokale Variable STI_mode den Wert HORIZONTAL_INSERT hat), STI_vertical_critical (wird nur berücksichtigt, wenn die lokale Variable STI_mode den Wert VERTICAL_INSERT hat), STI_horizontal_range_critical (wird nur berücksichtigt, wenn die lokale Variable STI_mode den Wert HORIZONTAL_INSERT_BY_RANGE hat), STI_vertical_range_critical (wird nur berücksichtigt, wenn die lokale Variable STI_mode den Wert VERTICAL_INSERT_BY_RANGE hat); andernfalls wird die Schaltfläche "Create" 1303 aktiviert.
    • • Im Schritt 1410 wartet das Verfahren auf eine Benutzeraktion im Dialogfeld 1300 des ST-Instanziators oder auf eine Änderung der gerade ausgewählten Zelle. Eine solche Benutzeraktion ist üblicherweise das Ergebnis eines Klicks mit der Zeigeeinheit 105, wobei dieser Auslöser jedoch auch andere ähnliche Formen annehmen kann wie zum Beispiel, jedoch nicht auf diese beschränkt, eine bestimmte Tastenkombination auf der Tastatur 104 oder irgendein anderes ähnliches Mittel, das hier nicht näher angegeben wird.
    • • Im Schritt 1411 wird eine Benutzeraktion im Dialogfeld 1300 des ST-Instanziators oder eine Änderung der gerade ausgewählten Zelle festgestellt.
    • • Wenn die Benutzeraktion ein Klick auf die Schaltfläche "Create" 1303 ist, wird die Steuerung dem Schritt 1416 übergeben;
    • • wenn die Benutzeraktion ein Klick auf den oberen Teil des Drehfelds 1313 ist, wird die Steuerung dem Schritt 1415 übergeben;
    • • wenn die Benutzeraktion ein Klick auf den unteren Teil des Drehfelds 1313 ist, wird die Steuerung dem Schritt 1414 übergeben;
    • • wenn die Benutzeraktion ein Klick auf das Kontrollkästchen "Critical" 1314 ist, wird die Steuerung dem Schritt 1413 übergeben;
    • • wenn die Benutzeraktion ein Klick auf eine der Optionsschaltflächen 1309 oder 1308 oder 1307 oder 1306 oder 1305 ist, wird die Steuerung dem Schritt 1412 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Cancel" 1302 oder auf die Schaltfläche 1301 zum Schließen des Fensters ist, wird die Steuerung dem Schritt 1418 übergeben;
    • • wenn die Benutzeraktion eine Änderung der Position der gerade ausgewählten Zelle ist, wird die Steuerung dem Schritt 1406 übergeben.
    • • Im Schritt 1412 nimmt die lokale Variable STI_mode den Wert OVERLAY oder HORIZONTAL_INSERT oder HORIZONTAL_INSERT_BY_RANGE oder VERTICAL_INSERT oder VERTICAL_INSERT_BY_RANGE an, Wenn der Benutzer des Tabellenkalkulationsprogramms mit der Zeigeeinheit 105 auf die jeweilige Optionsschaltfläche 1309 oder 1308 oder 1307 oder 1306 oder 1305 geklickt hat. Dann wird die Steuerung dem Schritt 1406 übergeben.
    • • Im Schritt 1413 wird die lokale Variable STI_critical aktualisiert, um zwischen den Werten "YES" und "NO" zu wechseln. Daraufhin wird die Steuerung dem Schritt 1406 übergeben.
    • • Im Schritt 1414 wird der Wert der lokalen Variablen STI_element um 1 (eins) verringert, solange ihr Wert größer als der Wert oder gleich dem Wert der lokalen variablen STI min bleibt. Dann wird die Steuerung dem Schritt 1406 übergeben.
    • • Im Schritt 1415 wird der Wert der lokalen Variablen STI_element um 1 (eins) erhöht, solange ihr Wert geringer als der Wert oder gleich dem Wert der lokalen Variablen STI_max bleibt. Dann wird die Steuerung dem Schritt 1406 übergeben.
    • • Im Schritt 1416 wird die STIT-Tabelle 750 aufgerufen, um jeden Datensatz 751 aus ihr zu entfernen, der einer STI entspricht, die durch das Einfügen der neuen Instanz beschädigt wurde, was während des Schritts 1408 bei dem von der lokalen Variablen STI_mode dargestellten Einfügemodus festgestellt wurde.
  • Daraufhin wird die STT-Tabelle 720 aktualisiert, um die Entfernung einer jeden STI widerzuspiegeln. Für jede entfernte STI wird das Feld INSTANCE REFERENCE (IR) 729C des Attributs "REFERENCED" 729 des Datensatzes 721, dessen Feld "Name" 722 den gleichen Wert wie das Feld "ST" 753 des Datensatzes 751 der STIT-Tabelle 750 hat, die der entfernten STI entspricht, durch 2 (zwei) geteilt.
    • • Im Schritt 1417 wird die Routine "CreateSTI" aufgerufen.
    • • Im Schritt 1418 wird das Dialogfeld 1300 des ST-Instanziators geschlossen, so dass es vom Bildschirm 106 verschwindet. Schließlich wird die Steuerung wieder dem ersten Schritt 1401 zur Verarbeitung eines künftigen ST-Instanciator-Befehls übergeben.
  • Die folgenden Schritte, die alle Teil von 14B sind, entsprechen der Ausführung der Routine CreateSTI, wie sie in der bevorzugten Ausführungsform der vorliegenden Erfindung verwendet wird.
    • • Im Schritt 1419 wird ein neuer Datensatz 751 in die STIT-Tabelle 750 eingefügt. In diesem Datensatz 751 wird das Feld "Address" 752 mit der Adresse des Zellenbereichs STI_range 1328 initialisiert, das Feld "ST" 753 wird mit dem Wert der lokalen Variablen ST_name initialisiert, das Feld "Element #" 754 wird mit dem Wert der lokalen variablen STI_element initialisiert, das Feld "Critical" 755 wird mit dem Wert der lokalen Variablen STI_critical initialisiert, das Feld "Header Size" 756 wird mit der Anzahl der Meta-Elemente initialisiert, die den Kopfzeilenteil der neuen STI bilden (wobei diese Anzahl gleich der Anzahl der Paare im Kopfzeilenteil 767 der STDT-Tabelle 760 ist, die zu der ST gehört, an die sich die neue STI hält), und das Feld "Footer Size" 757 wird mit der Anzahl der Meta-Elemente initialisiert, die den Fußzeilenteil der neuen STI bilden (wobei diese Anzahl gleich der Anzahl der Paare im Fußzeilenteil 766 der STDT-Tabelle 760 ist, die zu der ST gehört, an die sich die neue STI hält). Dann wird die STT-Tabelle 720 durchsucht, um den Datensatz 721 zu ermitteln, dessen Feld "Name" den gleichen Wert wie die lokale Variable STE_name hat. Sobald er gefunden wurde, wird das Attribut "REFERENCED" 729 im Feld "Type" 727 dieses Datensatzes 721 aktualisiert, indem das Teilfeld "INSTANCE REFERENCE" 729c mit 2 (zwei) multipliziert wird.
    • • Im Schritt 1420 wird ein Test durchgeführt, um den Wert der lokalen Variablen STE_mode zu prüfen.
    • • Wenn festgestellt wird, dass dieser Wert OVERLAY lautet, wird die Steuerung dem Schritt 1425 übergeben,
    • • wenn festgestellt wird, dass dieser Wert HORIZONTAL_INSERT lautet, wird die Steuerung dem Schritt 1424 übergeben,
    • • wenn festgestellt wird, dass dieser Wert HORIZONTAL_INSERT_BY_RANGE lautet, wird die Steuerung dem Schritt 1422 übergeben,
    • • wenn festgestellt wird, dass dieser Wert VERTICAL_INSERT lautet, wird die Steuerung dem Schritt 1423 übergeben,
    • • wenn festgestellt wird, dass dieser Wert VERTICAL_INSERT_BY_RANGE lautet, wird die Steuerung dem Schritt 1421 übergeben.
    • • Im Schritt 1421 wird der Zellenbereich STI_range 1328 ausgewählt, so dass er der gerade ausgewählte Zellenbereich wird, wobei die gerade ausgewählte Zelle an ihrer früheren Position 1327 verbleibt, und dann wird eine gewöhnliche Operation in Form von einem "Einfügen einer Spalte in den ausgewählten Bereich" durchgeführt. Daraufhin wird die Steuerung dem Schritt 1425 übergeben.
    • • Im Schritt 1422 wird der Zellenbereich STI_range 1328 ausgewählt, so dass er der gerade ausgewählte Zellenbereich wird, wobei die gerade ausgewählte Zelle an ihrer früheren Position 1327 verbleibt, und dann wird eine gewöhnliche Operation in Form von einem "Einfügen einer Zeile in den ausgewählten Bereich" durchgeführt. Daraufhin wird die Steuerung dem Schritt 1425 übergeben.
    • • Im Schritt 1423 wird der Zellenbereich STI_range 1328 ausgewählt, so dass er der gerade ausgewählte Zellenbereich wird, wobei die gerade ausgewählte Zelle an ihrer früheren Position 1327 verbleibt, und dann wird eine gewöhnliche Operation in Form von einem "Einfügen einer Spalte" durchgeführt. Daraufhin wird die Steuerung dem Schritt 1425 übergeben.
    • • Im Schritt 1424 wird der Zellenbereich STI_range 1328 ausgewählt, so dass er der gerade ausgewählte Zellenbereich wird, wobei die gerade ausgewählte Zelle an ihrer früheren Position 1327 verbleibt, und dann wird eine gewöhnliche Operation in Form von einem "Einfügen einer Zeile" durchgeführt. Daraufhin wird die Steuerung dem Schritt 1425 übergeben.
    • • Im Schritt 1425 wird eine lokale Variable STI_index mit dem von der lokalen Variablen STI_element angenommenen Wert initialisiert. Dann wird die STT-Tabelle 720 ausgewertet, um den Datensatz 721 zu ermitteln, dessen Feld "Name" 722 den gleichen Wert wie die lokale Variable ST_name hat. Aus diesem Datensatz 721 wird der Inhalt des Feldes "Description Ptr" 724 abgerufen, der es ermöglicht, die STDT-Tabelle 760 im Speicher aufzufinden, welche zu der ST gehört, an die sich die zu erzeugende neue STI halten wird. Dann wird das erste aus einem Element- oder MEF-Namen und einem Element- oder MEP-Namen bestehende Paar 761, das in dieser STDT-Tabelle 760 gefunden wird, zum aktuellen Namenspaar bestimmt: (EF- oder MEF-Name, EP- oder MEP-Name).
    • • Im Schritt 1426 wird die EPT-Tabelle 710 ausgewertet, um den Datensatz 711 zu finden, dessen Feld "Name" 712 gleich dem EP- oder MEP-Namen in dem aktuellen Paar ist. Sobald dieser Datensatz 711 gefunden wurde, wird der Inhalt seines Feldes "Description Ptr" 714 abgerufen, um den Zellenbereich im Speicher aufzufinden, der das EP oder MEP darstellt. Diese Beschreibung des EP oder des MEP wird nur als Wert kopiert und in die gerade ausgewählte Zelle eingefügt, so dass die entsprechende Zeile im Bereich STI_range die Anfangswerte des EP oder des MEP erhält. Dann wird die EFT-Tabelle 700 ausgewertet, um den Datensatz 701 zu finden, dessen Feld "Name" 702 gleich dem EF- oder MEF-Namen in dem aktuellen Paar ist. Sobald dieser Datensatz 701 gefunden wurde, wird der Inhalt seines Feldes "Description Ptr" 704 abgerufen, um den Zellenbereich im Speicher aufzufinden, der das EF oder MEF darstellt. Diese Beschreibung des EF oder des MEF wird nur als Attribut kopiert und in die gerade ausgewählte Zelle eingefügt, so dass die entsprechende Zeile im Bereich STI_range die Attribute des EF oder des MEF erhält.
    • • Im Schritt 1427 wird ein Test durchgeführt, um zu prüfen, ob das aktuelle Paar (EF- oder MEF-Name, EP- oder MEP-Name) einem Element oder einem Meta-Element entspricht. Im ersten Fall wird die Steuerung dem Schritt 1428 übergeben, und im zweiten Fall wird die Steuerung dem Schritt 1429 übergeben.
    • • Im Schritt 1428 wird der Wert der lokalen Variablen STI_index um 1 (eins) verringert. Daraufhin wird die Steuerung dem Schritt 1430 übergeben.
    • • Im Schritt 1429 wird ein Test durchgeführt, um zu prüfen, ob das aktuelle Paar (EF- oder MEF-Name, EP- oder MEP-Name) das letzte Paar 763 in der STDT-Tabelle 760 ist. Wenn ja, wird die Ausführung der Routine CreateSTI beendet, indem die Steuerung wieder dem Aufrufenden der Routine übergeben wird, andernfalls wird die Steuerung dem Schritt 1431 übergeben.
    • • Im Schritt 1430 wird ein Test durchgeführt, um zu prüfen, ob die lokale Variable STI_index den Wert 0 (null) hat. wenn dies der Fall ist, wird die Steuerung dem Schritt 1429 übergeben; andernfalls wird die Steuerung dem Schritt 1432 übergeben.
    • • Im Schritt 1431 wird das Namenspaar (EF- oder MEF-Name, EP- oder MEP-Name), das auf das aktuelle Paar in der STDT-Tabelle 760 folgt, das aktuelle Namenspaar.
    • • Im Schritt 1432 wird die gerade ausgewählte Zelle um eine Zeile nach unten verschoben. Daraufhin wird die Steuerung dem Schritt 1426 übergeben.
  • E7. RST-Instanziator-Verfahren
  • Das Verfahren zur Instanziierung einer RST, das in der bevorzugten Ausführungsform der vorliegenden Erfindung zur Anwendung kommt, ist im Flussdiagramm 2100 von 16A und 16B zusammengefasst. Dieses Verfahren kann als Verarbeitung des Befehls "ST Instanciator" betrachtet werden.
    • • Im Schritt 2101 befindet sich das Verfahren in seinem standardmäßigen Zustand, in dem es auf ein Ereignis zum Starten des Prozesses wartet.
    • • Im Schritt 2102 wird der Befehl "RST Instanciator" als Ergebnis einer Benutzeraktion festgestellt. Diese Aktion kann beispielsweise eine bestimmte Tastenkombination auf der Tastatur 104 oder der Klick der Zeigeeinheit 105 auf eine bestimmte Schaltfläche oder ein anderes ähnliches Mittel sein, das hier nicht näher angegeben wird.
    • • Im Schritt 2103 werden der Befehlsparameter abgerufen und einige lokale Variablen mit einem Anfangswert belegt:
    • • Der Befehlsparameter wird in der Variablen RST Name abgelegt.
    • • Die lokale Variable Element# wird auf den Anfangswert 0 (null) gesetzt.
    • • Die lokale Variable too_wide wird auf den Standardwert FALSE gesetzt.
    • • Die lokale Variable too_high wird auf den Standardwert FALSE gesetzt.
    • • Die lokale Variable Max_col wird mit der Höchstzahl der verfügbaren Spalten auf einem Arbeitsblatt initialisiert.
    • • Die lokale Variable Max_row wird mit der Höchstzahl der verfügbaren Zeilen auf einem Arbeitsblatt initialisiert.
    • • Die lokale Variable STI_present wird auf den Standardwert FALSE als Anfangswert gesetzt.
    • • Die lokale Variable RSTI_busy wird auf den Standardwert FALSE als Anfangswert gesetzt.
    • • Die lokale Variable RSTI_top_left_cell wird als die gerade ausgewählte Zelle initialisiert.
    • • Im Schritt 2104 wird die RSTT-Tabelle 2220 ausgewertet, um den Datensatz 2221 (der von der lokalen Variablen Curr_RSTT_rec ausgewiesen wird) zu ermitteln, dessen Feld "Name" 2222 den gleichen Wert wie der Befehlsparameter RST Name hat. Dann wird die lokale Variable RSTI_E# auf den Wert des Feldes "Min Element #" 2225 dieses Datensatzes Curr_RSTT_rec 2221 gesetzt.
    • • Im Schritt 2105 wird die lokale Variable Curr_RSTDT gleich der RSTDT-Tabelle 2250 gesetzt, auf die das Feld "Description Ptr" 2224 des Datensatzes Curr_RSTT_rec 2221 zeigt. Dann wird die lokale Variable Curr_RSTDT_rec gleich dem ersten einzelligen Datensatz 2251 der Tabelle Curr_RSTDT 2250 gesetzt. Anschließend wird die lokale variable Curr_RET_rec gleich dem Datensatz 2211 der RET-Tabelle 2210 gesetzt, dessen Feld "Name" 2212 den gleichen Wert wie die lokale Variable Curr_RSTDT_rec hat. Dann wird die lokale Variable Curr_RED_RoC gleich dem Zellenbereich gesetzt, auf den das Feld "Description Ptr" 2214 des Datensatzes Curr_RET_rec 2211 zeigt.
    • • Im Schritt 2106 wird eine RSTIDT-Tabelle 2270 in den Speicher geladen und durch die lokale Variable Curr_RSTIDT benannt. Diese Tabelle hat eine Anzahl von Zeilen, die gleich der Anzahl der Zeilen der Tabelle Curr_RSTDT 2250 ist, die um den Wert der lokalen Variablen RSTI_E# erhöht und um 1 (eins) verringert wird. Diese Tabelle hat eine Anzahl von Spalten, die gleich der Anzahl der Spalten des Zellenbereichs Curr_RED_RoC ist. Dann wird die lokale Variable Curr_RSTIDT_rec als der erste Datensatz 2271 der Tabelle Curr_RSTIDT 2270 initialisiert.
    • • Im Schritt 2107 wird die lokale Variable Curr_RSTIDT_cell als die erste Zelle 2280 des Datensatzes Curr_RSTIDT_rec 2271 initialisiert. Dann wird die lokale Variable Curr_REC_Roc_cell als die erste Zelle des Zellenbereichs Curr_REC_RoC initialisiert.
    • • Im Schritt 2108 wird das Feld "STI_col" 2278 der lokalen Variablen Curr_RSTIDT_cell 2280 auf den von der Funktion STI_col zurückgelieferten Wert gesetzt, wenn diese mit dem eindeutigen Parameter aufgerufen wird, der gleich dem Wert der lokalen Variablen Curr_RET_RoC_cell ist. Dann wird das Feld "STI_row" 2279 der lokalen Variablen Curr_RSTIDT_cell 2280 auf den von der Funktion STI_row zurückgelieferten wert gesetzt, wenn diese mit den beiden Parametern aufgerufen wird, die gleich dem Wert der lokalen Variablen Curr_RET_RoC_cell beziehungsweise 0 (null) sind. Anschließend wird das Feld "ST_Name" 2280 der lokalen Variablen Curr_RSTIDT_cell 2280 auf den Wert der lokalen Variablen Curr_RET_RoC_cell gesetzt.
    • • Im Schritt 2109 wird ein Test durchgeführt, um zu prüfen, ob die von der lokalen Variablen Curr_RSTIDT_cell 2280 dargestellte Zelle die letzte Zelle des von der lokalen Variablen Curr_RSTIDT_rec 2271 dargestellten Datensatzes ist. Wenn ja, wird die Steuerung dem Schritt 2111 übergeben; andernfalls wird die Steuerung dem Schritt 2110 übergeben.
    • • Im Schritt 2110 wird die Zelle, die sich rechts von der Zelle befindet, die von der lokalen Variablen Curr_RSTIDT_cell 2280 dargestellt wird, die neue Zelle Curr_RSTIDT_cell 2280. Dann wird die Zelle, die sich rechts von der Zelle befindet, die von der lokalen Variablen Curr_RET_RoC_cell dargestellt wird, die neue Zelle Curr_RET_RoC_cell. Daraufhin wird die Steuerung dem Schritt 2108 übergeben.
    • • Im Schritt 2111 wird ein Test durchgeführt, um zu prüfen, ob der von der lokalen Variablen Curr_RET_rec 2211 dargestellte Datensatz ein RE beschreibt. Dies kann festgestellt werden, indem geprüft wird, ob das Attribut "META" 2218 des Feldes "Type" 2217 des Datensatzes Curr_RET_rec 2211 den Wert "NO" hat. Wenn dies der Fall ist, wird die Steuerung dem Schritt 2112 übergeben; andernfalls wird die Steuerung dem Schritt 2114 übergeben.
    • • Im Schritt 2112 wird der Wert der lokalen Variablen Element# um 1 (eins) erhöht.
    • • Im Schritt 2113 wird ein Test durchgeführt, um festzustellen, ob die lokale Variable Element# den gleichen Wert wie die lokale Variable RSTI_E# hat. Wenn dies der Fall ist, wird die Steuerung dem Schritt 2114 übergeben; andernfalls wird die Steuerung dem Schritt 2115 übergeben.
    • • Im Schritt 2114 wird ein Test durchgeführt, um zu prüfen, ob die von der lokalen Variablen Curr_RSTIDT_cell 2280 dargestellte Zelle die letzte Zelle des von der lokalen Variablen Curr_RSTIDT_rec 2271 dargestellten Datensatzes ist. Wenn ja, wird die Steuerung dem Schritt 2116 übergeben; andernfalls wird die Steuerung dem Schritt 2117 übergeben.
    • • Im Schritt 2115 wird der Datensatz, der auf den Datensatz Curr_RSTIDT_rec 2271 in der Tabelle Curr_RSTIDT 2270 folgt, der neue Datensatz Curr_RSTIDT_rec 2271. Dann wird die Steuerung dem Schritt 2107 übergeben.
    • • Im Schritt 2116 wird der Datensatz, der auf den Datensatz Curr_RSTDT_rec in der Tabelle Curr_RSTDT 2250 folgt, der neue Datensatz Curr_RSTDT_rec. Daraufhin wird die Steuerung dem Schritt 2115 übergeben.
    • • Im Schritt 2117 wird das Attribut "container_row" 2281 bei jeder Zelle Curr_RSTIDT_cell 2280, die zu der Tabelle Curr_RSTIDT 2270 gehört, auf den Höchstwert des Attributs "STI_row" 2279 der Zellen Same_row_cell gesetzt, die sich in der Tabelle Curr_RSTIDT 2270 in derselben Zeile wie Curr_RSTIDT_cell befinden. Dann wird das Attribut "container_col" 2277 bei jeder Zelle Curr_RSTIDT_cell 2280, die zu der Tabelle Curr_RSTIDT 2270 gehört, auf den Höchstwert des Attributs "STI_col" 2278 der Zellen Same_col_cell gesetzt, die sich in der Tabelle Curr_RSTIDT 2270 in derselben Spalte wie Curr_RSTIDT_cell befinden.
    • • Im Schritt 2118 wird die lokale Variable RSTI_col auf die Summe der Attribute "container_col" 2277 der Zellen gesetzt, die zu der ersten Zeile der Tabelle Curr_RSTIDT 2270 gehören Dann wird die lokale Variable RSTI_row auf die Summe der Attribute "container_row" 2281 der Zellen gesetzt, die zu der ersten Spalte der Tabelle Curr_RSTIDT 2270 gehören.
    • • Im Schritt 2119 wird ein Test durchgeführt, um festzustellen, ob die Summe aus der lokalen Variablen RSTI_col und dem Spaltenindex der einzelnen Zelle RSTI_top_left_cell, der um 1 (eins) verringert wurde, absolut größer als der Wert der lokalen variablen Max_col ist. Wenn ja, wird die Steuerung dem Schritt 2120 übergeben; andernfalls wird die Steuerung dem Schritt 2121 übergeben.
    • • Im Schritt 2120 wird die lokale Variable too_wide auf den Wert TRUE gesetzt.
    • • Im Schritt 2121 wird ein Test durchgeführt, um festzustellen, ob die Summe aus der lokalen Variablen RSTI_row und dem Zeilenindex der einzelnen Zelle RSTI_top_left_cell, der um 1 (eins) verringert wurde, absolut größer als der Wert der lokalen Variablen Max_row ist. Wenn dies der Fall ist, wird die Steuerung dem Schritt 2122 übergeben; andernfalls wird die Steuerung dem Schritt 2123 übergeben.
    • • Im Schritt 2122 wird die lokale Variable too_high auf den Wert TRUE gesetzt.
    • • Im Schritt 2123 wird ein Test durchgeführt, um festzustellen, ob auf demselben Arbeitsblatt, auf dem sich die einzelne Zelle RSTI_top_left_cell befindet, auch eine STI vorhanden ist. Dieser Test lässt sich einfach durchführen, indem die STIT-Tabelle 750 ausgewertet wird, um einen Datensatz 751 zu ermitteln, dessen Feld "Address" 752 auf dasselbe Arbeitsblatt wie die einzelne Zelle RSTI_top_left_cell zeigt. Wenn dies der Fall ist, wird die Steuerung dem Schritt 2124 übergeben; andernfalls wird die Steuerung dem Schritt 2125 übergeben.
    • • Im Schritt 2124 wird die lokale Variable STI_present auf den Wert TRUE gesetzt.
    • • Im Schritt 2125 wird die lokale Variable RSTI_range als der Zellenbereich initialisiert, bei dem die Zelle RSTI_top_left_cell die oberste linke Zelle ist und bei dem mehrere Zeilen den Wert der lokalen Variablen RSTI_row und mehrere Spalten den Wert der lokalen Variablen RSTI_col haben.
    • • Im Schritt 2126 wird ein Test durchgeführt, um zu prüfen, ob in dem Zellenbereich RSTI_range Daten vorhanden sind. Wenn dies der Fall ist, wird die Steuerung dem Schritt 2127 übergeben; andernfalls wird die Steuerung dem Schritt 2128 übergeben.
    • • Im Schritt 2127 wird die lokale Variable RSTI_busy auf den Wert TRUE gesetzt.
    • • Im Schritt 2128 wird das Dialogfeld 2300 des RST-Instanziators auf dem Bildschirm 106 angezeigt. In diesem Dialogfeld 2300 werden in das Textfeld 2302 der Wert der lokalen Variablen RST_name, in das Textfeld 2311 der Wert der lokalen Variablen RSTI_E#, in das Textfeld 2304 der Wert der lokalen Variablen too_wide, in das Textfeld 2305 der Wert der lokalen Variablen too_high, in das Textfeld 2306 der Wert der lokalen Variablen STI_present und in das Textfeld 2307 der Wert der lokalen Variablen RSTI_busy eingegeben. Die Schaltfläche "Create Instance" 2310 wird nur aktiviert, wenn die drei lokalen Variablen too_wide, too_high und STI_present denselben Wert", FALSE, annehmen. Die Schaltfläche "Create instance in a new sheet" 2309 wird nur aktiviert, wenn die beiden lokalen Variablen too_wide und too_high denselben Wert, FALSE, annehmen.
    • • Im Schritt 2129 wartet das Verfahren auf eine Benutzeraktion im Dialogfeld 2300 des RST-Instanziators. Eine solche Benutzeraktion ist üblicherweise das Ergebnis eines Klicks mit der Zeigeeinheit 105, wobei dieser Auslöser jedoch auch andere ähnliche Formen annehmen kann wie zum Beispiel, jedoch nicht auf diese beschränkt, eine bestimmte Tastenkombination auf der Tastatur 104 oder irgendein anderes ähnliches Mittel, das hier nicht näher angegeben wird.
    • • Im Schritt 2130 wird eine Benutzeraktion im Dialogfeld 2300 des RST-Instanziators festgestellt.
    • • Wenn die Benutzeraktion ein Klick mit der Zeigeeinheit 105 auf einen Aufwärtspfeil ("Up") des Drehfelds 2303 ist, wird die Steuerung dem Schritt 2133 übergeben.
    • • Wenn die Benutzeraktion ein Klick mit der Zeigeeinheit 105 auf einen Abwärtspfeil ("Down") des Drehfelds 2303 ist, wird die Steuerung dem Schritt 2134 übergeben.
    • • Wenn die Benutzeraktion ein Klick mit der Zeigeeinheit 105 auf die Schaltfläche "Create instance" 2310 ist, wird die Steuerung dem Schritt 2138 übergeben.
    • • Wenn die Benutzeraktion ein Klick mit der Zeigeeinheit 105 auf die Schaltfläche "Create instance in a new sheet" 2309 ist, wird die Steuerung dem Schritt 2136 übergeben.
    • • Wenn die Benutzeraktion ein Klick mit der Zeigeeinheit 105 auf die Schaltfläche "Cancel" 2308 oder auf die Schaltfläche 2301 zum Schließen des Fensters ist, wird die Steuerung dem Schritt 2131 übergeben.
    • • Im Schritt 2131 wird der Zellenbereich Curr_RSTIDT aus dem Speicher abgerufen.
    • • Im Schritt 2132 wird das Dialogfeld 2300 des RST-Instanziators auf dem Bildschirm 106 geschlossen, und daraufhin wird die Steuerung wieder dem ersten Schritt 2101 zur Verarbeitung eines künftigen RST-Instanciator-Befehls übergeben.
    • • Im Schritt 2133 wird der Wert der lokalen Variablen RSTI_E# um 1 (eins) erhöht.
    • • Im Schritt 2134 wird der Wert der lokalen Variablen RSTI_E# um 1 (eins) verringert.
    • • Im Schritt 2135 wird der Zellenbereich Curr_RSTIDT aus dem Speicher abgerufen, und dann wird die Steuerung dem Schritt 2105 übergeben.
    • • Im Schritt 2136 wird ein neues Arbeitsblatt angelegt, für das der Name curr_sheet vergeben wird.
    • • Im Schritt 2137 wird die oberste linke Zelle des Arbeitsblatts curr_sheet die neue einzelne Zelle RSTI_top_left_cell.
    • • Im Schritt 2138 wird die lokale Variable STI_mode auf den Wert "OVERLAY" als Anfangswert gesetzt. Dann wird die lokale Variable STI_critical auf den Anfangswert "YES" gesetzt. Anschließend wird die lokale Variable Curr_RSTIDT_rec als der erste Datensatz 2271 der Tabelle Curr_RSTIDT 2270 initialisiert. Dann wird die lokale Variable Curr_RSTIDT_cell als die erste Zelle 2280 des Datensatzes Curr_RSTIDT_rec 2271 initialisiert. Danach wird die lokale Variable Curr_cell auf den Wert von RSTI_top_left_cell als Anfangswert gesetzt.
    • • Im Schritt 2139 wird das Attribut "container_range" 2276 der lokalen Variablen Curr_RSTIDT_cell 2280 als der Zellenbereich initialisiert, bei dem die einzelne Zelle Curr_cell die oberste linke Zelle ist und bei dem mehrere Zeilen den Wert des Attributs "container_row" 2281 und mehrere Spalten den Wert des Attributs "container_col" 2277 haben.
    • • Im Schritt 2140 wird die lokale Variable STI_range auf den Wert des Attributs "container_range" 2276 der lokalen Variablen Curr_RSTIDT_cell 2280 gesetzt. Dann wird die lokale Variable ST_name auf den Wert des Attributs "ST_name" 2280 der lokalen Variablen Curr_RSTIDT_cell 2280 gesetzt. Daraufhin wird die lokale Variable STI_element auf den Wert des Feldes "Min. Element#" 2225 des Datensatzes 721 der STT-Tabelle 720 gesetzt, dessen Feld "Name" 722 den gleichen Wert wie ST Name hat.
    • • Im Schritt 2141 wird der Befehl "CreateSTI" aufgerufen (als Unterroutine). Wenn dieser Befehl abgearbeitet ist und die Steuerung wieder dem aktuellen Prozess übergibt, wird die Steuerung dem nächsten Schritt 2142 übergeben.
    • • Im Schritt 2142 wird das Attribut "STIT_rec_ptr" 2282 der lokalen Variablen Curr_RSTIDT_cell 2280 so gesetzt, dass es auf den STIT-Datensatz 751 zeigt, der soeben im vorherigen Schritt 2141 angelegt wurde.
    • • Im Schritt 2143 wird ein Test durchgeführt, um zu prüfen, ob die von der lokalen Variablen Curr_RSTIDT_cell 2280 dargestellte Zelle die letzte Zelle des von der lokalen Variablen Curr_RSTIDT_rec 2271 dargestellten Datensatzes ist. Wenn ja, wird die Steuerung dem Schritt 2143 übergeben; andernfalls wird die Steuerung dem Schritt 2144 übergeben.
    • • Im Schritt 2144 wird die einzelne Zelle curr_cell um eine Anzahl von Spalten nach rechts verschoben, die gleich dem Wert des Attributs "container_col" 2277 der lokalen Variablen Curr_RSTIDT_cell 2280 ist. Dann wird die Zelle, die sich rechts von der einzelnen Zelle Curr_RSTIDT_cell 2280 befindet, die neue Zelle Curr_RSTIDT_cell 2280.
    • • Im Schritt 2145 wird ein Test durchgeführt, um zu prüfen, ob der von der lokalen Variablen Curr_RSTIDT_rec 2271 dargestellte Datensatz der letzte Datensatz des von der lokalen Variablen Curr_RSTIDT 2270 dargestellten Datensatzes ist. Wenn ja, wird die Steuerung dem Schritt 2147 übergeben; andernfalls wird die Steuerung dem Schritt 2146 übergeben.
    • • Im Schritt 2146 wird die einzelne Zelle RSTI_top_left_cell um eine Anzahl von Zeilen nach unten verschoben, die gleich dem Wert des Attributs "container_row" 2281 der lokalen Variablen Curr_RSTIDT_cell 2280 ist. Dann wird die einzelne Zelle curr_cell auf den Wert der einzelnen Zelle RST_top_left_cell gesetzt. Dann wird der Datensatz 2271, der auf den Datensatz Curr_RSTIDT_rec in der Tabelle Curr_RSTIDT 2270 folgt, der neue Datensatz Curr_RSTIDT_rec 2271. Daraufhin wird die erste Zelle des Datensatzes Curr_RSTIDT_rec 2271 die neue einzelne Zelle Curr_RSTIDT_cell 2280.
    • • Im Schritt 2147 wird ein neuer Datensatz 2261 in der RSTIT-Tabelle 2260 angelegt, um die soeben erzeugte RSTI zu beschreiben. In das Feld "Address" 2262 wird die Adresse des Zellenbereichs rir 2001 eingegeben. In das Feld "RST" 2263 wird der Wert der lokalen Variablen RST Name eingegeben. In das Feld "Element #" 2264 wird der Wert der lokalen Variablen Element# eingegeben. In das Feld "RSTIDT Ptr" 2265 wird der Wert der lokalen Variablen Curr_RSTIDT eingegeben. In das Feld "Header Size" 2266 wird die Zeilenanzahl der Behälterzeilen eingegeben, die die RSTI-Kopfzeile 2002 bilden. In das Feld "Footer Size" 2267 wird die Zeilenanzahl der Behälterzeilen eingegeben, die die RSTI-Fußzeile 2004 bilden. Dann wird die RSTT-Tabelle 2220 durchsucht, um den Datensatz 2221 zu ermitteln, dessen Feld "Name" 2222 den gleichen Wert wie die lokale Variable RST_name hat. Sobald er gefunden wurde, wird das Attribut "REFERENCED" 2229 im Feld "Type" 2227 dieses Datensatzes 2221 aktualisiert, indem das Teilfeld "INSTANCE REFERENCE" 2229c mit 2 (zwei) multipliziert wird. Daraufhin wird die Steuerung dem Schritt 2132 übergeben.
  • E8. RE-Editor-Verfahren
  • Das Verfahren zur Erzeugung oder Aktualisierung von REs oder Meta-Elementen, das in der bevorzugten Ausführungsform der vorliegenden Erfindung zur Anwendung kommt, ist im Flussdiagramm 2340 von 18C zusammengefasst. Dieses Verfahren kann als Verarbeitung des Befehls "RE Editor" betrachtet werden.
    • • Im Schritt 2341 befindet sich das Verfahren in seinem standardmäßigen Zustand, in dem es auf ein Ereignis zum Starten des Prozesses wartet.
    • • Im Schritt 2342 wird der Befehl "RE Editor" als Ergebnis einer Benutzeraktion festgestellt. Diese Aktion kann beispielsweise Folgende sein:
    • • eine bestimmte Tastenkombination auf der Tastatur 104 oder
    • • das Anklicken einer bestimmten Schaltfläche mit der Zeigeeinheit 105 oder
    • • ein anderes ähnliches Mittel, das hier nicht näher angegeben wird.
    • • Im Schritt 2343 wird der Parameter des Befehls abgerufen. Er entspricht einem zwingend notwendigen Parameter RE_name, der entweder einen reservierten Wert "NEW" oder einen anderen Wert annehmen kann, welcher dem Namen einer Zeichenfolge entspricht, der im Feld "Name" 2232 eines Datensatzes 2231 in der RSTMT-Tabelle 2230 vorgefunden wird. Dieser Parameter wird als eine lokale Variable abgelegt.
    • • Im Schritt 2344 werden einige lokale variablen mit einem Anfangswert belegt: Die lokale Variable RE_meta wird auf den Wert "NO" gesetzt, die lokale Variable RE_size wird auf den Wert 3 (drei) gesetzt, und die lokale Variable RE_rank wird auf den Wert 1 (eins) gesetzt.
    • • Im Schritt 2345 wird ein Test durchgeführt, um festzustellen, welchen Wert die lokale Variable RE_name angenommen hat. Wenn festgestellt wird, dass ihr Wert "NEW" lautet, wird die Steuerung dem Schritt 2349 übergeben; andernfalls wird die Steuerung dem Schritt 2346 übergeben.
    • • Im Schritt 2346 wird die RET-Tabelle 2210 nach einem Datensatz 2211 durchsucht, bei dem der Wert im Feld "Name" 2212 gleich dem von der lokalen Variablen RE_name angenommenen Wert ist. Wenn ein solcher Datensatz gefunden wird, wird die Steuerung dem Schritt 2348 übergeben; andernfalls wird die Steuerung dem Schritt 2347 übergeben.
    • • Im Schritt 2347 wird eine Ausnahmebedingungs-Behandlungsroutine aufgerufen, um diese "Should-notoccur"-Bedingung zu behandeln. Eine solche Operation hängt von der Ausführungsart ab und kann verschiedene Formen wie zum Beispiel die Anzeige eines Dialogfensters mit einer Fehlermeldung auf dem Bildschirm 106 annehmen. Daraufhin wird die Steuerung dem Schritt 2341 übergeben.
    • • Im Schritt 2348 wird die lokale Variable RE_meta entsprechend dem Wert des Attributs "META" 2218 im Feld "Type" 2217 des Datensatzes 2211, der im Schritt 2346 gefunden wurde, auf den Wert "YES" oder "NO" gesetzt,
    • • wird die lokale Variable RE_size auf den Wert gesetzt, der im Feld "Column #" 2216 des im Schritt 2346 gefundenen Datensatzes 2211 vorgefunden wird, und
    • • wird der Speicherplatz, auf den das Feld "Description Ptr" 2214 des im Schritt 2346 gefundenen Datensatzes 2211 zeigt, in einen Zwischenpufferspeicher kopiert, der als die lokale Variable RE_buffer abgelegt wird.
  • Daraufhin wird die Steuerung dem Schritt 2350 übergeben.
    • • Im Schritt 2349 wird entsprechend einer Namensfolge, die in einer bevorzugten Ausführungsform der vorliegenden Erfindung die Form "New XX" hat, ein neuer Name für das neu erzeugte RE festgelegt, wobei XX einem Zählerwert entspricht, der in Bezug auf alle Namen, die zuvor festgelegt und in den Feldern "Name" 702, 712, 722, 2212 und 2222 erfasst wurden, welche sich in den jeweiligen Datensätzen 701, 711, 721, 2211 und 2221 der jeweiligen Tabellen EFT 700, EPT 710, STT 720, RET 2210 und RSST 2220 befinden, die Unverwechselbarkeit des Namens sicherstellt. Ein anderes ähnliches herkömmliches Mittel könnte stattdessen ebenfalls verwendet werden, solange die Unverwechselbarkeit des neu erzeugten Namens sichergestellt wird.
  • Dann wird der neue Name in der lokalen Variablen RE_name abgelegt. Anschließend wird im Hauptspeicher 102 Speicherbereich zugeordnet, um später den der Veranschaulichung dienenden Zellenbereich für das RE oder das RME abzulegen. Dieser zugeordnete Speicherbereich, der als die lokale Variable RE_buffer erfasst wird, ist ein Teil des Speicherbereichs, der der gerade geöffneten Datei des Tabellenkalkulationsprogramms entspricht.
  • Als Nächstes wird in der RET-Tabelle 2210 ein neuer Datensatz 2211 angelegt, und dieser neue Datensatz 2211 wird wie folgt initialisiert:
    • • Das Feld "Name" 2212 wird auf den Wert der lokalen Variablen RE_name gesetzt;
    • • das Feld "Last Change Date" 2213 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Description Ptr" 2214 wird auf den Speicherplatz RE_buffer gesetzt, der soeben zugeordnet wurde;
    • • das Feld "Row #" 2215 wird auf den Wert 1 gesetzt (da die RSTs in der bevorzugten Ausführungsform der vorliegenden Erfindung in einer zweidimensionalen Umgebung verwaltet werden, würde dieses Feld die Anzahl der Zeilen enthalten, die für das erzeugte RE in einer dreidimensionalen Umgebung festgelegt wurden);
    • • das Feld "Column #" 2216 wird auf den Wert der lokalen Variablen RE_size gesetzt;
    • • das Feld "Type" 2217 wird wie folgt gesetzt: Das Attribut "META" 2218 wird auf den Wert der lokalen Variablen RE_meta gesetzt, und das Attribut "REFERENCED" 2219 wird wie folgt initialisiert:
    • • Das Teilfeld "OWN REFERENCE" (OR) 2219a wird mit einer Primzahl initialisiert, die noch keinem anderen OR-Teilfeld 709a oder 719a oder 729a oder 780a oder 2219a oder 2229a oder 2240a zugewiesen wurde. Verschiedene herkömmliche Verfahren, die hier nicht näher beschrieben werden, können zur Feststellung einer Primzahl angewendet werden.
    • • Das Teilfeld "FILIATION REFERENCE" (FR) 221b wird entsprechend der folgenden Formel initialisiert, wobei die Gruppe F der Gruppe von STs entspricht, die gemäß der im Feld "Description Ptr" 2214 erfassten Struktur das neue RE oder Meta-Element bildet: FR = Πi∊F ORi × LCM({FRi})i∊F
    • • Das Teilfeld "INSTANCE REFERENCE" (IR) 2219c wird auf den Anfangswert 1 (eins) gesetzt.
    • • Das Teilfeld "REFERENCED OBJECT" (RO) 2219d wird mit der folgenden Formel initialisiert, wobei die Gruppe P der Gruppe der RSTs entspricht: RO = "YES" wenn LCM({FRi})i∊P Mod OR = 0;andernfalls ist RO = "NO".
    • • Das Teilfeld "SELECTED CHILDREN" (SC) 2219e wird mit der folgenden Formel initialisiert, wobei die Gruppe S der Gruppe der ausgewählten Objekte entspricht (deren Attribut "SELECTED" 2242 in der RSTMT-Tabelle 2230 den Wert "YES" hat): SC = "YES" wenn LCM({FRi})i∊S Mod OR = 0 #OR# RSTE_name ∊ S,andernfalls ist SC = "NO".
  • Daraufhin wird die Steuerung dem Schritt 2350 übergeben.
    • • Im Schritt 2350 wird das Dialogfeld 2321 des RE-Editors auf dem Bildschirm 106 angezeigt.
    • • Das Bezeichnungsfeld 2324 wird mit dem Wert der lokalen Variablen RE_name initialisiert.
    • • Die obere Optionsschaltfläche 2331 (beziehungsweise die untere Optionsschaltfläche 2330) wird mit einem schwarzen Punkt gekennzeichnet, wenn festgestellt wird, dass die lokale Variable RE_meta den Wert "NO" (beziehungsweise "YES") hat.
    • • In das Textfeld 2326 wird der Wert der lokalen Variablen RE_size eingegeben.
    • • Die Schaltfläche "Save" 2333 wird aktiviert, wenn festgestellt wird, dass die lokale Variable RE_size den gleichen Wert wie das Feld "Column #" 2216 des aktuellen Datensatzes 2211 hat, oder wenn festgestellt wird, dass das Teilfeld "REFERENCED OBJECT" (RO) 2219d des Attributs "REFERENCED" 2219 im Feld "Type" 2217 desselben Datensatzes 2211 den Wert "NO" hat, so dass jeder künftige Klick mit der Zeigeeinheit 105 auf diese Schaltfläche "Save" 2333 als ein gültiges Ereignis erkannt wird.
    • • Andernfalls wird die Schaltfläche "Save" 2333 deaktiviert (wenn festgestellt wird, dass die lokale Variable RE_size nicht den gleichen Wert wie das Feld "Column #" 2216 des aktuellen Datensatzes 2211 hat, und wenn festgestellt wird, dass das Teilfeld "REFERENCED OBJECT" (RO) 2219d des Attributs "REFERENCED" 2219 im Feld "Type" 2217 desselben Datensatzes 2211 den Wert "YES" hat, so dass jeder künftige Klick mit der Zeigeeinheit 105 auf diese Schaltfläche "Save" 2333 nicht als ein Ereignis erkannt wird.
    • • Das Textfeld 2335 wird mit dem Wert der lokalen Variablen RE_rank initialisiert.
    • • Das Listenfeld 2334 wird mit dem Inhalt der Zelle initialisiert, die zu RE_buffer gehört und deren Versatz (Offset) gleich dem Wert von RE_rank ist. Die Liste der Namen, die in diesem Listenfeld 2334 verfügbar sind (durch Klick auf das Drehfeld 2328), setzt sich aus den Namen der STs zusammen, die in der STT-Tabelle 720 erfasst werden.
    • • Im Schritt 2351 wartet das Verfahren auf eine Benutzeraktion im Dialogfeld 2321 des RE-Editors. Eine solche Benutzeraktion ist üblicherweise das Ergebnis eines Klicks mit der Zeigeeinheit 105, wobei dieser Auslöser jedoch auch andere ähnliche Formen annehmen kann wie zum Beispiel, jedoch nicht auf diese beschränkt, eine bestimmte Tastenkombination auf der Tastatur 104 oder irgendein anderes ähnliches Mittel, das hier nicht näher angegeben wird.
    • • Im Schritt 2352 wird eine Benutzeraktion im Dialogfeld 2321 des RE-Editors festgestellt.
    • • Wenn die Benutzeraktion ein Klick auf das Drehfeld 2328 ist, um den Namen einer ST auszuwählen, wird die Steuerung dem Schritt 2353 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Save" 2333 ist, wird die Steuerung dem Schritt 2354 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Save As" 2332 ist, wird die Steuerung dem Schritt 2355 übergeben;
    • • wenn die Benutzeraktion ein Klick auf das Drehfeld 2329 ist, wird die Steuerung dem Schritt 2358 übergeben;
    • • wenn die Benutzeraktion ein Klick auf das Drehfeld 2327 ist, wird die Steuerung dem Schritt 2359 übergeben;
    • • wenn die Benutzeraktion ein Klick auf eine der beiden Optionsschaltflächen 2330 oder 2331 ist, wird die Steuerung dem Schritt 2360 übergeben;
    • • wenn die Benutzeraktion ein Klick auf die Schaltfläche "Done" 2323 oder auf die Schaltfläche 2322 zum Schließen des Fensters ist, wird die Steuerung dem Schritt 2361 übergeben.
    • • Im Schritt 2353 wird die lokale Variable RE_buffer aktualisiert, indem der Inhalt der Zelle, deren Versatz gleich dem wert der lokalen Variablen RE_rank ist, gleich dem Inhalt des Listenfeldes 2334 gesetzt wird. Daraufhin wird die Steuerung dem Schritt 2350 übergeben.
    • • Im Schritt 2354 wird die RET-Tabelle 2210 aktualisiert und als Teil der Datei des Tabellenkalkulationsprogramms gespeichert, indem der Datensatz 2211 aufgefrischt wird, dessen Feld "Name" 2212 den gleichen Wert wie die lokale Variable RE_name hat. Dazu werden
    • • das Feld "Last Change Date" 2213 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Column #" 2216 wird auf den Wert der lokalen Variablen RE_size gesetzt;
    • • das Feld "Type" 2217 wird wie folgt gesetzt: Das Attribut "META" 2218 wird auf den Wert der lokalen Variablen RE_meta gesetzt.
  • Darüber hinaus wird der Zellenbereich RE_buffer, der die aktuelle Definition des RE oder des Meta-Elements darstellt, an den Speicherplatz kopiert, auf den das Feld "Description Ptr" 2214 zeigt. Anschließend wird die Steuerung dem Schritt 2350 übergeben.
    • • Im Schritt 2355 wird ein Test an dem im Textfeld 2325 vorgefundenen Wert durchgeführt, um festzustellen, ob er einem gültigen neuen Namen entspricht. Die entsprechenden Kriterien sind von der Ausführungsform abhängig und können verschiedene Formen annehmen, solange es sich bei dem neu vorgeschlagenen Namen im Hinblick auf alle bereits festgelegten und in den Feldern "Name" 702, 712, 722, 2212 und 2222 erfassten Namen um eine eindeutige Zeichenfolge handelt. Wenn die Gültigkeit und die Unverwechselbarkeit nachgewiesen sind, wird die Steuerung dem Schritt 2356 übergeben; andernfalls wird sie dem Schritt 2357 übergeben.
    • • Im Schritt 2356 wird im Hauptspeicher 102 Speicherbereich zugeordnet, um später den der Veranschaulichung dienenden Zellenbereich für das EF oder das MEF abzulegen. Dieser zugeordnete Speicherbereich ist ein Teil des Speicherbereichs, der der gerade geöffneten Datei des Tabellenkalkulationsprogramms entspricht. Dann wird in der RET-Tabelle 2210 ein neuer Datensatz 2211 angelegt, der als Teil der Datei des Tabellenkalkulationsprogramms gespeichert wird, und dieser neue Datensatz 2211 wird wie folgt initialisiert:
    • • Das Feld "Name" 2212 wird auf den im Textfeld 2325 vorgefundenen und im Schritt 2355 für gültig erklärten Wert gesetzt;
    • • das Feld "Last Change Date" 2213 wird auf die Systemzeitreferenz gesetzt, die dem Zentralprozessor 101 bekannt ist;
    • • das Feld "Description Ptr" 2214 wird auf den Speicherplatz RE_buffer gesetzt, der soeben zugeordnet wurde;
    • • das Feld "Row #" 2215 wird auf den Wert 1 gesetzt (da die RSTs in der bevorzugten Ausführungsform der vorliegenden Erfindung in einer zweidimensionalen Umgebung verwaltet werden, würde dieses Feld die Anzahl der Zeilen enthalten, die für das erzeugte RE in einer dreidimensionalen Umgebung festgelegt wurden);
    • • das Feld "Column #" 2216 wird auf den Wert der lokalen variablen RE_size gesetzt;
    • • das Feld "Type" 2217 wird wie folgt gesetzt: Das Attribut "META" 2218 wird auf den Wert der lokalen variablen RE_meta gesetzt, und das Attribut "REFERENCED" 2219 wird wie folgt initialisiert:
    • • Das Teilfeld "OWN REFERENCE" (OR) 2219a wird mit einer Primzahl initialisiert, die noch keinem anderen Teilfeld 709a oder 719a oder 729a oder 780a oder 2219a oder 2229a oder 2240a zugewiesen wurde. Verschiedene herkömmliche Verfahren, die hier nicht näher beschrieben werden, können zur Feststellung einer Primzahl angewendet werden.
    • • Das Teilfeld "FILIATION REFERENCE" (FR) 2219b wird entsprechend der folgenden Formel initialisiert, wobei die Gruppe F der Gruppe von STs entspricht, die gemäß der im Feld "Description Ptr" 2214 erfassten Struktur das neue RE oder Meta-Element bildet: FR = Πi∊F ORi × LCM({FRi})i∊F
    • • Das Teilfeld "INSTANCE REFERENCE" (IR) 2219c wird auf den Anfangswert 1 (eins) gesetzt.
    • • Das Teilfeld "REFERENCED OBJECT" (RO) 2219d wird mit der folgenden Formel initialisiert, wobei die Gruppe P der Gruppe der RSTs entspricht: RO = "YES" wenn LCM({FRi})i∊P Mod OR = 0;andernfalls ist RO = "NO".
    • • Das Teilfeld "SELECTED CHILDREN" (SC) 2219e wird mit der folgenden Formel initialisiert, wobei die Gruppe S der Gruppe der ausgewählten Objekte entspricht (deren Attribut "SELECTED" 2242 in der RSTMT-Tabelle 2230 den Wert "YES" hat): SC = "YES" wenn LCM({FRi})i∊S Mod OR = 0 #OR# RSTE_name ∊ S,andernfalls ist SC = "NO".
  • Daraufhin wird die Steuerung dem Schritt 2350 übergeben.
    • • Im Schritt 2357 wird eine Warnmeldung ausgegeben, um den Benutzer darauf aufmerksam zu machen, dass im Textfeld 2325 ein gültiger und eindeutiger Name angegeben werden muss, bevor die Schaltfläche "Save As" 2332 angeklickt wird. Dies kann üblicherweise geschehen, indem auf dem Bildschirm 106 eine Warnmeldung in einem Dialogfenster oder in einem Bereich der Statuszeile angezeigt wird, aber ein anderes ähnliches Mittel könnte stattdessen ebenfalls verwendet werden. Sobald der Benutzer diesen Hinweis über ein herkömmliches Mittel wie zum Beispiel einen Klick mit der Zeigeeinheit 105 auf eine Schaltfläche "OK", die in einem Dialogfenster mit einer Warnmeldung vorhanden ist, oder über ein anderes ähnliches Mittel bestätigt hat, wird die Steuerung dem Schritt 2350 übergeben.
    • • Im Schritt 2358 wird der Wert der lokalen Variablen RE_rank um 1 (eins) verringert, solange er absolut positiv bleibt, wenn der Benutzer mit der Zeigeeinheit 106 auf die Seite des Drehfelds 2329 mit dem Abwärtspfeil geklickt hat, und der Wert der lokalen Variablen RE_rank wird um 1 (eins) erhöht, solange er geringer als der Wert oder gleich dem Wert der lokalen Variablen RE_size bleibt, wenn der Benutzer mit der Zeigeeinheit 106 auf die Seite des Drehfelds 2329 mit dem Aufwärtspfeil geklickt hat. Dann wird die Steuerung dem Schritt 2350 übergeben.
    • • Im Schritt 2359 wird der Wert der lokalen Variablen RE_size entsprechend der von der Zeigeeinheit 105 auf dem Drehfeld 2327 vorgegebenen Richtung (nach oben oder nach unten) entweder um 1 (eins) erhöht oder verringert, und dies, solange ihr Wert positiv und kleiner als oder gleichgroß wie ein oberer Grenzwert bleibt, der in einer bevorzugten Ausführungsform der vorliegenden Erfindung auf 254 gesetzt wird. Daraufhin wird die Steuerung dem Schritt 2350 übergeben.
    • • Im Schritt 2360 wird die lokale Variable RE_meta aktualisiert, so dass ihr Wert auf "YES" (beziehungsweise "NO") gesetzt wird, wenn die untere Optionsschaltfläche 2330 (beziehungsweise die obere Optionsschaltfläche 2331) angeklickt wurde. Daraufhin wird die Steuerung dem Schritt 2350 übergeben.
    • • Im Schritt 2361 wird das Dialogfeld 2321 des RE-Editors geschlossen, so dass es vom Bildschirm 106 verschwindet. Schließlich wird die Steuerung wieder dem ersten Schritt 2341 zur Verarbeitung eines künftigen RE-Editor-Befehls übergeben.
  • E9. STI-Spalten-/Zeilenzählverfahren
  • Das Verfahren zum Zählen der Anzahl der Spalten oder Zeilen in einer STI, das in der bevorzugten Ausführungsform der vorliegenden Erfindung zur Anwendung kommt, ist in den Flussdiagrammen 2400 und 2420 von 19A und 19B zusammengefasst. Diese Verfahren können als Verarbeitung der Funktionen STI_Row und STI_Col betrachtet werden.
    • • Im Schritt 2401 befindet sich das erste Verfahren in seinem standardmäßigen Zustand, in dem es auf einen Aufruf der Funktion STI Row wartet.
    • • Im Schritt 2402 wird der Aufruf der Funktion STI_Row als Ergebnis einer Benutzeraktion festgestellt. Die Funktion wird mit zwei Parametern mit der Bezeichnung ST Name und STI Element aufgerufen.
    • • Im Schritt 2403 wird der erste Datensatz 721 der STT-Tabelle 720 als Curr_Record festgelegt.
    • • Im Schritt 2404 werden die Felder "Name" 722, "Min Element#" 725 und "Max Element#" 726 des Datensatzes Curr_Record 721 jeweils als die lokalen Variablen Curr_Name, Curr_Min und Curr_Max festgelegt.
    • • Im Schritt 2405 wird ein Test durchgeführt, um zu prüfen, ob der Wert der lokalen Variablen Curr_Name gleich dem Wert des Funktionsparameters ST_Name ist. Wenn dies der Fall ist, wird die Steuerung dem Schritt 2409 übergeben; andernfalls wird die Steuerung dem Schritt 2406 übergeben.
    • • Im Schritt 2406 wird ein Test durchgeführt, um zu prüfen, ob der Datensatz Curr_Record 721 der letzte Datensatz der STT-Tabelle 720 ist. Wenn ja, wird die Steuerung dem Schritt 2408 übergeben; andernfalls wird die Steuerung dem Schritt 2407 übergeben.
    • • Im Schritt 2407 wird der Datensatz, der auf den Datensatz Curr_Record in der STT-Tabelle 720 folgt, der neue Datensatz Curr_Record 721. Daraufhin wird die Steuerung dem Schritt 2404 übergeben.
    • • Im Schritt 2408 wird die lokale Variable STI Row auf den Wert 0 (null) gesetzt. Daraufhin wird die Steuerung dem Schritt 2412 übergeben.
    • • Im Schritt 2409 wird der Zellenbereich, auf den das Feld "Description Ptr" 724 des Datensatzes Curr_Record 721 zeigt, als STDT_address festgelegt.
    • • Im Schritt 2410 wird die lokale Variable Element Nbr auf den Wert des Eingabeparameters STI_Element gesetzt, dessen oberer Grenzwert die lokale Variable Curr_Max und dessen unterer Grenzwert die lokale Variable Curr_Min bildet.
    • • Im Schritt 2411 wird die lokale Variable STI_row auf die Anzahl der Zeilen des Zellenbereichs STDT_address gesetzt, um den Wert der lokalen Variablen STI Element erhöht und um 1 (eins) verringert.
    • • Im Schritt 2412 wird die Ausführung der Funktion STI_Row beendet, wenn die Steuerung wieder dem Aufrufenden der Funktion übergeben wird.
    • • Im Schritt 2421 befindet sich das zweite Verfahren in seinem standardmäßigen Zustand, in dem es auf einen Aufruf der Funktion STI_Col wartet.
    • • Im Schritt 2422 wird der Aufruf der Funktion STI_Col als Ergebnis einer Benutzeraktion festgestellt. Die Funktion wird mit einem Parameter mit der Bezeichnung ST Name aufgerufen.
    • • Im Schritt 2423 wird der erste Datensatz 721 der STT-Tabelle 720 als Curr_Record festgelegt.
    • • Im Schritt 2424 wird das Feld "Name" 722 des Datensatzes Curr_Record 721 als die lokale Variable Curr_Name festgelegt.
    • • Im Schritt 2425 wird ein Test durchgeführt, um zu prüfen, ob der Wert der lokalen Variablen Curr_Name gleich dem Wert des Funktionsparameters ST_Name ist. Wenn dies der Fall ist, wird die Steuerung dem Schritt 2429 übergeben; andernfalls wird die Steuerung dem Schritt 2426 übergeben.
    • • Im Schritt 2426 wird ein Test durchgeführt, um zu prüfen, ob der Datensatz Curr_Record 721 der letzte Datensatz der STT-Tabelle 720 ist. Wenn ja, wird die Steuerung dem Schritt 2428 übergeben; andernfalls wird die Steuerung dem Schritt 2427 übergeben.
    • • Im Schritt 2427 wird der Datensatz, der auf den Datensatz Curr_Record in der STT-Tabelle 720 folgt, der neue Datensatz Curr_Record 721. Daraufhin wird die Steuerung dem Schritt 2424 übergeben.
    • • Im Schritt 2428 wird die lokale Variable STI Row auf den Wert 0 (null) gesetzt. Daraufhin wird die Steuerung dem Schritt 2431 übergeben.
    • • Im Schritt 2429 wird der Zellenbereich, auf den das Feld "Description Ptr" 724 des Datensatzes Curr_Record 721 zeigt, als STDT_address festgelegt.
    • • Im Schritt 2430 wird die lokale Variable STI_col auf die Anzahl der Spalten des Zellenbereichs STDT_address gesetzt.
    • • Im Schritt 2431 wird die Ausführung der Funktion STI_Col beendet, wenn die Steuerung wieder dem Aufrufenden der Funktion übergeben wird.
  • ALTERNATIVE AUSFÜHRUNGSFORMEN
  • Die Verfahren und die Systeme gemäß der vorliegenden Erfindung können vorteilhaft in Umgebungen eingesetzt werden, in denen Datenelemente als senkrecht strukturierte zweidimensionale Tabellen organisiert werden. Die Verfahren und die Systeme gemäß der vorliegenden Erfindung können vorteilhaft in Umgebungen eingesetzt werden, in denen Datenelemente als mehrdimensionale Tabellen, die mehr als zwei Dimensionen haben, organisiert werden. Zwar wurde die Erfindung insbesondere mit Bezug auf eine bevorzugte Ausführungsform gezeigt und beschrieben, doch versteht es sich, dass verschiedene Änderungen an der Form und an den Einzelheiten der bevorzugten Ausführungsform vorgenommen werden können, ohne vom Umfang der Erfindung abzuweichen.

Claims (24)

  1. Verfahren in einer mehrdimensionalen elektronischen Datentabelle, die eine Vielzahl von Daten umfasst, wobei das Verfahren zur Erzeugung einer rekursiven skalierbaren Vorlageninstanz oder einer Vielzahl von rekursiven skalierbaren Vorlageninstanzen dient; wobei eine rekursive skalierbare Vorlageninstanz eine veränderliche Anzahl von zusammenhängenden rekursiven Elementinstanzen umfasst, die geordnet und entlang einer ersten Dimension der Datentabelle ausgerichtet und entsprechend einer rekursiven skalierbaren Vorlage strukturiert werden; wobei eine rekursive Elementinstanz als eine Elementinstanz festgelegt wird, die eine skalierbare Vorlageninstanz oder eine Vielzahl von skalierbaren Vorlageninstanzen umfasst; wobei eine skalierbare Vorlageninstanz eine veränderliche Anzahl von Elementen umfasst, die entsprechend einer skalierbaren Vorlage strukturiert werden; wobei ein Element als ein Datenbereich festgelegt wird; wobei ein Datenbereich ein Datum oder eine Vielzahl von Daten umfasst; wobei eine rekursive skalierbare Vorlage ein rekursives Element umfasst, das eine skalierbare Vorlage oder eine Vielzahl von skalierbaren Vorlagen umfasst; wobei das Verfahren für jede zu erzeugende rekursive skalierbare Vorlageninstanz die folgenden Schritte umfasst: • Auswählen einer rekursiven skalierbaren Vorlage; • Festlegen einer Position zur Erzeugung einer rekursiven skalierbaren Vorlageninstanz; • an der festgelegten Position Erzeugen von einer zusammenhängenden rekursiven Elementinstanz oder von einer Vielzahl von zusammenhängenden rekursiven Elementinstanzen, die geordnet und entlang einer ersten Dimension der Datentabelle ausgerichtet werden; wobei jede rekursive Elementinstanz eine veränderliche Größe entlang der ersten Dimension der Datentabelle und eine gleiche Größe entlang einer zweiten Dimension der Datentabelle hat; • Strukturieren einer jeden rekursiven Elementinstanz entsprechend dem rekursiven Element, das für die rekursive skalierbare Vorlage festgelegt wurde; • Ausrichten einer jeden skalierbaren Vorlageninstanz einer jeden rekursiven Elementinstanz entlang der ersten Dimension der Datentabelle; • innerhalb einer jeden rekursiven Elementinstanz Ausrichten einer jeden skalierbaren Vorlageninstanz entlang der zweiten Dimension der Datentabelle.
  2. Verfahren nach dem vorhergehenden Anspruch, wobei das Verfahren die folgenden Vorab-Schritte umfasst: • Erzeugen oder Aktualisieren eines rekursiven Elements oder einer Vielzahl von rekursiven Elementen; wobei der Schritt des Erzeugens oder des Aktualisierens eines rekursiven Elements oder einer Vielzahl von rekursiven Elementen für jedes rekursive Element den folgenden weiteren Schritt umfasst: • Angeben von einer skalierbaren Vorlage oder von einer Vielzahl von skalierbaren Vorlagen; • Erzeugen oder Aktualisieren einer rekursiven skalierbaren Vorlage oder einer Vielzahl von rekursiven skalierbaren Vorlagen, wobei der Schritt für jede rekursive skalierbare Vorlage den folgenden weiteren Schritt umfasst: • Angeben eines rekursiven Elements.
  3. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Erzeugens einer veränderlichen Anzahl von zusammenhängenden und geordneten rekursiven Elementinstanzen, die entlang der ersten Dimension der Datentabelle ausgerichtet werden, für jede rekursive Elementinstanz den folgenden Schritt umfasst: • Instanziieren der einen skalierbaren Vorlage oder der Vielzahl der skalierbaren Vorlagen, die in dem rekursiven Element angegeben ist, welches in der rekursiven skalierbaren Vorlage angegeben ist.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die rekursive skalierbare Vorlageninstanz des Weiteren einen Kopfzeilenteil und/oder einen Fußzeilenteil umfasst; wobei der Kopfzeilenteil der rekursiven skalierbaren Vorlage eine vorher festgelegte Anzahl von rekursiven Meta-Elementen umfasst; wobei der Fußzeilenteil der skalierbaren Vorlage eine vorher festgelegte Anzahl von rekursiven Meta-Elementen umfasst; wobei ein rekursives Meta-Element eine skalierbare Vorlage oder eine Vielzahl von skalierbaren Vorlagen umfasst; wobei das Verfahren die folgenden weiteren Schritte umfasst: • Erzeugen oder Aktualisieren eines rekursiven Meta-Elements oder einer Vielzahl von rekursiven Meta-Elementen, wobei der Schritt für jedes rekursive Meta-Element die folgenden weiteren Schritte umfasst: • Angeben von einer skalierbaren Vorlage oder von einer Vielzahl von skalierbaren Vorlagen.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Erzeugens oder des Aktualisierens einer rekursiven skalierbaren Vorlage den folgenden weiteren Schritt umfasst: • Festlegen eines rekursiven skalierbaren Vorlagen-Kopfzeilenteils und/oder eines rekursiven skalierbaren Vorlagen-Fußzeilenteils, • wobei der Schritt des Festlegens eines rekursiven skalierbaren Vorlagen-Kopfzeilenteils den folgenden Schritt umfasst: • mit einer bestimmten Reihenfolge Angeben einer vorher festgelegten Anzahl von rekursiven Meta-Elementen; • wobei der Schritt des Festlegens eines rekursiven skalierbaren Vorlagen-Fußzeilenteils den folgenden Schritt umfasst: • mit einer bestimmten Reihenfolge Angeben einer vorher festgelegten Anzahl von rekursiven Meta-Elementen.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Erzeugens einer rekursiven skalierbaren Vorlageninstanz, welche eine veränderliche Anzahl von rekursiven Elementinstanzen umfasst, die entsprechend einem Hauptteil einer rekursiven skalierbaren Vorlage strukturiert werden, den folgenden Vorab-Schritt umfasst: • Erzeugen einer vorher festgelegten Anzahl von zusammenhängenden und geordneten rekursiven Meta-Elementinstanzen, die entlang der ersten Dimension der Datentabelle ausgerichtet und entsprechend dem einen rekursiven Meta-Element oder der Vielzahl der rekursiven Meta-Elemente, das/die in dem Kopfzeilenteil der rekursiven skalierbaren Vorlage angegeben ist, strukturiert werden.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Erzeugens einer rekursiven skalierbaren Vorlageninstanz, welche eine veränderliche Anzahl von rekursiven Elementinstanzen umfasst, die entsprechend einem Hauptteil einer rekursiven skalierbaren Vorlage strukturiert werden, den folgenden anschließenden Schritt umfasst: • Erzeugen einer vorher festgelegten Anzahl von zusammenhängenden und geordneten rekursiven Meta-Elementinstanzen, die entlang der ersten Dimension der Datentabelle ausgerichtet und entsprechend dem einen rekursiven Meta-Element oder der Vielzahl der rekursiven Meta-Elemente, das/die in dem Fußzeilenteil der rekursiven skalierbaren Vorlage angegeben ist, strukturiert werden.
  8. Verfahren nach dem vorhergehenden Anspruch, das für jede rekursive Elementinstanz und für jede rekursive Meta-Elementinstanz den folgenden Schritt umfasst: • Anpassen der Größe der rekursiven Elementinstanz und der rekursiven Meta-Elementinstanz entlang der ersten Dimension der Datentabelle entsprechend der Größe der größten skalierbaren Vorlageninstanz der rekursiven Elementinstanz und der rekursiven Meta-Elementinstanz.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Erzeugens oder des Aktualisierens eines rekursiven Elements oder einer Vielzahl von rekursiven Elementen und optional eines rekursiven Meta-Elements oder einer Vielzahl von rekursiven Meta-Elementen für jedes rekursive Element oder für jedes rekursive Meta-Element den folgenden weiteren Schritt umfasst: • Zuweisen zu dem rekursiven Element oder dem rekursiven Meta-Element: • einen Bezeichner, vorzugsweise einen Namen; • optional ein Datum der letzten Änderung, das dem Datum der letzten Aktualisierung entspricht; und • optional einen Typ zur Feststellung, ob es sich um ein rekursives Element oder um ein rekursives Meta-Element handelt.
  10. Verfahren nach einem der vorhergehenden Ansprüche, das den folgenden weiteren Schritt umfasst: • Zuweisen zu jedem rekursiven Element und zu jedem rekursiven Meta-Element: • ein Mittel zur Feststellung, ob sich mindestens eine rekursive skalierbare Vorlage auf das rekursive Element oder das rekursive Meta-Element bezieht; • ein Mittel zur Feststellung, ob sich mindestens eine rekursive skalierbare Vorlageninstanz auf das rekursive Element oder das rekursive Meta-Element bezieht.
  11. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Erzeugens oder des Aktualisierens einer rekursiven skalierbaren Vorlage oder einer Vielzahl von rekursiven skalierbaren Vorlagen für jede rekursive skalierbare Vorlage den folgenden weiteren Schritt umfasst: • Zuweisen zu der rekursiven skalierbaren Vorlage: • einen Bezeichner, vorzugsweise einen Namen; • optional ein Datum der letzten Änderung, das dem Datum der letzten Aktualisierung der rekursiven skalierbaren Vorlage entspricht; und • optional einen Anzeiger, der anzeigt, ob sich mindestens eine rekursive skalierbare Vorlageninstanz auf die rekursive skalierbare Vorlage bezieht.
  12. Verfahren nach einem der vorhergehenden Ansprüche, das die folgenden weiteren Schritte umfasst: • über eine eigens dafür vorgesehene Benutzerschnittstelle Anzeigen des Bezeichners, optional des Typs und optional des Datums der letzten Aktualisierung eines beliebigen vorhandenen rekursiven Elements oder eines rekursiven Meta-Elements oder einer rekursiven skalierbaren Vorlage; • Feststellen einer durch einen Benutzer erfolgten Auswahl eines rekursiven Elements, eines rekursiven Meta-Elements oder einer rekursiven skalierbaren Vorlage zur Bearbeitung: • Wenn ein rekursives Element ausgewählt worden ist, Bearbeiten des ausgewählten rekursiven Elements; • wenn ein rekursives Meta-Element ausgewählt worden ist, Bearbeiten des ausgewählten rekursiven Meta-Elements; • wenn eine rekursive skalierbare Vorlage ausgewählt worden ist, Bearbeiten der ausgewählten rekursiven skalierbaren Vorlage.
  13. Verfahren nach einem der vorhergehenden Ansprüche, das die folgenden weiteren Schritte umfasst: • über eine eigens dafür vorgesehene Benutzerschnittstelle Anzeigen des Bezeichners, optional des Typs und optional des Datums der letzten Aktualisierung eines beliebigen vorhandenen rekursiven Elements oder eines rekursiven Meta-Elements oder einer rekursiven skalierbaren Vorlage; • Feststellen einer durch einen Benutzer erfolgten Auswahl eines rekursiven Elements, eines rekursiven Meta-Elements oder einer rekursiven skalierbaren Vorlage zum Löschen: • Wenn ein rekursives Element ausgewählt worden ist und wenn sich keine rekursive skalierbare Vorlage auf das ausgewählte rekursive Element bezieht, Löschen des ausgewählten rekursiven Elements; • wenn ein rekursives Meta-Element ausgewählt worden ist und wenn sich keine rekursive skalierbare Vorlage auf das ausgewählte rekursive Meta-Element bezieht, Löschen des ausgewählten rekursiven Meta-Elements; • wenn eine rekursive skalierbare Vorlage ausgewählt worden ist und wenn sich keine rekursive skalierbare Vorlageninstanz auf die ausgewählte rekursive skalierbare Vorlage bezieht, Löschen der ausgewählten rekursiven skalierbaren Vorlage.
  14. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Erzeugens oder des Aktualisierens eines rekursiven Meta-Elements oder einer Vielzahl von rekursiven Meta-Elementen den folgenden weiteren Schritt umfasst: • für die rekursiven Meta-Elemente Angeben einer Anzahl von skalierbaren Vorlagen, die gleich der Anzahl der skalierbaren Vorlagen ist, welche in dem für die rekursive skalierbare Vorlage angegebenen rekursiven Element enthalten sind.
  15. Verfahren nach einem der vorhergehenden Ansprüche, das den folgenden weiteren Schritt umfasst: • in der gleichen rekursiven skalierbaren Vorlageninstanz Erzeugen von zusammenhängenden rekursiven Elementinstanzen und einer rekursiven Meta-Elementinstanz oder einer Vielzahl von rekursiven Meta-Elementinstanzen, wobei die rekursiven Elementinstanzen und eine rekursive Meta-Elementinstanz oder eine Vielzahl von rekursiven Meta-Elementinstanzen entlang der zweiten Dimension gleich groß sind.
  16. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Erzeugens von rekursiven Elementinstanzen und von einer rekursiven Meta-Elementinstanz oder einer Vielzahl von rekursiven Meta-Elementinstanzen in einer gleichen rekursiven skalierbaren Vorlageninstanz den folgenden weiteren Schritt umfasst: • Ausrichten einer jeden skalierbaren Vorlageninstanz einer jeden rekursiven Elementinstanz und einer jeden rekursiven Meta-Elementinstanz entlang der ersten Dimension der Datentabelle.
  17. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Erzeugens einer rekursiven skalierbaren Vorlageninstanz den folgenden Vorab-Schritt umfasst: • Überwachen, dass die rekursive skalierbare Vorlageninstanz keine vorhandene rekursive skalierbare Vorlageninstanz oder vorhandene skalierbare Vorlageninstanz in der Datentabelle beschädigt.
  18. Verfahren nach einem der vorhergehenden Ansprüche, wobei die mehrdimensionale elektronische Datentabelle ein elektronisches Arbeitsblatt ist, das eine Vielzahl von Zellen umfasst, die entlang einer jeden Dimension durch eine Zellenadresse gekennzeichnet sind.
  19. Verfahren nach dem vorhergehenden Anspruch, wobei eine skalierbare Vorlageninstanz eine veränderliche Anzahl von zusammenhängenden Elementen gleicher Größe umfasst, die geordnet und entlang einer bestimmten Dimension eines Arbeitsblatts ausgerichtet und entsprechend einer skalierbaren Vorlage strukturiert werden; wobei ein Element als ein Bereich von Zellen festgelegt wird; wobei die skalierbare Vorlage ein Elementformat und/oder ein Elementprofil umfasst; wobei ein Elementformat für jede Zelle in jedem Element ein Formatattribut oder eine Vielzahl von Formatattributen festlegt; wobei ein Elementprofil für jede Zelle in jedem Element einen Zelleninhalt festlegt; wobei das Verfahren die folgenden weiteren Schritte umfasst: • Erzeugen oder Aktualisieren eines Elementformats oder einer Vielzahl von Elementformaten und/oder eines Elementprofils oder einer Vielzahl von Elementprofilen, wobei der Schritt des Erzeugens oder des Aktualisierens eines Elementformats oder einer Vielzahl von Elementformaten für jedes Elementformat die folgenden weiteren Schritte umfasst: • Angeben eines Zellenbereichs; der das Format veranschaulicht; • Festlegen eines Formatattributs oder einer Vielzahl von Formatattributen für jede Zelle, die zu dem Zellenbereich gehört, der das Format veranschaulicht; wobei der Schritt des Erzeugens oder des Aktualisierens eines Elementprofils oder einer Vielzahl von Elementprofilen für jedes Elementprofil die folgenden weiteren Schritte umfasst: • Angeben eines Zellenbereichs, der das Profil veranschaulicht; • Festlegen eines Zelleninhalts für jede Zelle, die zu dem Zellenbereich gehört, der das Profil veranschaulicht; • Erzeugen oder Aktualisieren einer skalierbaren Vorlage oder einer Vielzahl von skalierbaren Vorlagen, wobei der Schritt für jede skalierbare Vorlage den folgenden weiteren Schritt umfasst: • Angeben eines Elementformats und/oder eines Elementprofils; • Erzeugen einer skalierbaren Vorlageninstanz oder einer Vielzahl von skalierbaren Vorlageninstanzen, wobei der Schritt für jede skalierbare Vorlageninstanz die folgenden weiteren Schritte umfasst: • Auswählen einer skalierbaren Vorlage; • Festlegen einer Position zur Erzeugung der skalierbaren Vorlageninstanz; • an der festgelegten Position Erzeugen von einem zusammenhängenden Element oder von einer Vielzahl von zusammenhängenden Elementen, die geordnet und entlang einer bestimmten Dimension eines Arbeitsblatts ausgerichtet werden; • Strukturieren eines jeden Elements entsprechend dem in der skalierbaren Vorlage festgelegten Elementformat und/oder Elementprofil.
  20. Verfahren nach dem vorhergehenden Anspruch, wobei der Schritt des Festlegens eines Formatattributs oder einer Vielzahl von Formatattributen für jede Zelle, die zu dem Zellenbereich gehört, der das Format veranschaulicht, den folgenden weiteren Schritt umfasst: • Festlegen von einem oder von einer Vielzahl von Folgendem für jede Zelle, die zu dem Zellenbereich gehört, der das Format veranschaulicht: • Hintergrundattribute; und/oder • Ausrichtungsattribute; und/oder • Schriftartattribute; und/oder • Zeilenattribute; und/oder • Schutzattribute.
  21. Verfahren nach einem der Ansprüche 19 bis 20, wobei der Schritt des Festlegens eines Zelleninhalts für jede Zelle, die zu dem Zellenbereich gehört, der das Profil veranschaulicht, den folgenden weiteren Schritt umfasst: • Festlegen für jede Zelle, die zu dem Zellenbereich gehört, der das Profil veranschaulicht: • eine Formel, wobei sich die Formel auf eine Zelle oder auf eine Vielzahl von Zellen bezieht; oder • einen Standardwert.
  22. Verfahren nach einem der Ansprüche 19 bis 21, wobei der Schritt des Festlegens eines Zelleninhalts für jede Zelle, die zu dem Zellenbereich gehört, der das Profil veranschaulicht, den folgenden weiteren Schritt umfasst: • Festlegen eines Zellenziels für jede Zelle, die zu dem Zellenbereich gehört, der das Profil veranschaulicht, wobei das Zellenziel angibt, ob die Zelle eine Eingabezelle zur Aufnahme eines Eintrags oder eine Ausgabezelle zur Erzeugung eines Ergebnisses ist.
  23. Rechnersystem, das ein Mittel umfasst, welches zur Durchführung der Schritte des Verfahrens nach einem der vorhergehenden Ansprüche ausgelegt ist.
  24. Rechnerprogramm, das Befehle zur Durchführung der Schritte des Verfahrens nach einem der Ansprüche 1 bis 22 umfasst, wenn das Rechnerprogramm auf dem System nach dem vorhergehenden Anspruch ausgeführt wird.
DE602004003230T 2003-04-18 2004-02-27 System und Verfahren in einer Datentabelle zur Erzeugung von rekursiven skalierbaren Vorlageninstanzen Expired - Lifetime DE602004003230T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP03368037 2003-04-18
EP03368037 2003-04-18
PCT/EP2004/003048 WO2004092977A2 (en) 2003-04-18 2004-02-27 System and method in a data table for creating recursive scalable template instances

Publications (2)

Publication Number Publication Date
DE602004003230D1 DE602004003230D1 (de) 2006-12-28
DE602004003230T2 true DE602004003230T2 (de) 2007-09-06

Family

ID=33186004

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004003230T Expired - Lifetime DE602004003230T2 (de) 2003-04-18 2004-02-27 System und Verfahren in einer Datentabelle zur Erzeugung von rekursiven skalierbaren Vorlageninstanzen

Country Status (6)

Country Link
US (1) US7636882B2 (de)
EP (1) EP1618491B1 (de)
CN (1) CN100367275C (de)
AT (1) ATE345533T1 (de)
DE (1) DE602004003230T2 (de)
WO (1) WO2004092977A2 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004007638A1 (de) * 2004-02-17 2005-09-01 Xapio Gmbh Verfahren zum Erzeugen von Quellcode in einer prozeduralen, reentrantfähigen Programmiersprache aus einer Spreadsheet-Darstellung
US7500179B2 (en) * 2004-08-04 2009-03-03 Microsoft Corporation Method for optimizing space allocation in table layout
SE0600876L (sv) * 2006-04-20 2007-10-21 Sandvik Intellectual Property Verktyg och skär för spånavskiljande bearbetning med primära och sekundära ingreppsmedel med rotationssymmetrisk form
US8024492B2 (en) * 2008-12-23 2011-09-20 Schneider Electric USA, Inc. System for managing a power monitoring system containing a multiplicity of intelligent electronic devices
US8291313B1 (en) * 2009-08-26 2012-10-16 Adobe Systems Incorporated Generation of a container hierarchy from a document design
US20110137917A1 (en) * 2009-12-03 2011-06-09 International Business Machines Corporation Retrieving a data item annotation in a view
US8375012B1 (en) * 2011-08-10 2013-02-12 Hewlett-Packard Development Company, L.P. Computer indexes with multiple representations
US20140075278A1 (en) * 2012-09-12 2014-03-13 International Business Machines Coporation Spreadsheet schema extraction
CN105786299B (zh) * 2014-12-22 2019-09-06 远光软件股份有限公司 一种信息处理方法及装置
CN109873684B (zh) * 2017-12-01 2021-05-18 联发科技股份有限公司 信号接收装置及其信号处理方法
CN113688298A (zh) * 2021-08-24 2021-11-23 北京房江湖科技有限公司 数据的呈现方法和存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5033009A (en) * 1989-03-03 1991-07-16 Dubnoff Steven J System for generating worksheet files for electronic spreadsheets
US5272628A (en) 1990-04-16 1993-12-21 Microsoft Corporation Method and system for aggregating tables having dissimilar formats
US5613131A (en) 1993-01-29 1997-03-18 Microsoft Corporation Auto-formatting of tables in a spreadsheet program
US5632009A (en) * 1993-09-17 1997-05-20 Xerox Corporation Method and system for producing a table image showing indirect data representations
FR2721728B1 (fr) 1994-06-28 1996-07-26 Bull Sa Procédé et dispositif de génération automatique de feuilles de calcul.
US5754858A (en) 1996-05-01 1998-05-19 Microsoft Corporation Customizable application project generation process and system
JP3058129B2 (ja) * 1997-07-04 2000-07-04 日本電気株式会社 データ計算装置及びプログラムを記録した機械読み取り可能な記録媒体
US6292811B1 (en) * 1997-09-19 2001-09-18 Modernsoft, Inc. Populating cells of an electronic financial statement
CN1111814C (zh) * 1998-04-06 2003-06-18 刘莎 开放式全息模板式人机对话语言翻译方法及全息语义标注系统
US7089256B2 (en) * 2000-07-11 2006-08-08 Knowledge Dynamics, Inc. Universal data editor
DE60130475T2 (de) * 2000-07-13 2008-06-19 Oracle International Corp., Redwood Shores Durchführung von kalkulationen eines tabellenkalkulationstyps in einem datenbanksystem
US7051276B1 (en) * 2000-09-27 2006-05-23 Microsoft Corporation View templates for HTML source documents
US6988241B1 (en) * 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
US7415664B2 (en) * 2001-08-09 2008-08-19 International Business Machines Corporation System and method in a spreadsheet for exporting-importing the content of input cells from a scalable template instance to another
US7246311B2 (en) * 2003-07-17 2007-07-17 Microsoft Corporation System and methods for facilitating adaptive grid-based document layout

Also Published As

Publication number Publication date
EP1618491A2 (de) 2006-01-25
CN1777887A (zh) 2006-05-24
WO2004092977A3 (en) 2005-08-18
DE602004003230D1 (de) 2006-12-28
US20060206497A1 (en) 2006-09-14
CN100367275C (zh) 2008-02-06
ATE345533T1 (de) 2006-12-15
EP1618491B1 (de) 2006-11-15
US7636882B2 (en) 2009-12-22
WO2004092977A2 (en) 2004-10-28

Similar Documents

Publication Publication Date Title
DE602004003139T2 (de) System und verfahren für eine datentabelle zur verwaltung von einfügeoperationen in rekursiven skalierbaren vorlageninstanzen
DE10135445B4 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
DE19842688B4 (de) Verfahren zum Filtern von Daten, die von einem Datenanbieter stammen
DE60008498T2 (de) Verfahren und System zum Addieren und Löschen von Elementen in einem Bereich von mit Namen versehenen Zellen entsprechend verschiedener Methoden in einem elektronischen Kalkulationsblatt
DE60308952T2 (de) Verfahren und System zur Anzeige und Verknüpfung von Gegenständen aus elektronischer Tinte mit erkanntem Text und Objekten
DE60016772T2 (de) Verfahren und system für die publikation und revision von hierarchisch organisierten sätzen von statischen intranet- und internet-seiten
DE60133343T2 (de) Verfahren und System in einem elektronischen Kalkulationsblatt für die Handhabung von benutzerdefinierten Optionen in einer Ausschneiden-Kopieren-Einfügen-Funktion
US7581189B2 (en) Dynamically generating a database report during a report building process
DE4216893C2 (de) Dateneingabeverfahren
EP1669852B1 (de) Verfahren und Computerprogramm zum Umwandeln eines Eingangs-Dokumentendatenstroms mit einem oder mehreren Dokumenten in eine strukturierte Datendatei
DE10120869A1 (de) Verwendung eines Index für den Zugriff auf eine mehrdimensionale Subjektdatenbank
DE4134419A1 (de) Dynamische entwurfsschnittstelleneinrichtung fuer leistungsfaehigkeit und konfiguration eines computersystems
DE602004003230T2 (de) System und Verfahren in einer Datentabelle zur Erzeugung von rekursiven skalierbaren Vorlageninstanzen
DE10150391A1 (de) Objektmodell und Verfahren zum Erfassen von Informationen
DE112013000987T5 (de) Erzeugen von Visualisierungen einer Anzeigegruppe von Tags, die Inhaltsinstanzen in Suchkriterien erfüllenden Objekten darstellen
DE19742804A1 (de) Computer-Verfahren und -Vorrichtung für interaktive Objektsteuerungen
DE112019002235T5 (de) Einbinden eines wörterbuch-bearbeitungssystems in ein text mining
DE69719641T2 (de) Ein Verfahren, um Informationen auf Bildschirmgeräten in verschiedenen Grössen zu präsentieren
DE19959765B4 (de) Datei-Editor für mehrere Datenuntermengen
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
DE10150387A1 (de) CAD-Datenmodell mit Entwurfsnotizen
DE102005032046A1 (de) Verfahren, System und Computerprogramm-Produkt zum Übertragen von Daten aus einer Dokumentenanwendung in eine Datenanwendung
DE60203525T2 (de) Vorrichtung und verfahren in einer büroapplikation zur bereitstellung von inhaltsabhängiger hilfeinformation
DE112010003948T5 (de) Auswerten von Objekten einer Grafischen Benutzeroberfläche zur Überprüfung von Standards
DE60310881T2 (de) Methode und Benutzerschnittstelle für das Bilden einer Darstellung von Daten mit Meta-morphing

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)