allegro Homepage

allegro-C

Anleitung zur Benutzung der Windows-Programme

Grün : Sofort ausprobieren   Braun : FLEXe   Rot : Begriffe   Magenta : Nur für C-Programmierer

2014-04-08

  Derselbe Text als DOC-Datei


Vollständige Quellenliste

a99 ist das Programm, mit dem man an einer Datenbank arbeitet, also z.B. zum Katalogisieren. (Ein Vorläufer war das DOS-Programm PRESTO.) 

alcarta ist das Online-Katalog-Programm des allegro-Systems für Windows (ab Win'XP). Es ist zugleich ein "Viewer" für allegro-Datenbanken und kann frei verbreitet werden, also z.B. indem man es auf CD mit einer Datenbank mitliefert. Es hat keine Schreibberechtigung und weniger Buttons und Menüpunkte.

Experten erfahren aus diesem Text auch, an welchen Stellen sie mit eigenen FLEX-Makros die Funktionsweise verändern und ausbauen können. FLEX ist die allegro-eigene Skript- und Makrosprache, in der u.a. alle Geschäftsgangsfunktionen bis hin zur Zeitschriftenverwaltung programmiert sind. Auch für die Web-Anbindung ist FLEX das wichtigste Arbeitsmittel.


Starten Sie nach der Installation die allegro DEMO, um alles genauer zu sehen und sofort auszuprobieren! 
Wo die Programme und Dateien liegen? Wählen Sie im Menü "Global" den Punkt "Datenbank-Information".

Für Systemverwalter: Man startet die Programme so:   (allegro.exe ist nur eine Kopie von a99.exe)

allegro.exe INI-Dateiname   bzw.   alcarta.exe INI-Dateiname
Tip: Man sieht es in der Desktop-Verknüpfung für die Demo-Datenbank: dort steht unter "Eigenschaften / Ziel":
C:\allegro\allegro.exe C:\allegro\demo2\orda.ini

Eine INI-Datei ist eine Textdatei, in der alle Einstellungen für die Arbeit mit einer bestimmten Datenbank stehen. Als Vorlage und Dokumentation dient die Datei  a99.ini. Geben Sie im Schreibfeld ein:  h a99.ini

Legen Sie sich eine Verknüpfung zur eigenen Datenbank an, indem Sie dieses Muster kopieren und den Namen Ihrer eigenen INI-Datei einsetzen.

Tip: Wenn Sie diese Einführung hinter sich haben, können Sie zu jedem Einzelthema mehr erfahren aus den Fortbildungsthemen 10 Minuten, die sich lohnen. Das sind 50 Lektionen; anfangen können Sie mit fast jeder davon.)

Beim ersten Durchgang durch diese Beschreibung können Sie sich auf ROT und GRÜN beschränken:

ROT : Wichtige Begriffe   ---   GRÜN : Wichtige Funktionen (sofort ausprobieren!)

Wer kein Interesse an der Programmierung hat, kann die Hinweise auf FLEXe und Quellprogramme ignorieren.
Hinweise auf die Quellprogramme sehen so aus: QUELLEN: dateinamen
QUELLEN
für den Umgang mit den Daten auf unterer Ebene: Klassenbibliothek (ac15) und Index-Kernfunktionen (aindex). Dafür existiert eine eigene Dokumentation, in a99 wie auch in acon werden sie einfach nur mit eingebunden.

 

  Die Hauptfunktionen

1. Das Hauptfenster
Hier ist das Programm a99 zu sehen (allegro.exe startet dieses Programm). Bei alcarta fehlen die unteren Reihen von Schaltflächen, das Schreibfeld und die Schaltflächen [Speichern] sowie der Menüpunkt "Löschen". (Die roten Namen sieht man in Wirklichkeit nicht, man sollte sie deshalb auswendig lernen. Sie sind wichtig.)

Altes Design
Das konventionelle, immer noch meistbenutzte Design (a99.exe)

QUELLEN: a99.cpp, a99.h, a99.rc   (letztere für das Layout)
Neues Design
Das Design mit mehr Anzeigefläche und Menü-Buttonleiste  (a99a.exe)

QUELLEN: a99a.rc statt a99.rc
Tip: Die Breite des Anzeigefeldes kann man mit  F11 ändern.

Die Bezeichnungen der Menüs und die Beschriftungen der Buttons sowie die (Fehler-)Meldungen des Programms stehen in der änderbarenDatei   uifeger im Programmordner von a99, d.h. die Texte sind ohne Eingriff ins Programm anwenderseitig jederzeit änderbar.

Zu jedem Element erscheint, wenn man den Mauszeiger draufsetzt, ein kleiner Hilfetext (sog. tooltip). Diese Texte stehen gleichfalls in der Datei  uifeger.


Die Alternative mit größerer Anzeigefläche (s.o. rechts) und Windows-üblicher Toolbar unter dem Menü gibt es seit V28. Dieses Programm wird als a99a.exe geliefert. 

QUELLEN: Nur die Ressourcendatei a99a.rc ist eine spezifische, entsprechend gibt es alcarta.rc , alle anderen Quelldateien sind identisch. 

  In einer Datei  program.h stellt man ein, welches Programm kompiliert werden soll. 


In dem großen Anzeigefeld jeweils auf der rechten Seite sieht man normalerweise einen einzelnen Datensatz.
(Tip: Wie dieser Satz angezeigt wird, das regelt die Anzeige-Parameterdatei. Im Admin-Menü sieht man, wie diese Datei heißt (Standard: d-wrtf.apr) und kann sie bearbeiten: h adm  eingeben.)
Im Anzeigefeld erscheinen aber nicht nur Daten, auch Hilfetexte und Menüs!
QUELLEN zum Anzeigefeld: ariched.cpp, ariched.h


Bei vielen Titeln erscheinen unter den Angaben zum Buch noch Links (blau und unterstrichen), die so aussehen wie die Links auf Internet-Seiten. Bei allegro heißen solche Links nicht Hyperlinks sondern Flips. Darauf klickt man, um die zugehörigen Angaben aufzublättern oder den zugehörigen Vorgang auszulösen (es kann auch ein Programmaufruf dahinterstecken). Anders als beim Internet: der Mauszeiger ändert hier beim Drüberfahren nicht seine Form, es wird keine Hand draus! (Leider nicht zu ändern.)

Wenn man sehen will, was eigentlich genau in in einem Datensatz steht: über den Button Anzeige (oder F5) kommt die interne Anzeige der Datenfelder. Nochmals F5 und es kommt wieder die Normalanzeige (die oben zu sehen ist).

Hinweis: Mit der rechten Maustaste im Anzeigefeld ruft man ein Kontextmenü mit einigen interessanten Funktionen hervor, die man gut gebrauchen kann, wenn man eigene Hilfetexte schreibt.
QUELLEN: aedit.cpp, Funktion OnRButtonDown()

Die Funktion "Eigenschaften" tut scheinbar nichts. Jedoch kann der versierte Anwender hier selber eine Funktion einbinden: einen FLEX namens  onprop.flx bereitstellen, der das Gewünschte ausführt. Die Funktion "Flip" macht aus einem markierten Wort einen Flip (mehr dazu: in a99  h flip  eingeben).


