Modulare Parameter für allegro-C - technische Dokumentation - Konventionen zur Programmierung

Abschnitt 6

< Abschnitt 5: globale Variablen Inhaltsverzeichnis Abschnitt 7: Programmaktualisierung>

6.1. Variablen

temporäre Variablen: einbuchstabige $-Var., überleben keine Unterprogramme!

#u-Variablen: wenn verwendet, werden sie mittels Push/Pop im UP gerettet und wiederher­gestellt

6.2. Unterprogramme

Namen von UPs:
  • {modulkürzel}_Name für über perform Sprungmarke aufzurufende Unterprogramme
  • {modulkürzel}_Name() für über Stack aufrufbare Programme, die über jump Return zurückkehren
  

6.3. Verzeichnisse

Für die Modpar-Installation werden momentan alle Dateien im Datenbank-Verzeichnis abgelegt. Die Trennung nach Hilfe-, Flex-, Parameter und sonstige Dateienhat sich als unpraktikabel erwiesen.  Die gewählte Lösung gestattet es, die Datenbank mit allen zugehörigen Funktions- und Hilfsdateien zusammenhängend zu verwalten.
Eine Ausnahme bildet hier das {BIN}-Verzeichnis: hier werden konfigurationsunabhängige Binaries abgelegt, die nicht zum Original-Allegro gehören.

{PR} - hier werden alle datenbank-unabhängigen Parameterdateien gesucht
{DB} - Datenbank-Dateien
  • DB-spezifische Parameter- und Flex-Dateien (*.ap?, *,cfg, *.ini, *.flx, *.flb)
  • Log-Dateien (*.log, *.lst)
  • Konfigurationsdateien für einzelne Module (*.lec, *.ini)- Vorgabe-Listen (*.vw)

{BIN} -Kommandozeilen-Hilfsprogramme, die von a99 über Systemaufrufe angesprochen werden

Mit der ModPar-Installation werden im Verzeichnis {PR}\mp_bin mitgeliefert:

  • winvi32 in Version 2: für Inspektion der Datenbank-Inhalte und zur Anzeige der Datenbank-Logdatei in Programm-Scripten
  • curl und zugehörige Dateien:
    • Suche nach und Herunterladen von Updates von aneg-dv.de/allegro/updates
    • Hochladen von Dateien auf Verbundserver oder ähnliche Ziele
    • Versand von E-Mails
  • convert.exe: (ImageMagick): zum scriptgesteuerten Bearbeiten von z.B. cover-Dateien
  • zip/unzip: zum Packen von internen Backups u. Auspacken von Update-Paketen
  • sounder: zum scriptgesteuerten Abspielen besonderer Töne bis hin zu Sprachansagen
  • ANEG-Teleservice: TeamViewer-Kundenmodul für den TeleService

6.4 Flex-Dateien

6.4.1. Namen von Flex-Dateien 

  • Funktions-Flexe: {modulkürzel}-{Funktionsgruppenkürzel}-{Funktionskürzel}.flx
  • Funktionsbibliotheken: {modulkürzel}_{bibliotheksname}.flb; per include eingebunden
  • Einfache include-Dateien: {modulkürzel}_(weitere durch - oder _ getrennte Namensbestandteile}.inc
  • Anwenderspezifische Includes: usr_(weitere durch - oder _ getrennte Namensbestandteile}.inc

6.5. Formularfunktionen

Um die Kontrolle zulässiger Satzinhalte, Prüfung von Abhängigkeiten und flexible Rechtegewährung zu ermöglichen, gibt es zu jeder Satzart mindestens sechs Dateien, die für die Teilfunktionen der Erfassung, Bearbeitung und Löschung von Datensätzen nötig sind.
  • {Satzart}.frm - Formulardatei; kann weitere Formulardateien nachladen
  • {Satzart}.fh - zugehörige Hilfedatei:
    • wird für die [?]-Schaltfläche des Formulars sowie
    • alle Kategorien, für die es keine eigene .fh-Datei gibt, verwendet
  • {Satzart}-new.flx - Neusatz
    • prüft, ob Bedingungen für einen Neuen Datensatz der gewünschten Satzart erfüllt sind
    • setzt Felder auf Startwerte (konfigurierbar über usr-*.inc-Dateien)
    • weitere Datenerfassung oder Weitergabe des Satzes an die Edit-Flexdatei
    • Wenn Edit-Flex nicht verwendet wird, Prüfung der Eingaben
  • {Satzart}-edit.flx - Satz bearbeiten
    • prüft, ob Bedingungen für Bearbeitung vorhanden sind
    • kümmert sich um die Satzsperrung zur Bearbeitung
    • lädt die benötigten Formulare
    • führt Plausibilitätskontrollen der eingegebenen Daten aus
  • {Satzart}-del.flx - Satz löschen
    • prüft, ob Bedingungen für die Löschung erfüllt sind
    • kann den Löschversuch komplett abweisen oder auf Nachfrage trotz nicht erfüllter Bedingungnen ausführen
  • {Satzart}-copy.flx - Satz als Vorlage für gleichartige Sätze kopieren
    • Prüft, ob das Kopieren des vorliegenden Satzes möglich oder sinnvoll ist
    • setzt Vorgabewerte für Kategorien oder löscht Kategorieinhalte, die nicht kopiert werden dürfen
  • optional: .h-Dateien für einzelne Kategorien oder -gruppen

Siehe dazu auch Abschnitt 3.5.: Standard-Mechanismen.
Die einzelnen Funktions-Flexdateien werden über den Mechanismus der Dynamischen Menüs angeboten.
Artikel zuletzt bearbeitet am: 21.09.2023 23:16