|
|
|
|
News | Downloads | Projekte | Technologie | FAQ | Reports | Referenzen | Foren | Links | Kontakt |
|
|
Die Technologien von LaOS
Informationen über das Dateisystem, Ablage von Einstellungen und vieles mehr findest du in dieser Rubrik! Da LaOS OpenSource ist, bin ich danach bestrebt, dir Informationen über die einzelnen Dateistrukturen zu geben. Diese Informationen richten sich vor allem an Programmierer.
Nachstehend werden die wichtigsten Dateien genauer erläutert, die LaOS verwendet. Dies ist gibt dir einen Überblick, für was welche Dateien gebraucht werden.
Dateien:
*.scl
Bildschirm-Schematas*.tmp
Temporäre Dateien. Mit der Zeit sammeln sich viele temporäre Dateien an, da diese von den Programmen nicht mehr gelöscht werden müssen. Beim Ausführen von DriveClean werden alle temporären Dateien gelöscht.
*.pal
Programm-Modulpaletten
*.lsb
Symbole
*.lds
Zeichnungen, die mit dem LaOS-Zeichenprogramm erstellt wurden, und innerhalb der Benutzeroberfläche als Design-Element verwendet werden.
*.lao
LaOS-Programme. Dies sind gewöhnliche QBasic 1.1-Programme und können auch unter QBasic geladen werden, um sie zu bearbeiten. Statt mit der SYSTEM oder END-Anweisung zu beenden, rufen diese Programme mit CHAIN das LaOS-Hauptmodul "run.bas" auf.
*.cfg
Initialisierungsdateien mit Einstellungen für einzelne Programme
*.bnk
Datenbank. Das Datenbank-Format der einzelnen *.bnk-Dateien kann sehr unterschiedlich sein. Neben den unten näher definierten Systemdatenbanken verwenden auch viele LaOS-Programme eigene *.bnk-Dateien. Diese Dateien haben in der Regel eine sehr hohe Wichtigkeit und dürfen auf keinen Fall gelöscht werden!
*.dis
Deinstallationsprogramm
*.mod
Programm-Module. Dies sind gewöhnliche QBasic 1.1-Programme und können auch unter QBasic geladen werden, um sie zu bearbeiten. Wenn eine LaOS-Anwendung zu gross ist, um von QBasic in den Speicher gelagert zu werden, kann sie Programmteile in *.mod-Dateien auslagern und diese mit der CHAIN-Anweisung aufrufen.
Beliebige Zahl (z.B. "5")
LaOS-Dokumente. In den sogenannten DocInts (Dateien, deren Dateiname eine Integer-Zahl ist) werden die Erstellten Dokumente von LaOS-Anwendungen, die das Erstellen von Dokumenten unterstützen (DocServer-Anwendung) abgespeichert.
linkway.tmp
Hier wird das DocInt abgespeichert, welches zusammen mit einer bestimmten Anwendung geladen werden soll. Wird LaOS-intern für die Verknüpfung von Dokumenten mit deren Anwendungen verwendet. Die LaOS-Anwendung lädt das Dokument, dessen Dateiname in "linkway.tmp" steht.
start.bas
Dieses Programm wird beim Start von LaOS ausgeführt. Der Startbildschirm erfüllt aber auch noch einen anderen Zweck: Falls das LaOS-Dateisystem defekt ist kann man hier F5 drücken, um DriveClean zum Reperatur-Versuch starten.
run.bas
Das LaOS-Hauptmenü
handler.rsc
Hier werden die Vorgänge in der Neu-Liste gespeichert.
dateien.bnk
Sämtliche LaOS-Dateien werden in dieser Datenbank abgespeichert.
drvlist.bnk
In LaOS installierte Laufwerke
ordner.bnk
LaOS-Ordner
registry.bnk
Haupt-Initialisierungsdatei. LaOS-Programme, welche keine eigene *.cfg-Datei verwenden möchten, verwenden registry.bnk, um deren Einstellungen abzuspeichern.
scuts.dat
Kurztasten für das LaOS-Hauptmenü
config.lcg
Wichtigste Systemeinstellungen
In dieser Liste werden sämtliche Vorgänge abgespeichert, die in Run.bas unter SYSTEM-Neu... aufzurufen sind.
Datei: handler.rscDateimodus: RANDOM
Datensatzlänge: STANDARD (128 Byte)
Field-Anweisung: NEIN
Datensatzdefinition:
TYPE handlertype
Vorgangsname AS STRING * 30
Anwendung AS STRING * 12
SubID AS STRING * 8
END TYPE
Der Vorgangsname ist der Name, der in der Neu-Liste angezeigt wird. Die Anwendung ist ein QBasic 1.1-Programm, das für diesen Vorgang gestartet wird. Die Anwendung wird mit der Dateierweiterung angegeben werden, also z.B. "editor.lao". So können auch Programmmodule, die nicht *.lao-Dateien sind direkt angesteuert werden. Die SubID wird verwendet, um einen Vorgang genauer zu spezifieren. So könnte ein und dieselbe Anwendung verschiedene Neu-Vorgänge anbieten.
Beim Ausführen eines Vorganges speichert run.bas die SubID in "linkway.tmp" ab mit vorangestelltem Schrägstrich ("/") ab und lädt dann die entsprechende Anwendung. Dieses LaOS-Programm kann die SubID mit der Linkit$-Funktion von OSCODE abrufen.
Um einen neuen Vorgang einzutragen, genügt es, die Datei C:\LaOS\nh.go im Editor mit folgendem Inhalt zu füllen:
Vorgangsbezeichnung, Programmdatei, SubID
Die SubID kann verwendet werden, um den aufgerufenen Neu-Vorgang in der Anwendung vom "normalen Start" zu unterscheiden. Falls keine SubID angegeben wird, muss man dafür dennoch in nh.go zwei Anführungszeichen als Platzhalter angeben:
Beispiel:
"Text-Dokument",
"editor.lao", ""
"Tagebuch-Eintrag",
"tagebuch.lao", "neu"
Beim nächsten LaOS-Start wird der Vorgang erstellt, und die Datei nh.go wird gelöscht.
OSCODE ist eine Sammlung von Funktionen und Anweisungen für die LaOS-Benutzeroberfläche, den Umgang mit LaOS-Dokumenten und sonstige Aufgaben, die wichtig für das Zusammenspiel mit LaOS sind. Beispiel: Symbole, Öffnen- und Speichern-Dialoge, Fensterprozeduren, Menüs, Auswahllisten, Auswahlbuttons etc... Um eine LaOS-Anwendung zu schreiben, lädt man zuerst OSCODE in QBasic ein und schreibt dann sein Programm in die bereitstende SUB-Prozedur "Main".
OSCODE wird ab LaOS 6 gleich mit installiert. Man braucht nur in QBasic die Datei OSCODE.BAS im Verzeichnis C:\LAOS zu öffnen. Nun kann man sich zuerst das Demoprogramm anschauen.
Modulpaletten werden in LaOS dazu verwendet, um externe Programmressourcen einem Anwendungsprogramm (Hauptmodul) zu zuordnen. Die Modulpalette ist in einer Datei mit der Endung ".PAL" gespeichert. Der Dateiname der *.pal-Datei lautet gleich wie das Hauptmodul. Wenn man diese Datei mit einem Editor liest, sieht man eine Auflistung der mit diesem Hauptmodul verknüpften Dateien. Die Modulpaletten ermöglichen das schnelle Program-Copy-And-Past. Beim Kopieren wird also das ganze Paket mitkopiert. Sie können also ein LaOS-Anwendungsprogramm auf eine Diskette kopieren, und einem Freund geben. Dieser kopiert es dann durch einen Fingertipp auf seine Festplatte. Ausserdem ermöglicht die Modulpalette die vollständige Anwendungs-Deinstallation durch einfaches Löschen im Programmverwalter: Alle Nebenmodule, die in der zugehörigen Modulpalette aufgelistet sind, werden ebenso wie das Hauptmodul vom Datenträger entfernt. Beim löschen wird bei jedem Nebenmodul geprüft, ob es von einem anderen Hauptmodul noch benötigt wird, und nur gelöscht, falls es nicht mehr gebraucht wird. Zudem können in der Modulpalette Attribute zu den einzelnen Nebenmodulen gesetzt werden. So würde zum Beispiel eine Lizenzdatei mit dem entsprechenden Attribut nur Installiert, aber in keinem Fall nachträglich kopiert werden (Attribut "*"). Eine Highscore-Datei von einem Spiel sollte in keinem Fall überschrieben werden, auch wenn eine neue Version des Spiels installiert wird (Attribut ":").
Folgende Attribute sind möglich, und werden durch das Voranstellen an den Dateinamen in der Modulpalettendatei gesetzt:
|
Löschen, kopieren und ohne Abfrage überschreiben. (Standard) |
|
kopieren, aber fragen beim überschreiben¦AbfragetextJ/N(Standardaktivierung) |
|
Nur löschen, jedoch nie kopieren |
|
Deinstallationsprogramm |
|
Kopiergeschützt (wird nur installiert, jedoch von LaOS NICHT kopiert!) |
Das Standard-Anwendungssymbol darf nie in Modulpaletten aufgenommen werden. Es wird standardmässig kopiert und überschrieben. Nur wenn eine Anwendung mehrere Symbole erfordert, können diese in die Modulpalette aufgenommen werden.
Falls ein Programm bestimmte Dateien nach einer speziellen Regel dynamisch erstellt, oder eine spezielle Abfrage (Passwort, etc...) für die Deinstallation nötig ist, kann ein Deinstallationsprogramm mit dem Attribut "/" angegeben werden. Wie sämtliche Dateien in der Modulpalette muss auch das Deinstallationsprogramm inklusive Dateisuffix angegeben werden! Für das Deinstallationsprogramm wird empfohlen, die Dateiendung ".dis" zu verwenden. Wichtig ist beim Eintragen des Deinstallationsprogrammes in die Modulpalettendatei, dass sie doppelt drin ist, und zwar einmal mit vorangestelltem Schrägstrich ("/") und einmal ohne diesen. Wird der zweite Eintrag weggelassen, so wird das Deinstallationsprogramm nicht mitkopiert beim installieren.
Als Beispiel die Modulpalettendatei des Buchhaltungsprogramms Moneycab:
aufgmgr.mod
moneycab.mod
mcbbckp.mod
*mcblcnse.rsc
:mcbadmin.pwd
:mcbuser.pwd
:moneycab.mcb
:saledest.bnk
:produkte.bnk
:debitors.bnk
:kunden.bnk
:lieferan.bnk
:debitors.bnk
:pendenzl.bnk
/mcbdis.dis
mcbdis.disWie man sieht, sind die einzelnen Nebenmodule in einer hundsgewöhnlichen Textdatei als Liste aneinandergereiht. Deshalb ist es dem Programmierer ein leichtes, diese Datei in einem beliebigen Text-Editor zu erstellen.
Farbschematas sind in LaOS in normalen Textdateien abgespeichert. In jeder Zeile steht ein Wert. Die Zuordnung der Werte zu einem Grafikelement kann hier entnommen werden:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|