Das Schreibfeld, unter der Anzeige (fehlt in alcarta), dient zur Eingabe und Bearbeitung von Daten und Befehlen. Hilfe kommt mit  F1 (während der Cursor im Schreibfeld ist).  QUELLEN: aedit.cpp, aedit.h

Auch Menüs, Hilfetexte, ViewListen und FLEX-Skripte kann man hier direkt aufrufen: 

Geben Sie z.B. ein:  h super, h filelistv quick oder   X kalender.

Sonderfunktion: Wenn man ins Schreibfeld irgendeine URL eingibt, mit  http://  beginnend, öffnet sich das JanaS-Browserfenster (ein ansonsten eigenständiges Programm) und zeigt die Webseite an!

Tip: Wenn man hier etwas eingibt, was keine Datenkategorie ist und kein gültiger Befehl, dann wird der FLEX  onerror.flx  ausgeführt. Systemverwalter können dies ausnutzen und darin eigene Funktionen unterbringen, die dann über das Schreibfeld bequem auslösbar werden.


Wie korrigiert man ein Datenfeld?

Das geht so: Links in der Liste das Datenfeld auswählen - Enter - Bearbeiten (im Schreibfeld) - Enter (Hintergrund wird gelb). Hat man alles bearbeitet: Button [Speichern] drücken, gleichwertig Alt+s

Wenn Sie eine Formulareingabe vorziehen: siehe dazu Punkt 18.

 

2. IndexButton(Alt+i) - Der Index

Hier wurde gerade der Index-Button oder  Alt+i  gedrückt und "shakespeare" aufgeblättert:

Hauptfenster mit Indexfenster  

Tip: Die Breite des Indexfensters kann man mit der Maus ändern und mit F11.

QUELLEN:

winx.cpp, winx.h


Eine Datenbank kann, zum Suchen und zum Blättern, bis zu 10 Register haben, für interne Zwecke gibt es noch ein elftes.

Man gibt also einfach ein, was man sucht: sobald man den ersten Buchstaben tippt, geht der Cursor von selber in das Eingabefeld, an dem "Beginn bei:" steht – da gibt man ein, wo der angezeigte Ausschnitt beginnen soll. Im Beispiel wurde gerade "goethe" eingegeben, aber noch nicht [Enter] gedrückt, sonst wäre der Abschnitt unter "goethe" schon erschienen.

Die Buttons [1] bis [10] schalten direkt zwischen den verschiedenen Registern um, wobei immer zum gleichen Alphabetabschnitt gegangen wird; wenn man also z.B. im obigen Beispiel [4] drückt oder Alt+4, wird zum Titelregister geschaltet, und zwar zu den Titeln, die mit "shakespeare" beginnen (es gilt dabei die Zeile, auf der der Balken steht).

Die DemoBank hat folgende Register:  QUELLEN: Indexparameter (Standard: cat.api)

1. Namensregister (Namen von Personen)

2. Körperschaftsnamen (Institutionen, Firmen, Städte, Länder, Staaten)

3. Wortregister  (Titelwörter und Schlagwörter)

4. Titelregister (Anfänge der Buchtitel)

5. Reihentitel (Titel von Zeitschriften und Serien)

6. Orte, Verlage, Erscheinungsjahre

7. Klassifikation  (Dezimal-, Basis-, oder andere Klassifikation)

8. Signaturenregister (Regalstandorte der Bücher)

9. Nummernregister, vor allem ISBN (Internationale Standard-Buch-Nummer)

(Tip: Welche Register es gibt, welche Felder dort erscheinen und wie das alles aussieht, das regelt die Index-Parameterdatei. Bei der DemoBank heißt sie cat.api. Siehe Admin-Menü! Meistens gibt es zusätzlich mehrere Register mit symbolischen Namen, z.B. PER und TIT. Diese sind in der Auswahlliste dann oben zu finden.)

Ergebnismenge durchblättern: Man wählt eine Zeile im Register aus und drückt die Eingabetaste. Der zugehörige Datensatz erscheint in der Anzeige. Wenn mehr als eine Eintragung zu der Zeile gehört (siehe oben: 73 Einträge unter "shakespeare, william"), sieht man die Kurzliste der Ergebnisse und kann darin blättern (mehr zu Ergebnis-Kurzlisten unten unter 5.)
 

Mit den Tasten [Esc] oder [Alt]+i schließt man das Indexfenster.

Tip: Mit  [Alt]+j  kann man ein zusätzliches Indexfenster öffnen (auch ==> Menü "Finden / Index 2").
 

Der Button [?] bringt spezifische Hilfe zu dem betreffenden Register. Mit Taste F1 erhält man dagegen allgemeine Hilfe zu den Registerfunktionen, z.B. zum Trunkieren. 

Das Trunkieren ist leicht: Man gibt entweder ein ? hinter dem eingegebenen Wort, etwa "goethe?", oder man drückt z.B. im Namensregister ein Komma, im Serienregister ein Semikolon, um an der betreffenden Stelle (Komma bzw. Semikolon) die Zeilen abzuschneiden. 
 

Mit dem Button [List] wird der angezeigte Registerabschnitt in das Anzeigefeld kopiert, beginnend mit der Zeile des Balkens. Wozu? Nun, im Anzeigefeld kann man markieren und kopieren (z.B. zur Übernahme in WORD mit Strg+a, Strg+c, Strg+v). Manchmal will man einen interessanten Abschnitt einfach mal als Text haben.

Für Experten:

Nachfolgend ist jeweils angegeben, ob man den betr. Button oder die Funktion durch ein FLEX-Makro verändern kann.
Es ist dann in beiger Schrift der Name des FLEXes angegeben, z.B. onfind.flx

Mehr zum Thema FLEX:  h flex eingeben
(dann "FLEXe für Systemfunktionen")

3. Find-Button(Alt+f) Suchen mit logischen Kombinationen       [onfind.flx  wird nicht mitgeliefert]

Mit diesem Button öffnet man ein Formular, in das man Suchbegriffe eingeben kann, die logisch verknüpft werden sollen.

Mit [vorh. Suche] holt man die Angaben zurück, die bei der vorherigen Suche eingetragen wurden. 

[Löschen] macht alle Eingabefelder wieder frei für eine neue Suche. Mit dem Eingabfeld unten links kann man eine Suche innerhalb der momentanen Ergebnismenge veranlassen. 

Tip: Die Namen der Register ("Personennamen", "Titelwörter",...) stehen in der Index-Parameterdatei. Im Demo- und Standardmodell ist das die Datei  cat.api. Die Zeilen beginnen mit einem großen I. Die "Einschränkungen" (Restriktionen) sind definiert in Zeilen, die mit R beginnen.
Tip: Mit  F1  erhält man auch hier ausführliche Hilfe.

 

QUELLEN:
wfind.cpp, wfind.h

Gesucht wird stets in den alphabetischen Registern (s.o. 2. Index). Zusätzlich gibt es auch eine, allerdings langsamere, Volltextsuche, s. im Menü unter "Finden".

