Topic : Online-Hilfe zu Omikron.Basic 5 Author : Karsten Lüdersen @ HH Version : OM-Basic-Hilfe 0.60 Subject : Programmieren/Basic Nodes : 1054 Index Size : 29270 HCP-Version : 4 Compiled on : Atari @charset : atarist @lang : @default : @help : Hilfe @options : +g -i +y +z -t4 -d24 @width : 75 View Ref-FileBIOS XBIOS TOS.HYP: Gemdos Basic-Befehle Omikron.Basic GEMDOS Typ: Befehl Syntax: GEMDOS[(][<num.Variable>],<num.Ausdruck>[[,[L ]<num.Ausdruck>]][)] GEMDOS[(][<Rückgabe-Variable>],<Funktionsnummer>[[, [L]<Parameter>]][)] Erklärung: Ruft eine Funktion des GEMDOS (ein Teil des Betriebssystems) auf. Wenn vor den Parametern ein "L " gestellt ist, so wird der Parameter als LONG übergeben, ansonsten immer als WORD. Hex- Nr. 0: Pterm0 Programmende 1: Cconin Taste holen 2: Cconout(char.w) Zeichen ausgeben 3: Cauxin Zeichen von RS 232 lesen 4: Cauxout(char.w) Zeichen über RS 232 ausgeben 5: Cprnout(char.w) Zeichen an Drucker 6: Crawio(char.w) Zeichen auf den Bildschirm 7: Crawcin Holt ein Zeichen v. Tastatur 8: Cnecin Holt ein Zeichen v. Tastatur 9: Cconws(->string.l) Gibt Zeichen aus (0term) A: Cconrs(->buffer.l) Eine Zeile eingeben B: Cconis Taste gedrückt? E: Dsetdrv(drive.w) Setzt Standardlaufwerk 10: Cconos Consolenstatus 11: Cprnos Druckerstatus (<>0 bereit) 12: Cauxis RS 232 empfangsbereit? 13: Cauxos RS 232 sendebereit? 19: Dgetdrv Ermittelt Standardlaufwerk 1A: Fsetdta(->dta.l) Setzt DTA-Adresse 20: Super(USP.l) Supervisormodus (im BASIC verboten!) 2A: Tgetdate Holt Datum 2B: Tsetdate(datum.w) Setzt Datum 2C: Tgettime Holt Systemzeit 2D: Tsettime(time.w) Setzt Systemzeit 2F: Fgetdta Ermittelt DTA-Adresse 30: Sversion GEMDOS-Versionsnummer 31: Ptermres(len.l,fail.w) Resident verlassen 36: Dfree(->buffer.l,drive.w) Freier Diskplatz 39: Dcreate(->name.l) Richtet Ordner ein 3A: Ddelete(->name.l) Löscht Ordner 3B: Dsetpath(->pfad.l) Stellt Standardpfad ein 3C: Fcreate(->name.l,attribut.w) Legt Datei an 3D: Fopen(->name.l,modus.w) Öffnet Datei 3E: Fclose(handle.w) Schließt Datei 3F: Fread(handle.w,len.l,->buffer.l) Liest Datei 40: Fwrite(handle.w,len.l,->buffer.l) Schreibt 41: Fdelete(->name.l) Löscht Datei 42: Fseek(pos.l,handle.w,modus.w) Positioniert Dateizeiger 43: Fattrib(->name.l,modus.w,attr.w) Verändert/Ermittelt Attribut 44: Mxalloc(->len.l,mode.w) Reserviert ST/TT-RAM 45: Fdup(device.w) Öffnet Datei auf Device 46: Fforce(device.w,handle.w) Lenkt Ausgabe in Datei 47: Dgetpath(->buffer.l,drive.w) Holt S.-Pfad 48: Malloc(len.l) reserviert Speicher 49: Mfree(adr.l) gibt Speicher frei 4A: Mshrink(dummy.w,base_adr.l,len.l) Verkleinert res. Speicher-Block 4B: Pexec(mode.w,->name.l,->cmd.l,->env.l) Führt Programm aus 4C: Pterm(return.w) beendet Programm 4E: Fsfirst(->name.l,attribut.w) Sucht im Directory von *name.l 4F: Fsnext Sucht weiter 56: Frename(dummy.w,->old.l,->new.l) Benennt Dateien um 57: Fdatime(->buffer.l,handle.w,mode.w) Setzt Uhrzeit bei Datei Beispiel: 0 PRINT FN Get_Path$ 1 END 2 DEF FN Get_Path$' Standard-Pfad ermitteln 3 LOCAL Path$,Drive,Adr 4 GEMDOS (Drive,$19)' Standard-Laufwerk 5 Path$= CHR$(0)*128 6 Adr= LPEEK( VARPTR(Path$))+ LPEEK( SEGPTR +28) 7 GEMDOS (,$47,L Adr,Drive+1) 8 Path$= CHR$(Drive+65)+":"+ LEFT$(Path$, INSTR(Path$, CHR$(0))-1)+"\" 9 RETURN Path$ 10 END_FN