5.1. A SYSTEM modul
Függvények:
Név Argumentum típusa Visszatérési érték típusa Hatása
ADR(v) bármilyen LONGINT v változó címe
BIT(a,n) a: LONGINT; n: egész BOOLEAN Mem[a] n-edik bitje
CC(n) Egész konstans BOOLEAN feltétel n (0<=n<=15)
LSH(x,n) x:eg,ch,BYTE;n:egész x típusa logikai eltolás
ROT(x,n) x:eg,ch,BYTE;n: egész x típusa forgatás
VAL(T,x) T, x: bármilyen típusú T x interpretációja T típusban
Eljárások:
Név Argumentumok típusa Hatása
GET(a,v) a: LONGINT;
v: bármilyen bázistípus, mutató, eljárástípus v:=M[a]
PUT(a,x) a: LONGINT;
x: bármilyen bázistípus, mutató, eljárástípus M[a]:=x
GETREG(n,v) n: egész konstans;
v: bármilyen bázistípus, mutató, eljárástípus v:= Register(n)
PUTREG(n,x) n: egész konstans;
v: bármilyen bázistípus, mutató, eljárástípus Register(n):=x
MOVE(a0, a1, n) a0, a1: LONGINT; n: egész M[a1..a1+n-1]:=M[a0..a0+n-1]
NEW(v,n) v: bármilyen mutató; n: egész n byte memoriát lefoglal;
beállítja a címét v címére
5.2 Az OS modul
Képernyõeljárások:
CopyBlock(sx, sy, w, h, dx, dh) Az (sx,sy,w,h) téglalapot átmásolja a képernyõ (dx,dy,w,h) téglalapjára.
FillBlock(x,y,w,h) Feltölti a képernyõ ezen téglalapját.
EraseBlock(x,y,w,h) Törli a képernyõ ezen téglalapját.
InvertBlock(x,y,w,h) Invertálja a téglalapot.
DrawPattern(pat,x,y) A pat nevû mintát rárakja a képernyõ téglalapjára, melynek bal also sarka: (x,y)
DrawCursor(x,y) (x,y) pozícióra teszi az egeret.
FadeCursor Elrejti az egeret.
Betûtípus operációk:
f:=DefaultFont() Visszaadja az alapértelmezett fontot.
f:=FontWithName(n) Visszaadja a font nevét.
GetCharMetric(fnt,ch,dx,x,y,w,h,pat) Az fnt típusú, pat mintájú ch karakter (x,y,w,h,dx) metrikáját adja vissza.
Egér és billentyûzet operációk:
n:=AvailChars() Visszaadja, hogy hány karakter van a billentyûzet bufferében.
ReadKey(ch) Beolvassa és törli a következõ karaktert a billentyûzet bufferébol. Ha a buffer üres, akkor vár, amíg le nem ütünk egy billentyût.
GetMouse(b,x,y) Visszaadja az egér pozícióját és irányát. (b: 0=jobb, 1=közép, 2=bal).
File operációk:
f:=NewFile(n) Létrehoz egy n nevu f file-t.
f:=OldFile(n) Megnyit egy n nevu f file-t. Ha ilyen nincs, akkor f=NIL.
Register(f) Egy ideiglenes f file-t transzformál egy NewFile által létrehozott file-ba.
InitRider(r) Rider-t inicializás.
A Rider osztály metódusai:
r.Set(f,pos) Az r ridert ráállítja az f file pos pozíciójára.
r.Read(ch) r-bol olvas egy karaktert.
r.ReadInt(x) Egész számot olvas.
r.ReadLInt(x) Long integert olvas.
r.ReadString(s) Stringet olvas.
r.ReadChars(buf,len) Karaktereket olvas len hosszúságban és a buf bufferbe teszi.
r.ReadObj(obj) Tetszõleges objektumot olvas.
r.Write(ch) Karaktert ír.
r.WriteInt(x) Egészt ír az r-be.
r.WriteLInt(x) Long integert ír.
r.WriteString(s) Stringet ír.
r.WriteChars(buf,len) Karaktereket ír a bufferbõl.
r.WriteObj(obj) Objektumot ír.
Egyéb operációk:
NameToObj(name,obj) A name egy string, melynek M.T. a formája. A NameToObj létrehoz egy T típusú recordot, melyet az M modulból exportál és visszaad egy pointert rá az obj-ba. Ha a modul vagy a típus rosszul van megadva, az obj NIL lesz.
Move(buf0,pos0,buf1,pos1,len) Másol len db byte-ot buf0[pos0]-ból buf1[pos1]-be.
t:=Time() Visszaadja az eltelt idõt a System start-tól.
Call(cmd) Aktiválja a cmd parancsot és betölti a modult, amely ot tartalmazza.
5.3 Az IO modul
Szkenner üzenetek:
s.Set(t,pos) Az s szkennert a t text pos pozíciójára állítja.
s.SetToParameters A legutóbbi parancs végére állítja a szkennert, így olvashatjuk a parancs paramétereit.
s.Read Olvassa a következo pozíciót.
bool:=s.Eof() TRUE, ha nem tudunk több szimbólumot olvasni a szkennerbol.
pos:=s.Pos() Aktuális pozíciót adja vissza.
Output rutinok:
Str(s) “Kidobja” az s stringet.
Ch(ch) …a ch karaktert.
Int(i,w) …az i egészt egy w hosszúságú karaktermezobe.
Real(r,w) Ugyanez valóssal.
NL Soremelés.