Das Suchformular ist eigentlich aber nur eine bequeme Hilfe zum Erstellen von Suchbefehlen. Mit der direkten Eingabe von Befehlen in der Suchbefehlszeile hat man dazu noch mehr Möglichkeiten:



4. Suchbefehlszeile : Expertensuche

Dieses Eingabefeld, am unteren Rand des Hauptfensters, ermöglicht die direkte Eingabe von Suchbefehlen, wenn man die Registernamen kennt.
Heißer Tip: Wenn es ein ALL-Register gibt, wie bei der Standard-Datenbank, kann man in dieses Feld auch einfach beliebige Wörter eingeben, einschl. Vornamen und Nachnamen, und das Programm macht dann damit eine kombinierte UND-Suche. Mehr noch: wenn das nichts ergibt, wird automatisch trunkiertes Suchen versucht.
(Auch hier: Hilfe mit F1)

Beispiel: 

     Suchbefehl: per shakesp? and (tit drama? or tit tragedy or tit Tragödie)


Die (symbolischen) Namen der Register erfährt man über das Menü "Global / Datenbank-Information". Für das Standardsystem hat man diese Liste:

ALL = Alle Wörter

PER = Personennamen

TIT = Titelwörter, Schlagwörter

TAF = Titelanfänge

KET = Körperschafts-Namen

KON = Kongreß-Ort,Jahr

SER = Serientitel ; Nummer

VOJ = Verlag, Ort, Jahr

CLA = Klassifikation

SIG = Signatur

DIS = Dissertationen unter Ort,Jahr

FSC = Festschrift-Empfänger

WRK = Gesammelte Werke

PPN = IdNummern

ISB = ISBN

ZDB = ZDB-Nummern


QUELLEN: wfind.cpp, wfind.h  (und  onfnda99.flx)


5. Ergebnismengen (Alt+e) (Auch Menü "Ansicht : Alle Erg.Mengen")

Im Auswahlfeld erscheint dann die Liste der momentan noch vorhandenen Ergebnismengen; ganz oben immer die Lesezeichendatei (engl. Bookmarks), als zweites die Liste der automatisch vom Programm registrierten "Vorher angezeigten Daten" (engl. History List). Anschließend kommen die Ergebnislisten, die vom Nutzer während der Sitzung erstellt wurden, und zwar bis zu 50 Stück.

Jede Liste kann mit der [Entf]-Taste beseitigt werden, noch wirkungsvoller ist aber zum Aufräumen der "Besen" , der alle Ergebnismengen auf einmal beseitigen kann.

Wenn man eine der Listen auswählt und [Enter] drückt, wird sie als Kurzübersicht angezeigt. 

