home *** CD-ROM | disk | FTP | other *** search
-
- ===============================================
-
- @(#) OKAMI SHELL VERSION 1.2 - SYSTEM-FUNKTION
-
- ===============================================
- Stand: 22.06.90
-
-
- Um die Okami-Shell von eigenen Programmen aus aufrufen zu können, gibt es
- die Funktion system. Beispiel:
-
- DiskDir()
- {
- extern long system();
-
- system("ls a:\*.*");
- system("df a:");
-
- }
-
- Durch Aufruf der Funktion DiskDir werden Inhalt und freier Speicherplatz von
- Laufwerk a: ausgegeben. Dies wird erreicht durch Aufruf der Shell mit den
- Kommandos "ls a:\*.*" und "df a:".
-
- Um die system-Funktion benutzen zu können, muß die Datei system.c einge-
- bunden werden. Dazu gibt es folgende Möglichkeiten:
- 1. #include "system.c" (nicht sehr zu empfehlen)
- 2. Kompilieren der Datei system.c und Mit-Linken der Objektdatei system.o.
- 3. Kompilieren der Datei system.c und Einbinden der Objektdatei system.o
- in eine Library.
-
- Außerdem muß in dem Programm die globale Variable
- char *_shpath
- definiert werden. Diese Variable zeigt auf einen String, der den Aufruf-
- Pfad der Shell (vollständiger Name, z.B. "d:\shell\sh.ttp") enthält. Dies
- kann folgendermaßen geschehen:
- char *_shpath="d:\shell\sh.ttp";
- Diese Deklaration muß global sein, darf also nicht innerhalt einer Funktion
- stehen.
- Der Wert kann sich natürlich auch ändern, es ist ebenso erlaubt:
- char _shpath[100];
- und dann
- strcpy(_shpath,"........");
- an beliebigen Stellen des Programms.
-
- Ein Beispielprogramm ist in der Datei system.c enthalten. Um es zu akti-
- vieren, muß in der Datei
- #define TEST 0
- auf
- #define TEST 1
- umgeändert werden.
-
- Die Länge des Parameterstrings ist durch das Betriebssystem auf 124 Zeichen
- beschränkt. Es können beim Aufruf von system mehr Zeichen angegeben werden,
- allerdings ist dann nicht mehr sichergestellt, daß alle Zeichen das Programm
- erreichen.
-
-