So sieht eine Ergebnismenge aus:
(Tip: Wie die Kurzzeilen aussehen, das regelt ebenfalls die Index-Parameterdatei, im Abschnitt #-0. Aber man kann eigene Kurzlisten gestalten mit dem View-Konzept: h view eingeben!)


QUELLEN:
wkv.cpp, wkv.h 

Tip: Die Breite dieses Fensters kann man mit der Maus ändern und mit F11.
Ausführliche Hilfe kommt auch hier mit F1

Dieses Fenster bietet folgende Möglichkeiten:

· Mit den Buttons [<<] und [>>] verschiebt man den Sortierpunkt (dreieckige Marke) an die gewünschte Stelle (damit das schnell geht: den Button nur einmal anklicken, dann Taste [Enter] drücken und festhalten). Setzen Sie die Marke z.B. auf das V von "Verf.", um  nach den Verfassernamen zu sortieren. 

· [Sort] betätigen: Liste wird an der gewählten Stelle sortiert.

· [Auf/Ab] um die Sortierrichtung umzukehren.


Was man oben sieht, ist die Ergebnismenge zu der Registerzeile "shakespeare, william *", das sind die Titel mit Shakespeare als Thema (sieht man an dem Sternchen).


6. History List 

Während einer Sitzung merkt sich das Programm, so ähnlich wie ein Browser, alle Datensätze, die man aufgeblättert hat. Auf Englisch wird so etwas "History List" genannt, hier heißt es  Vorher angezeigte Daten

Mit den Schaltflächen History List Back und History List Forward (unten links) bewegt man sich rückwärts und vorwärts in der Liste der vorher angezeigten Daten. Mit Alt+CursorLinks bzw. Alt+CursorRechts kann man diese Buttons auch per Tastatur auslösen.
(Mit dem Besen kann man die History List auch beseitigen.
QUELLEN:  acleanup.cpp, acleanup.h)

Dasselbe gilt für Hilfetexte: Wenn statt Datensatz ein Hilfetext in der Anzeige steht, kommt man mit denselben Pfeiltasten zurück bzw. vorwärts zum vorigen bzw. nächsten Hilfetext.


7. [Neues Lesez.
(engl. "Add Bookmark") Mit dieser Schaltfläche wird der gerade angezeigte Datensatz zur Liste der Lesezeichen hinzugefügt. Wenn es ein Hilfetext ist, kommt er in die Liste der Hilfetexte, die man sich merken will – es gibt dann die Möglichkeit, diesem Hilfetext eine eigene Bezeichnung zu geben.
Die Lesezeichen bilden eine besondere Ergebnismenge, die man jederzeit auch über die Schaltfläche [Lesez.] aufblättern kann: steht in dem Moment ein Datensatz in der Anzeige, kommt die Liste der gemerkten Datensätze, ist ein Hilfetext in der Anzeige, kommt die Liste der gemerkten Hilfetexte.

8. Rückwärts / Vorwärts in der Ergebnismenge /

(rechts unten; gleichwertig: Alt+u / Alt+l)

Damit kann man, ohne die Ergebnis-Kurzliste erst wieder aufzublättern, den vorigen / nächsten Datensatz aus der momentanen Ergebnismenge abrufen. 

Der Name der momentanen Ergebnis­menge steht immer auf der langen Schaltfläche unten in der rechten Hälfte; mit dieser Schaltfläche oder Alt+ü erhält man immer sofort die Kurzliste wieder angezeigt.
(Die Pfeile links unten beziehen sich auf die vorher angeschauten Datensätze, unabhängig von den Ergebnismengen.)




Die anderen Buttons

Tip: Die Beschriftungen der Buttons (und auch die Menüzeilen, Fehlermeldungen etc.) kann man ändern! Sie stehen in der Datei  uifsger.
QUELLEN:  utility.cpp, Funktion uifread(),  
Tip: In den CPP-Programmtexten kann man leicht die Stelle finden, wo eine bestimmte Meldung erzeugt wird; man nimmt deren Nummer, z.B. 485, und sucht nach  
uif[485].


9. Drucken Drucker      QUELLE: onprint.flx

Man erhält ein Auswahlmenü. Was immer gerade im Anzeigefenster steht, kann mit dieser Schaltfläche sofort abgedruckt werden:

×                       der aktuelle Datensatz

×                       ein Hilfetext

×                       die Kurzliste der momentanen Ergebnismenge

×                       die Liste der Ergebnisse in Vollform
         (Menü
Ansicht / Aktuelle Erg.Menge in Druckform)


10. Tür zur Welt Tür zur Welt
(Aktivieren eines externen Programms)       _door.flx

Diese Schaltfläche ist dafür vorgesehen, ein externes Programm zu aktivieren. Der Systemverwalter kann hier jedes andere Programm anbinden. Ab V24 startet hier normalerweise ein Zusatzprogramm namens JanaS.EXE, das praktisch einen Web-Browser enthält - JanaS ist aber in der Lage, seinerseits wieder a99 zu aktivieren. (Der Name leitet sich ab von "Janus-allegro-System", weil es sich quasi um ein doppelgesichtiges Progamm handelt.)


11. HelpButton Hilfe zur Datenbank

Der Datenbank-Betreuer kann eigene Hilfetexte erstellen. Die Hauptseite (<datenbankname>.rtf) erscheint dann beim Klick auf diese Schaltfläche. Bei der DemoBank ist das  cat.rtf , denn cat ist der Datenbankname.

 


Die folgenden Schaltflächen bzw. Menüpunkte hat nur a99
. Die unterstrichenen Buchstaben sind jeweils mit Alt einzugeben, um die Funktion per Tastatur auszulösen. Geheimtip: Das geht auch in alcarta, außer Speichern und Löschen, nur sieht man die Buttons eben nicht!


12. [Speichern]     
onput.flx

Ein bearbeiteter oder neuer Datensatz kann hiermit sofort abgespeichert werden. Wenn man ohne Speichern zum nächsten Satz übergeht, merkt sich das Programm aber den geänderten Datensatz im "Offline"-Speicher (siehe 20.). Am Ende der Sitzung fragt es dann, ob man die geänderten und neuen Sätze noch speichern will, d.h. es geht nichts verloren, wenn man zwischendurch das Speichern mal vergisst.


13. Im Menü: [Löschen]
Bei Offline-Sätzen:[Deaktivieren]      onerase.flx

Der gerade angezeigte Satz wird in der Datenbank gelöscht. Wenn es ein noch nicht gespeicherter neuer Satz ist, wird er ungültig gemacht, damit er am Ende nicht gespeichert wird, wenn das Programm alle noch nicht gespeicherten Sätze sichert.

Nochmaliger Druck auf diese Funktion aktiviert den Satz wieder. Besser gesagt: Der Menüpunkt ändert sich in "Aktivieren", wenn ein gelöschter bzw. ungültiger Satz gezeigt wird.


14. [Jndex]
(unsichtbarer Button)

Hiermit, also mit  Alt+j, kann man ein zweites Indexfenster öffnen. Dieses funktioniert unabhängig vom ersten, aber ansonsten genauso. Man öffnet und schließt die beiden Indexfenster am schnellsten mit [Alt+j] und [Alt+i]. Auch dieses Fenster kann man mit F11 breit machen.


15. [Reserve]

schaltet das Auswahlfeld zwischen dem Datensatz und dem Hintergrundspeicher hin und her. Der Hintergrundspeicher wird in Kursivschrift angezeigt, um Verwechslungen  zu vermeiden.
Wichtig: Wenn man im Auswahlfeld plötzlich nicht mehr die Kategorien des Datensatzes sieht, sondern z.B. die Liste der Erg.Mengen, dann diesen Button drücken!

Mit [Alt+k] (kopieren) kann man Felder zwischen beiden Speichern kopieren. Für Experten: Im Hintergrundspeicher sieht man auch die Uservariablen (#u...). Diese können, anders als beim DOS-Programm, über das Schreibfeld ebenfalls verändert oder neu eingegeben werden.


16. [Schema]
(unsichtbarer Button, Auslösung:  Alt+y)

zeigt im Listenfeld die Liste der erlaubten Kategorienummern. Nochmaliges Alt+y schaltet auf die Abfrageliste um, die man während der Eingabe eines Datensatzes benutzen kann. Von hier wieder zum Datensatz:  Alt+r (Button [Record] )


17. [Neusatz] (oder F9)   
oninput.flx

Man hat die Wahl, eine Kopie des gerade angezeigten Satzes zu machen oder aber einen ganz neuen Datensatz einzugeben, mit oder ohne Formular. Wählt man "ohne Formular", erscheint links im Listenfeld die Abfrageliste - das ist etwas für die Kenner des alten DOS-Systems. Man wählt den Satztyp aus und beginnt mit der Eingabe. Die meisten Anwender aktivieren aber die Schaltfläche [Form. #] und füllen das geeigete Formular aus:


18. [Form. #]
(oder Alt+#)    onforms.flx

Zum Bearbeiten des momentanen Satzes! (Zum Anlegen eines neuen Satzes siehe 17.) Wenn für die Datenbank eine Formulardatei angelegt wurde, erscheint das Formularfenster und darin einige Datenfelder des momentanen Datensatzes: (welches von mehreren Formularen man bekommt, das steuert das Makro onforms.flx)


QUELLEN:  aform.cpp, aform.h,

Eingabefelder (auch in anderen Fenstern):
 
   getl.cpp, getl.h
ComboBox (auch in anderen Fenstern):  
   acombo.cpp, acombo.h


Die oberste Zeile ist eine Combo-Box: darin kann man unter mehreren Formularen auswählen. Das jeweils gewählte wird dann mit den Daten des aktuellen Satzes gefüllt. Mit [Enter] oder [TAB] geht der Cursor in das nächste Feld.
Mit [Ende] wird das Formularfenster zugeklappt und alle Felder in den aktuellen Datensatz übertragen.
Mit [?] kommt allgemeine Hilfe zum Formularfenster, mit F1 ein Hilfetext zum Datenfeld, in dem der Cursor steht.


[Copy] kopiert den Inhalt des Eingabefeldes aus dem aktuellen Datensatz ins Formular. Das braucht man nur, wenn während des Schreibens der Inhalt des Feldes versehentlich zerstört wird. [Get] macht das gleiche, aber für alle Felder des Formulars auf einmal.

[Reserve] kopiert das entsprechende Feld aus dem Reservespeicher ins Formular. (Mehr zum Reservespeicher: h resrv  eingeben.)

[Index] blättert das Register auf, und zwar kann in der Formulardatei eingestellt sein, welches Register für das jeweilige Eingabefeld zuständig ist. Hat man im Feld schon etwas eingegeben, z.B. "goet" im Feld "Verf.Name", dann kommt das Register an genau diesem Punkt zum Vorschein. Der Systemverwalter kann einem Feld auch statt eines Registers eine ViewListe zuordnen.

Mit [+] und [-] kann man bei mehrfach belegten Feldern das nächste bzw. vorige erscheinen lassen! Wenn es kein nächstes gibt, kommt ein leeres, das man dann ausfüllen kann.

Jedes Formular hat bis zu 14 Felder, 10 lange und 4 kurze. Da man mehrere Formulare hintereinander aufklappen kann und sämtliche Eingaben in denselben aktuellen Satz gehen, bedeuten diese Zahlen keine Einschränkung, sondern ermöglichen, die Formulare zu gruppieren und übersichtlich zu machen.

Tip: Der Kenner hat die Möglichkeit, in jedem Eingabefeld auch andere Felder einzugeben: man setzt einfach die Kategorienummer mit # vorn vor den Text. Wenn man z.B. weiß: #71 ist die Nummer für die Auflage, kann man in ein unbenutztes Feld eingeben: #71 2. Aufl.
Tip: Die Formulardatei heißt normalerweise cat.frm. Sofort editieren (auch neue Formulare anlegen) kann man sie über das Admin-Menü: h adm eingeben, "Formulardatei" wählen.

Anm.: Oft wird von "Eingabemasken" gesprochen. Warum, wissen wir nicht. Es ist ein Formular, ein anderer Name ist nicht nötig.


19. [Wechseln]  oder Alt+w

Dieser Button ist so etwas wie eine "Undo"-Funktion. Er schaltet den aktuellen Datensatz zurück zum Originalzustand - so wie er momentan in der Datenbank wirklich steht. Denn Veränderungen, die man macht, werden nicht sofort gespeichert! Vielmehr bewahrt das Programm alle veränderten Sätze in einem Offline-Speicher auf. Erst am Ende der Sitzung werden dann die noch nicht gespeicherten Sätze endgültig gespeichert - wenn man nicht vorher einen Satz mit [Speichern] ausdrücklich abgespeichert oder mit [Wechseln] doch wieder den Originalzustand eingeschaltet hat! Tip: Wenn man mehrfach hintereinander auf [Wechseln] drückt, kann man in schneller Folge den Originalsatz und den veränderten sehen und so beide unmittelbar vergleichen.

Ein veränderter, aber noch nicht gespeicherter Satz erscheint übrigens mit gelbem Hintergrund - daran erkennt man sofort: man hat einen noch nicht gespeicherten Zustand vor sich. Speichert man einen Satz, dann tauschen dabei die alte und die neue Form die Plätze, d.h. mit Alt+w sieht man wieder den alten Satz vor sich, nun aber auf gelbem Hintergrund. Dann nochmals [Speichern] drücken, und die alte Form ist wieder gültig! Expertentip: Im FLEX kann diese Funktion mit undo ausgelöst werden.

 

20. [Q : Daten in Bearbeitung  oder Alt+q

Hiermit kann man sich jederzeit die im Verlauf der Sitzung "angefaßten" Sätze anschauen: man sieht dazu die Kurzzeilen. So findet man sofort jeden Datensatz wieder, den man vorher in Bearbeitung genommen, aber noch nicht abgespeichert hatte, weil andere Aktionen dazwischen kamen: es steht EDT vor der Kurzzeile, und vor gelöschten steht DEL.

Mit den beiden zugehörigen Buttons [Voriger] und [Nächst.] kann man auch rück- und vorwärts zwischen den vorher bearbeiteten Sätzen blättern, ohne die Liste zu öffnen.

 

21. Flip-Buttons 1 - 8

Die 8 Buttons unter dem Auswahlfeld, links neben dem Schreibfeld (bei a99a oben rechts neben dem Menü) können beliebig beschriftet und mit Funktionen belegt werden. Wenn z.B. der Button 1 mit Alt+1 ausgelöst werden soll, geht das nur, wenn auf ihm eine unterstrichene 1 steht! Das erreicht man durch Einsetzen von &1 in den Text, der auf dem Button erscheinen soll. Zum Belegen der Buttons gibt es den FLEX-Befehl  flip. Hinweis: In der FLEX-Datei  _start.flx  sieht man die Standard-Belegung. Man kopiert sich diese Datei auf das eigene Datenverzeichnis und ändert die Belegung nach Wunsch. Es gibt übrigens auch die Buttons 9 und 10, sie sind nur unsichtbar und normalerweise unbelegt. Mit Alt+9 und Alt+0 werden sie aktiviert, wenn sie belegt sind. Bei der ausgelieferten Einstellung sind Alt+4 (Quick) und Alt+8 (DbInfo) besonders interessant - einfach mal probleren!

 

22. Alt+m  (unsichtbarer Button)

In drei Situationen anwendbar:

  1. Hierarchischen Untersatz markieren: Wenn gerade der Balken links auf der Kategorie #01 eines Untersatzes steht: dieser Untersatz wird markiert.
  2. Hierarchischen Untersatz verschieben: Wenn der Balken innerhalb eines Untersatzes steht (also nicht auf seiner #01): der vorher markierte Untersatz wird hinter denjenigen verschoben, in dem sich der Balken befindet
  3. Sonderzeichen einfügen: Nur wenn die Schreibmarke gerade im Schreibfeld ist: Hilfsseite mit den Sonderzeichen wird angezeigt. Man setzt die Schreibmarke vor dasjenige Zeichen, das man gerade braucht, dann nochmals Alt+m und das Zeichen wird ins Schreibfeld kopiert, wo gerade vorher die Schreibmarke stand.

 

23. Funktionstasten [F2] ... [F12]     onf2.flx ... onf12.flx  QUELLEN:  a99.cpp (OnFunKey())

Die Funktionstasten außer F1 und F10 können im Prinzip frei belegt werden, aber ein paar Vorbelegungen haben sich als sinnvoll erwiesen:  (F1, F5 und F7 haben im DOS-Programm dieselben Funktionen!)
F1 : Kontextabhängige Hilfe
F2 : Cursor in das Anzeigefeld setzen
(wenn er in der Auswahlliste steht)
F5 : Anzeige umschalten (zwischen interner und externer Struktur)
F6 : Indexfenster öffnen/schließen
F7 : Registereinträge zum aktuellen Satz anzeigen  
(auch wenn er noch nicht gespeichert ist)
F8 : Funktionen zum aktuellen Datensatz (wenn onf8.flx fehlt: Hintergrundspeicher in die Anzeige kopieren (#u-Variablen))
F10: Menü "Datei" wird aktiviert
(oben links, danach Cursor runter oder Cursor rechts)
F11: Anzeigefeld breit/schmal schalten
(gilt auch für Kurzlisten- und Indexfenster)
F12: Tastatur-Hilfe (Liste der Tastenfunktionen anzeigen) [Quelle:  Datei  he_sp

Manche davon tun es in dem einen oder anderen Unterfenster nicht oder sind dort nicht sinnvoll.



Das Menü

alcarta hat nicht alle diese Menüpunkte, sondern nur die mit * markierten
QUELLEN:  a99.rc (MENU IDR_MENU1), a99.cpp, Abschnitt BEGIN_MESSAGE_MAP...

Datei 

· * Weitere Datenbank öffnen  (Anschließend hat man ein weiteres alcarta- bzw. a99-Fenster) _otherdb.flx

· Schließen (nur die Datenbank, ohne das Programm zu beenden)

· Alle bearb. Daten speichern - alle während der Sitzung bearbeiteten, aber noch nicht mit Buttopn [Speichern] gesicherten Sätze werden gespeichert

· Ergebnismenge -> Datenbank - Diejenigen Sätze der aktuellen Ergebnismenge, die verändert wurden oder neu sind, werden gespeichert (bei glob. Ersetzungen)

· Offline-Datei -> Datenbank - Wenn es Offline-Daten gibt, werden diese alle als neue Datensätze in die Datenbank überführt (Hilfe: h off )

· * Anzeige speichern als –  Den Inhalt des Anzeigefensters kann man als Textdatei abspeichern!      ondfile.flx

· * Anzeige ausdrucken - macht dasselbe wie der Drucker-Button

· * Seite einrichten – um die Ränder der Druckseite einzustellen

· * DOS-Programm - (nicht in Win'7/64bit) startet in einem Fenster das konventionelle Programm APAC, wobei dann als erstes derselbe Registerabschnitt erscheint wie in a99/alcarta      _rs.flx  / _as.flx

· * Externe Datei laden - Es wird nachgesehen, ob es eine Datei EXTERN.DAT gibt. Wenn ja, wird sie wie eine Ergebnismenge präsentiert. Sie kann aus einem anderen Programm heraus entstanden sein, z.B. einem Z39.50-Client. Solche Dateien müssen im allegro-Intern- oder -Externformat strukturiert sein (Handbuch Kap. 0.2.2)

· Weitere Offline-Datei laden       onoffl.flx
In einer Windows-Dateiauswahlbox kann man nach Dateien des Typs .ALG und .ADT suchen. Die ausgewählte Datei wird als Offline-Datei geladen und als Offline-Ergebnismenge gezeigt. Die Sätze können bearbeitet und in die Datenbank gespeichert werden.

· * Normalposition – Das Fenster wird auf seine normale Position und Größe gesetzt (oben links)

· * Beenden - Programm verlassen. Wenn noch ungespeicherte Sätze vorliegen, wird man aufmerksam gemacht.


Bearbeiten 

· * Alles markieren - Dasselbe wie [Alt]+a im Anzeigefenster: anschließend kann mit [Alt]+v der gesamte Anzeigebereich in die Zwischenablage kopiert werden.

· Extern - Der aktuelle Datensatz wird in die Datei EXX.XXX geschrieben (Export mit E?W.APR) und mit dem externen Editor (X-Editor, s. a99.ini) zum Bearbeiten vorgelegt. Bei Rückkehr aus dem externen Editor wird gefragt, ob der externe Satz geladen werden soll; er ersetzt dann den aktuellen Satz im Arbeitsspeicher.

· Read  - Die Datei E.ADT wird geladen und in den aktuellen Satz eingemischt. Das ist eine Erfassungshilfe.
In E.ADT können beliebige Angaben im Externformat stehen. (Auch: Alt+ä )

· Neuaufnahme - Siehe Schaltfläche [Neusatz]

· Eingabe-Formulare - siehe Schaltfläche [Form.#]

· Markieren/Verschieben - nur bei hierarchischen Sätzen anwendbar. Wenn der Cursor im Listenfeld auf einem Feld #01, #02 ... steht, wird dieses markiert. Wenn er innerhalb eines Untersatzes steht (also nicht auf dessen #01...) wird der vorher markierte Untersatz dahinter verschoben. Wenn er nicht verschoben, sondern kopiert werden soll, benutzt man den nächsten Befehl:

· Kopieren - Nur bei hierarchischen Sätzen: Wenn vorher ein Untersatz markiert wurde, wird dieser nun hinter denjenigen Untersatz kopiert, in dem gerade der Cursor steht.

· Satz freigeben Nur wichtig, wenn ein Satz zum Schreiben gesperrt ist, was selten vorkommt.

 

Ansicht 

· * Aktueller Satz in Druckform - Für die Druckanzeige werden andere Parameter benutzt, wobei z.B. die für das Drucken nicht gewünschten Flips entfallen, aber auch die gesamte Struktur anders aussehen kann als bei der OPAC-Anzeige. Welche Parameter? Das steht in der INI-Datei im Befehl  PrintParameter=...

· * Aktuelle Erg. Menge in Druckform - Die gesamte Ergebnismenge wird in der Druckform gezeigt.   onviewrs.flx.  Darin kann die Schriftgröße eingestellt werden, das ist in der Datei kommentiert.

         Tip: Die Liste steht dann in einer Datei  onviewrs.rtf, die man auch mit WinWord einlesen kann.

· * Kurzliste der Erg. Menge - Macht dasselbe wie der Button [List] im Ergebnisfenster (siehe 5.).

· * Internformat - Der aktuelle Satz wird in kategorisierter Form gezeigt. Gleichwertig: F5

· Index 2 - Ein zweites Indexfenster wird geöffnet. Es hat dieselben Funktionen wir das erste.
Mit [Alt]+i und [Alt]+j kann man jederzeit jedes der beiden Fenster öffnen und wieder schließen 

· * Anzeigeparameter wechseln - Bei a99 kann man in der Dateiauswahl-Box eine Datei des Typs D-*.cPR auswählen, die dann geladen und für die Anzeige benutzt wird. Bei alcarta wird die in der .INI-Datei eingestellte Anzeigeparameterdatei neu geladen und die Anzeige damit neu aufgebaut. Gedacht nur zum schnellen Testen der Anzeigeparameter.

· * Alle Erg.mengen - Gleichwertig ist Alt+e, siehe oben 5.
Man erhält im Listenfenster die Liste der Ergebnismengen. Bei alcarta steht diese ständig dort, es sei denn man benutzt Alt+r oder Alt+a

· Hintergrundspeicher / Datensatz anzeigen - gleichwertig ist Alt+r. Siehe [Reserve]

· Datensatz anzeigen – Wenn links etwas anderes steht als die Felder des Datensatzes (auch: Alt+r)

· Views -  Ein Verfahren zum Erstellen von eigenen Sichten (für Ergebnismengen)

· Registereinträge – Die zum aktuellen Satz gehörigen Einträge werden gezeigt - dasselbe wie  F7

· * Letzter Hilfetext / Datensatz – Wenn man nochmal zurück will zu dem zuletzt angezeigten Hilfetext bzw. Datensatz. 

     Will man nur den aktuellen Satz neu angezeigt bekommen: F5

 

Finden 

· * Finde-Menü - Dasselbe, wie wenn man den Fernglas-Button betätigt

· * Index 1 - Dasselbe wie beim Index-Button

· * Index 2 - Dasselbe wie bei Alt+j : das zweite Indexfenster.

· * Volltextsuche - Man erhält ein Menü und kann wählen zwischen dem Durchsuchen der gesamten Datenbank bzw. der momentanen Ergebnismenge. Die Suchmöglichkeiten sind beschrieben in einem eigenen Text   fulltext.flx  QUELLEN: regex.cpp, regex.h, re_fail.cpp


Export

Exportieren kann man mehrere Dinge:

· * Aktueller Satz – den, der gerade angezeigt wird    onexprec.flx

· * Aktuelle Ergebnismenge – deren Name auf dem länglichen Button unten rechts steht    onexpset.flx

· * Kurzliste der Erg. Menge schreibt die Kurzzeilen aller Sätze in die Ausgabedatei in eine Datei brief.rtf, die man z.B. mit WinWord einlesen kann.

· Ganze Datenbank – Sämtliche Sätze in die Exportdatei schreiben

· Ganze Offline-Datei

Exportiert wird mit den Parametern E-W.APR in die Datei OUTPUT.DAT. Beides kann in der INI-Datei anders eingestellt, aber auch über zwei weitere Menüpunkte jederzeit geändert werden:

· * Andere Exportdatei – Wenn in eine andere Datei statt OUTPUT.DAT geschrieben werden soll.   onxportf.flx

· * Andere Exportparameter – Wahl einer anderen Struktur der Ausgabedaten (Kap. 10)   onxportp.flx

· * Exportdatei löschen – Damit kann man bequem die Ausgabedatei beseitigen

· * Komfort-Methoden – Es kommt ein Menü (Textdatei exprtger.rtf) aller zusätzlichen Exportfunktionen, z.B. zur Erstellung von Tabellen oder ViewListen. Dazu gibt es ausführliche Hilfe.


Extras (nur in a99)

Das Menü hat zwei Teile: "Offline-Datei" und "Datenbank (ONLINE)". Jeder Menüpunkt liefert eine spezielle Ergebnismenge. Gedacht ist das Ganze zur Unterstützung der Bearbeitungsfunktionen. Normalerweise wird man meistens den länglichen Button [Q -: Daten in Bearbeitung] mit Alt+q aktivieren, um die momentan in Arbeit befindlichen Sätze zu sehen! Bei längeren Sitzungen sind aber diese detaillierten Funktionen von Interesse:

[Offline-Datei] (Dazu gibt es einen Hilfetext)

· Ungültige Offline-Sätze - die mit dem Button [Deaktivieren] ungültig gemacht wurden.

· Geänderte Offline-Sätze

· Gesperrte Sätze -  Nur wenn die Offline-Datei eine ALD-Datei ist (für Experten)

· Änd in Erg.Mg. rückgängig  - alle Sätze der aktuellen Ergebnismenge, die während der Sitzung geändert wurden (und noch nicht in die Datenbank abgespeichert), werden wieder auf den Originalzustand gesetzt. Mit [Wechseln] kann jeder wieder auf den Änderungs­zustand gesetzt werden!

· Offline-Änderungen rückgängig - dasselbe, aber anstatt der Ergebnismenge werden alle Sätze der Offline-Datei berücksichtigt

[Datenbank (ONLINE)]

· IN ARBEIT befindl. Sätze - Als Ergebnismenge erhält man alle Online-Sätze, die in der laufenden Sitzung verändert, aber noch nicht abgespeichert wurden.

· Korrigiert+gespeichert - als Ergebnismenge erscheinen alle Sätze, die während der Sitzung korrigiert und gespeichert wurden. Also keine neuen Sätze, sondern nur solche, die vorher schon in der Datenbank standen.

· Gespeicherte Sätze (neu+korr.) - Alle während der Sitzung gespeicherten Sätze

· Neu, noch nicht gespeichert - Alle Neuaufnahmen, die noch nicht in die Datenbank gespeichert wurden.

· Gesperrte Sätze -  Man erhält eine Ergebnismenge, die aus den momentan gesperrten Sätzen besteht. Bei großen Datenbanken dauert das entsprechend lange


Global
(nur a99, nur wenn es eine Ergebnismenge gibt, denn darauf wirken diese Funktionen)   onglobal.flx

· Globale Ersetzungen  - In jedem Satz der Ergebnismenge können bis zu drei Ersetzungen von Zeichenfolgen durch andere Zeichenfolgen ausgeführt werden. Es erscheint ein Untermenü, zu dem es auch einen Hilfetext gibt. QUELLEN: glob.cpp, glob.h

· Globale Manipulation – Für Experten. Dazu sind besondere Kenntnisse notwendig (Exportsprache, siehe Handbuch)

· Globale Löschung – Löscht alle Sätze der momentanen Ergebnismenge

· Datenbank-InformationListe aller wichtigen Dateinamen und momentanen Einstellungen


Option

· * Datenfont Die Schriftart der Ergebnisliste und des Eingabefeldes kann hier verändert werden.  Empfehlung: allegroLucidaConsole, allegroLetterGothic oder zur Not Courier.

· Teilfeld-Hilfe - normalerweise aktiviert, kann deaktiviert werden. Wenn deaktiviert, wird das Hilfsfenster für die Teilfeld-Bearbeitung nicht benutzt. Wer mit den Teilfeldern vertraut ist, wird oft auf das Hilfsfenster verzichten wollen, um schneller bearbeiten zu können.

· Farbwechsel - Wenn deaktiviert, wechselt die Farbe im Anzeigefenster nicht. Wenn aktiviert, wechselt sie auf Hellgelb, wenn ein veränderter, noch nicht wieder gespeicherter Satz gezeigt wird, und auf hellroetlich, wenn ein gelöschter zur Anzeige kommt.

· * Ergeb. aufbewahren - Wenn aktiviert: Beim Verlassen des Programms werden alle Lesezeichen, die Liste der vorher angezeigten Daten und die Ergebnismengen gesichert, damit dann bei erneutem Start diese Ergebnisse sofort wieder zur Verfügung stehen. Beim Start ist dieser Punkt nicht aktiviert, wenn man ihn aber einmal aktiviert hat, bleibt er es.

· * Eingabeschrift +/-  und  Anzeigeschrift +/- : Hiermit ändert man die Schriftgröße im linken Auswahlfeld sowie Schreibfeld bzw. im großen Anzeigefeld.

· * Anzeige breit/schmal -  Das Anzeigefeld kann auf die ganze Breite des Fensters vergrößert werden, wenn man z.B. einen Hilfetext besser überblicken will. Auslösung auch mit F11.


Eigener Menüpunkt 
(zwischen "Option" Und "Löschen" kann hier vom Systemverwalter eingerichtet werden: Befehle  MyMenu/MyFLEX  in der INI-Datei, Doku s. a99.ini)
    Bei der Demo-Datenbank steht hier "Erwerbung".


Löschen / Deaktivieren 
(Nur a99)    onerase.flx

Zum Löschen des aktuellen Datensatzes bzw. Ungültigmachen eines neu eingegebenen, aber noch nicht gespeicherten Satzes.


Füllhorn    onhlpa99.flx (a99)/ onhlpalc.flx (alcarta)

Dieser eigenwillige, aber extrem wichtige Punkt bringt ein großes Menü hervor (deshalb heißt er so), das voll ist mit zusätzlichen Funktionen und Hilfetexten, bis hin zum Einschalten der Ausleihfunktion und dem Bestellmenü (ORDA). Vielleicht wird dies zu Ihrem Hauptmenü, wenn Sie sich erst einmal damit bekannt machen. Aber der Systemverwalter kann hier einen anderen Hilfetext hinterlegen und den Punkt auch anders nennen! Wenn Sie mal verzweifelt nach etwas suchen, ist dieser Menüpunkt ein guter Einstieg, und besonders darauf der Punkt "Hilfethemen A-Z" (die sog. Quick-Liste)
?

Das Fragezeichen bringt dagegen, unveränderbar, immer das Füllhorn-Menü hervor, denn dieses ist ja auch der Start des Hilfesystems. 

Tip: Das Füllhorn-Menü ist übrigens auch nichts anderes als eine Hilfedatei, sie heißt doku.rtf. Pfiffige Systemverwalter können es also ändern ...


 

 

Statusfelder

Außer den oben beschriebenen Elementen gibt es noch ganz unten links und rechts fünf kleine Status-Anzeigefelder: Darin erscheint (von links nach rechts):

  1. DEL wenn ein gelöschter / deaktivierter Satz angezeigt wird
  2. EDT wenn der Satz in der aktuellen Sitzung geändert wurde (dann ist der Button [Wechseln] aktiv)
  3. ONL wenn der Satz ein Datenbanksatz ist (Online-Satz)
    Offline wenn der Satz zur Offline-Datei gehört (Befehl Offline=... in der INI-Datei)
    NEU wenn er als Neusatz angelegt, aber noch nicht gespeichert wurde
  4. Rechts: Die interne Satznummer, die Datenbank-Dateinummer und die Länge des Satzes.

Wenn es ein Offline-Satz ist: off + laufende Nummer des Satzes in der Offline-Datei

  1. Ganz rechts zwei Zahlen: Die laufende Nummer des Satzes in der Ergebnismenge / Größe der Erg.menge



NUR FÜR PROGRAMMIERER



Vollständige Quellenliste für a99 / a99a / a99d / alcarta  (Genaueres s. a99src.htm)

=========================================================

Quellcodes fuer die Erstellung der .exe's unter Windows/VisualStudio

Achtung: NUR die .rc-Datei und program.h sind fuer a99/alcarta/a99a/a99d different


   Projektdateien
a99.dsw  /  alcarta.dsw       allg. Projektdatei
a99.dsp  /  alcarta.dsp       eine Art make-Datei f. VisualStudio


   *** spezifische Dateien
   hierin steht, ob es a99, a99a, a99d oder alcarta werden soll
program.h


a99.rc / a99a.rc / alcarta.rc
   Konfigurierung der Oberflaechenobjekte ("resources")
   *** Nur diese Dateien sind spezifisch f. a99 bzw. a99a  bzw.  alcarta,
   alle anderen Dateien sind gleich


resource.h

   #defines f.d. Oberfl.Objekte (Zuordnung von Nummern zu den symb. Namen aus der .rc)
   alcarta und a99a verwenden dieselbe Datei, aber jeweils nicht alle Nummern daraus


Grundlagen
----------
   Diese zwei werden als Libraries eingebunden (genauso in acon)

ac15   : Klassenbibliothek (KONFIG, RECORD, EXET, INDEX, ABASE)

aindex : Index-Kernfunktionen (Erstellung und Zugriff)


Das eigentliche Programm : Basiert auf Windows Foundation Classes (WFC)
========================

   Win-Standard f. "vorkompilierte Headerdatei"  *.pch
stdafx.cpp
stdafx.h

   WINDOWS oder UNIX, nur fuer rpnfind.cpp
platform.h


    Anwendungs-Rahmenklasse f.d. Dialoganwendung (kein Eingriff noetig)
ca99.cpp
ca99.h


   Hauptprogramm: darin FLEX-Interpreter, Oeffnen der Unterfenster u.a.
   --------------------------------------------------------------------
   Es handelt sich um eine Dialog-Anwendung (Klasse CDialog)
   nicht um eine Dokument-Anwendung! (Kl. CDocument)

a99.cpp     enth. FLEX-Interpreter: Funktion FLEXecute()
             und die Abarbeitung aller Menu- und Button-Funktionen
             Unterfenster haben eigene Quellmodule, s.u.
a99.h


   Hauptelemente (jeweils CDialog-Fenster, aus a99.cpp geoeffnet)
   -------------

   A. Die zwei wichtigsten, unverzichtbaren:
   -----------------------------------------
   A.1. Window f. Index
winx.cpp
winx.h

   A.2. Window f. Kurz- u. ViewListe:
   d.h. Ergebnismengen- und ViewListenfenster
wkv.cpp
wkv.h


   B. Sechs andere
   ---------------

   B.1. FernglasFormular f. find-Funktion

wfind.cpp
wfind.h

   B.2. FormularKlasse (CDialog, FLEX:  form ...)
aform.cpp
aform.h

   B.3. Dialog f. Globale Ersetzungen
glob.cpp
glob.h

   B.4. Aresqa-Fenster (oft f. laengere Auswahlen oder Menues genutzt)
aresqa.cpp
aresqa.h

   B.5. Subfield Dialog  (CDialog, Teilfeld-Editor. Wohl selten genutzt!)
subfield.cpp
subfield.h

   B.6 Besen (CDialog)
acleanup.cpp
acleanup.h


   C. Unterelemente mit eigenen Fenstern sowie abgeleitete Klassen
   ---------------------------------------------------------------
   Die Erweiterung der Basisklassen, z.B. CButton, ist jeweils wegen
   der Größenänderung nötig, auch wegen der Funktionstasten (F5, F7)
   z.T. auch wegen anderer Zusatzfunktionen

   C.1 Eigene Button-Klasse (von CButton abgeleitet)
abutton.cpp
abutton.h

   C.2 Einzeiliges EingabeFeld (CDialog, FLEX:  ask ...)
getl.cpp
getl.h

   C.3 Einzeiliges EingabeFeld f. Passwort (CDialog, FLEX:  ask @...)
getp.cpp
getp.h

   C.4 Klasse f.mehrzeiliges Editfeld (von CEdit)
aedit.cpp
aedit.h

   C.5 eigene RichEditKlasse (von CRichEditCtrl, Anzeigefeld)
       Sonderfkt.: Phrasen, Flips, rechte Maustaste
ariched.cpp
ariched.h

   C.6 Eigene ComboBoxKlasse (von CComboBox abgeleitet)
       f. Eingabefelder mit Auswahl der vorherigen Eingaben, z.B. Suchbefehle
acombo.cpp
acombo.h

   C.7 eigene SelectBoxKlasse (CDialog, FLEX:  select ...)
selbox.h
selbox.cpp

   C.8 eigene ListBoxKlasse (von CListBox, f. Erg.Menge und ViewListe)
alistbox.cpp
alistbox.h

   C.9 MessageBox mit Timer (CDialog, FLEX:  Mes ...)
msg.cpp
msg.h

   C.10 eigene ProgressCtrl-Klasse (von CProgressCtrl, Forschritts-Balken)
aprogr.h
aprogr.cpp


   Sonstige wichtige Prozeduren
   ----------------------------

   Nachschauen, ob Db. auf dem angeford. Verz. existiert
lookford.cpp

   Komplexen Suchbefehl parsen (in RP-Notation wandeln)
parser.cpp
parser.hpp

   Komplexen Suchbefehl ausfuehren (nachdem vom parser erstellt)
   nutzt index.cpp (in ac15)
rpnfind.cpp
rpnfind.hpp

   RegEx-Klasse f.d. Suchen im iV-Text
regex.cpp
re_fail.cpp
regex.h (f. FLEX  srx ...)



 


1999-06-30 / 2014-04-08

Bernhard Eversberg