Jest to najwa¿niejszy modu³, zawieraj±cy wszystkie
podstawowe funkcje i procedury, wykorzystywane w ka¿dym programie.
Nie jest wiêc wymagana deklaracja jego u¿ycia (uses) na pocz±tku
programu, bowiem modu³ ten jest do³±czany do programu automatycznie.
Dzieje siê tak równie¿ w przypadku programów tzw. pustych, czyli
sk³adaj±cych siê tylko ze s³ów begin i end. W opisie modu³u pominiêto
opisy wiêkszo¶ci wystêpuj±cych tam sta³ych i zmiennych, poniewa¿
przy niezbyt zaawansowanym programowaniu nie s± one potrzebne bezpo¶rednio
(s± wykorzystywane jedynie w wywo³ywanych podprogramach).
CHDIR (¶cie¿ka:string)-procedura
¶cie¿ka - ¶cie¿ka dostêpu do katalogu
wynik: Zamiana bie¿±cego katalogu na podany przez parametr ¶cie¿ka.
B³êdne wykonanie jest sygnalizowane w funkcji IOResult.
Close (plik)-procedura
plik - dowolny plik
wynik: Zamkniêcie dostêpu do urz±dzenia zewnêtrznego lub pliku
dyskowego skojarzonego z podan± zmienn±.
Eof [([var] plik)]:Boolean-funkcja
plik - dowolny plik
wynik: Warto¶æ True w przypadku osi±gniêcia koñca pliku (odczytanie
znaku Ctri-Z) lub gdy plik nie zawiera ¿adnych elementów (pusty).
Erase (plik)-procedura
plik - dowolny plik
wynik: Skasowanie pliku dyskowego skojarzonego z podan± zmienn±.
B³êdne wykonanie jest sygnalizowane w funkcji IOResult.
GetDir (dysk: Byte; var ¶cie¿ka: string)-procedura
dysk - numer stacji dyskowej (O - bie¿±cy, 1 - A, 2 - B itd.)
¶cie¿ka - ¶cie¿ka dostêpu do bie¿±cego katalogu
wynik: Pe³na ¶cie¿ka dostêpu (z symbolem stacji dyskowej) do
bie¿±cego katalogu.
IOResult: Word-funkcja
wynik: Zero oznacza, ¿e ostatnio wykonana operacja plikowa jest
poprawna; inna warto¶æ to numer wykrytego b³êdu operacji wej¶cia-wyj¶cia.
Niewywo³anie tej funkcji po operacji wej¶cia-wyj¶cia zakoñczonej
b³êdem powoduje zablokowanie dalszych takich operacji
B³êdy operacji Wej¶cia-Wyj¶cia
2 - nie znaleziono danego pliku dyskowego
3 - nie znaleziono danej ¶cie¿ki
4 - za du¿o otwartych plików
5 - zabroniony dostêp do pliku
6 - b³êdna operacja na.pliku
12 - b³êdny kod dostêpu do pliku
15 - b³êdne oznaczenie stacji
16 - próba usuniêcia bie¿±cego katalogu
17 - próba zmiany nazwy pliku w przypadku przenoszenia go na
inny dysk
100 - b³±d w odczytywaniu z dysku
101 - b³±d w zapisywaniu na dysku
102 - zmienna nie zwi±zana z ¿adnym plikiem dyskowym
103 - plik nie jest otwarty
104 - plik nie jest otwarty do odczytywania
105 - plik nie jest otwarty do zapisywania
106 - b³êdna postaæ numeryczna
MkDir (kat: string)-procedura
kat - nazwa katalogu
wynik: Utworzenie nowego katalogu dyskowego o nazwie kat. B³êdne
wykonanie jest sygnalizowane w funkcji IOResult.
Rename (plik; nazwa: string)-procedura
plik - dowolny plik
nazwa - nazwa i rozszerzenie pliku dyskowego
wynik: Nadanie nowej nazwy plikowi dyskowemu. B³êdne wykonanie
jest sygnalizowane w funkcji IOResult.
Reset (plik [:file;rekroz: Word])-procedura
plik - dowolny plik
rekroz - d³ugo¶æ rekordu
wynik: Otwarcie do odczytywania pliku dyskowego lub urz±dzenia
zewnêtrznego z ustawieniem go w pozycji pocz±tkowej. W przypadku
otwierania pliku o nieokre¶lonym typie, rekroz oznacza d³ugo¶æ
rekordów (w bajtach) ka¿dorazowo odczytywanych procedur± BlockRead.
Pominiêcie teko parametru powoduje przyjêcie domy¶lnej warto¶ci
128.
B³êdne wykonanie jest sygnalizowane w funkcji IOResult.
Rewrite (plik {:file; rekroz: Word])-procedura
plik - dowolny plik
rekroz - d³ugo¶æ rekordu
wynik: Otwarcie do zapisywania skojarzonego z plikiem urz±dzenia
zewnêtrznego lub pliku dyskowego i ustawienie go w pozycji pocz±tkowej.
Je¶li plik ju¿ istnieje, to nastêpuje usuniêcie go, utworzenie
nowego pustego pliku (o tej samej nazwie) i ustawienie go w pozycji
pocz±tkowej. W przypadku otwierania pliku o nieokre¶lonym typie,
rekroz oznacza d³ugo¶æ rekordów (w bajtach) ka¿dorazowo zapisywanych
procedur± BlockWrite. Pominiêcie tego parametru powoduje przyjêcie
domy¶lnej warto¶ci 128. B³êdne wykonanie jest sygnalizowane w
funkcji lOResult.
RmDir (kat: string)-procedura
kat- nazwa katalogu
wynik: Skasowanie katalogu dyskowego o podanej nazwie pod warunkiem,
¿e nie zawiera ¿adnych plików. B³êdne wykonanie jest sygnalizowane
w funkcji lOResult.
Append (var plik:Text)-procedura
plik - plik tekstowy
wynik: Otwarcie do zapisywania pliku tekstowego i ustawienie
go w pozycji koñcowej. B³êdne wykonanie jest sygnalizowane w funkcji
lOResult.
Eoln (var plik: Text): Boolean-funkcja
plik - plik tekstowy
wynik: Zasygnalizowanie koñca wiersza (True). Symbolem koñca
jest zmiana wiersza lub koniec pliku.
Flush (var plik: Text)-procedura
plik - plik tekstowy
wynik: Wyczyszczenie bufora komunikacyjnego do transmisji dyskowych.
Read ([var plik;] varzml[, zm2, zm3,...])-procedura
plik - dowolny plik jednorodny lub tekstowy
zm1, zm2, zm3,... - zmienne okre¶lonych typów
wynik: Wczytanie na podane zmienne warto¶ci z pliku dyskowego
lub urz±dzenia zewnêtrznego (wg podanej listy). W przypadku pominiêcia
pierwszego parametru przyjmuje siê domy¶lnie standardowy plik
Input, skojarzony z klawiatur±. B³êdne wykonanie jest sygnalizowane
w funkcji lOResult.
Readln ([var plik: Text;] var zm1[, zm2,...])-procedura
plik - plik tekstowy
zmi, zm2, ... - zmienne okre¶lonych typów
wynik: Wczytanie na podane zmienne warto¶ci z pliku tekstowego
lub urz±dzenia zewnêtrznego (wg podanej listy) i przej¶cie do
nastêpnego wiersza. W przypadku pominiêcia pierwszego parametru
przyjmuje siê domy¶lnie standardowy plik Input, skojarzony z klawiatur±.
B³êdne wykonanie jest sygnalizowane w funkcji lOResult.
SeekEof [(var plik: Text)]: Boolean-funkcja
plik - plik tekstowy
wynik: Warto¶æ True w przypadku osi±gniêcia koñca pliku (gdy
plik znajduje siê przed znakiem Ctri-Z) po pominiêciu odstêpów
i znaków tabulacji lub gdy plik jest pusty.
SeekEoln ([varplik: Text)]: Boolean-funkcja
plik - plik tekstowy
wynik: Warto¶æ True w przypadku osi±gniêcia koñca wiersza po
pominiêciu odstêpów i znaków tabulacji.
SetTextBuf (var plik:Text; var buf[,roz: Word])-procedura
plik - plik tekstowy
buf- dowolna zmienna
roz - rozmiar bufora
wynik: Skojarzenie bufora o rozmiarze ró¿, zajmowanego przez
zmienn± buf, z plikiem tekstowym plik. Pominiêcie warto¶ci roz
oznacza u¿ycie bufora systemowego o pojemno¶ci 128 bajtów.
Write ([var plik;] zm1[, zm2, zm3,...])-procedura
plik - dowolny plik jednorodny lub tekstowy
zm1, zm2, zm3,... - zmienne lub wyra¿enia
wynik: Wyprowadzenie do pliku dyskowego lub urz±dzenia zewnêtrznego,
skojarzonego z podanym plikiem, warto¶ci wyspecyfikowanych parametrów.
W przypadku pominiêcia pierwszego parametru (specyfikacji pliku)
przyjmuje siê standardowy plik Output, skojarzony z monitorem.
B³êdne wykonanie jest sygnalizowane w funkcji IOResult.
Writeln ([var plik: Text;] zm1[, zm2, zm3,...])-procedura
plik - plik tekstowy
zm1, zm2, zm3,... - zmienne lub wyra¿enia
wynik: Wyprowadzenie do pliku tekstowego lub urz±dzenia zewnêtrznego,
skojarzonego z plikiem, warto¶ci wyspecyfikowanych parametrów
i przej¶cie do nastêpnego wiersza. W przypadku pominiêcia pierwszego
parametru (specyfikacji pliku) przyjmuje siê standardowy plik
Output, skojarzony z monitorem. B³êdne wykonanie jest sygnalizowane
w funkcji lOResult.
BlockRead (var plik:file; var buf; il: Word; [rez; Word])-procedura
plik - plik niejednorodny
buf - zmienna dowolnego typu
il - planowana liczba bajtów do odczytania
rez - rzeczywista liczba odczytanych bajtów
wynik: Wczytanie il bajtów pliku plik do pamiêci okre¶lonej przez
buf. Warto¶æ rez to rzeczywista liczba odczytanych bajtów. B³êdne
wykonanie jest sygnalizowane w lOResult.
BlockWrite (var plik: file; var buf; il: Word; [rez: Word])-procedura
plik - plik niejednorodny
buf- zmienna dowolnego typu
il - planowana liczba bajtów do zapisania
rez - rzeczywista liczba zapisanych bajtów
wynik: Zapisanie bloku o rozmiarze okre¶lonym w Rewrite, z pamiêci
zajmowanej przez buf, w pliku plik. B³êdne wykonanie jest sygnalizowane
w funkcji lOResult.
FilePos (plik): Longint-funkcja
plik - plik jednorodny
wynik: Warto¶æ wska¼nika pliku, tzn. numer sk³adowej do odczytywania
lub zapisywania.
FileSize (plik): Longint-funkcja
plik - plik jednorodny
wynik: D³ugo¶æ pliku, tzn. liczba sk³adowych w pliku.
Seek (plik; poz: Longint)-procedura
plik - plik jednorodny
poz - pozycja pliku
wynik: Nadanie wska¼nikowi pliku warto¶ci równej warto¶ci parametru
poz.
Truncate (plik)-procedura plik - plik jednorodny
wynik: Usuniêcie z danego pliku wszystkich elementów, pocz±wszy
od bie¿±cego a¿ do koñca pliku, tzn. obciêcie pliku przed sk³adow±
o numerze równym wska¼nikowi pliku.
Exit-procedura
wynik: Zakoñczenie dzia³ania programu lub podprogramu (funkcji
lub procedury) - ?wyj¶cie" z bloku.
Halt (kod: Word)-procedura
kod - kod wyj¶cia z programu
wynik: Zakoñczenie dzia³ania programu i przekazanie do systemu
operacyjnego kodu wyj¶cia.
RunError (kod: Word)-procedura
kod - kod b³êdu wykonywania programu
wynik: Awaryjne zatrzymanie programu. Warto¶æ kod mo¿e byæ dowolna,
bez zwi±zku z numerami b³êdów wykonania programu.
Concat (s1[, s2, s3,...]: string): string-funkcja
s1, s2,s3... - napisy
wynik: Napis bêd±cy z³o¿eniem podanych parametrów s 1, s2, s3
itd., czyli warto¶æ wyra¿enia s 1 + s2 + s3 + ...
Copy (s: string; poz, dl: Integer): string-funkcja
s - napis
poz - numer znaku w napisie
dl - liczba znaków w napisie
wynik: Napis z³o¿ony z dl znaków wystêpuj±cych w danym napisie
s, pocz±wszy od znaku o podanym numerze.
Delete (s: string; poz, dl: Integer)-procedura
s - napis
poz - numer znaku w napisie
dl - liczba znaków do skasowania
wynik: Skasowanie zadanej liczby znaków (dl) w napisie s, pocz±wszy
od znaku o podanym numerze.
Insert (sw: string; var s: string; poz: Integer)-procedura
sw - napis wstawiany
s - napis, do którego siê wstawia
poz - numer znaku w napisie s
wynik: Wstawienie napisu sw do napisu s, miêdzy znakami o numerach
poz i poz + 1.
Length (s: string): Integer-funkcja
s - napis
wynik: D³ugo¶æ napisu (liczba znaków w napisie).
Pos (s, ss: string): Byte-funkcja
s - szukany napis
ss - przeszukiwany napis
wynik: Pozycja napisu s w napisie ss, tzn. numer znaku, od którego
znaki w napisie ss s± takie same, jak w s. Wynik zerowy oznacza,
¿e ss nie zawiera s.
Str (zm[: lpoz[:pokr]]; var s: string)-procedura
zm - zmienna typu rzeczywistego lub porz±dkowego ca³kowitego
lpoz - wymagana d³ugo¶æ napisu s
pokr - liczba cyfr po kropce dziesiêtnej (wraz z ni±)
s - napis
wynik: Konwersja warto¶ci rzeczywistej zm na napis s.
Val (s: string; zm; var kod: Integer)-procedura
s - zmienna typu napisowego
zm - warto¶æ arytmetyczna
kod - kod b³êdu
wynik: Konwersja napisu na warto¶æ arytmetyczn±. Warto¶æ zerowa
kodu oznacza poprawne wykonanie konwersji, warto¶æ ró¿na od zera
- to numer znaku w napisie, powoduj±cego b³±d.
Addr (zm): Pointer-funkcja
zm - obiekt bêd±cy zmienn± lub podprogramem
wynik: Wska¼nik danego obiektu.
CSeg: Word-funkcja
wynik: Zawarto¶æ rejestru CS procesora.
DSeg: Word-funkcja
wynik: Zawarto¶æ rejestru DS procesora (adres segmentu danych).
SPtr: Word-funkcja
wynik: Zawarto¶æ rejestru SP procesora (adres wzglêdny wska¼nika
stosu).
SSeg: Word-funkcja
wynik: Zawarto¶æ rejestru SS procesora.
Seg (zm): Word-funkcja
zm - obiekt bêd±cy zmienn± lub podprogramem
wynik: Numer segmentu, w którym znajduje siê wyszczególniony
obiekt.
Ofs (zm): Word-funkcja
zm - obiekt bêd±cy zmienn± lub podprogramem
wynik: Adres wzglêdny w segmencie z danym obiektem.
Ptr (seg, ofs: Word): Pointer-funkcja
seg - adres segmentu pamiêci
ofs - adres wzglêdny w segmencie
wynik: Wska¼nik komórki adresowanej za pomoc± adresu segmentu
i adresu wzglêdnego w segmencie.
FilIChar (zm; il: Word; wyp)-procedura
zm - zmienna dowolnego typu
il - liczba bajtów pamiêci
wyp - dowolne wyra¿enie typu porz±dkowego
wynik: Wype³nienie wyra¿eniem wyp kolejnych il bajtów zajêtych
przez zmienn± zm.
Hi (zm): Byte-funkcja
zm - wyra¿enie typu Integer lub Word
wynik: Bardziej znacz±cy bajt podanego s³owa.
Lo (zm): Byte-funkcja
zm - wyra¿enie typu Integer lub Word
wynik: Mniej znacz±cy bajt podanego s³owa.
Move (var ¼r, cel; d³: Word)-procedura
¼r - zmienna ?¼ród³owa"
cel - zmienna ?docelowa"
d³ - liczba bajtów
wynik: Skopiowanie d³ bajtów z obszaru zajmowanego przez zmienn±
"¼ród³ow±" do obszaru zajmowanego przez zmienn± "docelow±".
ParamCount: Word-funkcja
wynik: Liczba parametrów programu.
ParamStr (poz: Integer): string-funkcja
poz - numer parametru wywo³ania podprogramu
wynik: Napis równy parametrowi o numerze poz.
Random (zakr: Word) lub Random: Real-procedura
zakr - najwiêksza generowana liczba, zmniejszona o 1
wynik: Warto¶æ losowa typu Word z przedzia³u <0,zakr), a w
przypadku braku argumentu - typu Real z przedzia³u <0,1).
Randomize-procedura
wynik: Zainicjowanie generatora liczb losowych.
SizeOf(zm):Word-funkcja
zm - zmienna dowolnego typu lub nazwa typu
wynik: Liczba bajtów zajmowanych przez dan± zmienn±.
Swap (zm): typ zmiennej zm-funkcja
zm - zmienna typu Word lub Integer
Wynik: Zamiana miejscami pierwszego i ostatniego bajtu zajmowanego
przez zmienn±.
UpCase (zn: Char): Char-funkcja
zn - zmienna typu Char
wynik: Zamiana ma³ej litery, bêd±cej warto¶ci± zn, na wielk±.
New (var p: Pointer)-procedura
p - zmienna typu wska¼nikowego
wynik: Utworzenie zmiennej dynamicznej i przypisanie zmiennej
p wska¼nika tej zmiennej.
Dispose (var p: Pointer)-procedura
p - zmienna typu wska¼nikowego
wynik: Usuniêcie wska¼nika zmiennej dynamicznej i przypisanie
zmiennej p warto¶ci nieokre¶lonej (po wcze¶niejszym u¿yciu New).
GetMem (var p: Pointer; roz: Word)-procedura
p - zmienna typu wska¼nikowego
roz - liczba bajtów pamiêci
wynik: Rezerwacja pamiêci o pojemno¶ci ró¿ bajtów. Po wykonaniu
procedury zmienna p wskazuje zarezerwowany blok.
FreeMem (var p: Pointer; roz: Word)-procedura
p - zmienna typu wska¼nikowego
roz - liczba bajtów pamiêci
wynik: Zwolnienie pamiêci zarezerwowanej w GetMem.
Release (var p: Pointer)-procedura
p - zmienna typu wska¼nikowego
wynik: Zwolnienie pamiêci przydzielonej dynamicznie podczas wykonywania
programu od chwili ostatniego wykonania procedury New.
Mark (var p: Pointer)-procedura
p - zmienna typu wska¼nikowego
wynik: Zapamiêtanie stanu sterty. Po utworzeniu (w dalszym ci±gu
programu) nowych zmiennych dynamicznych warto¶æ p umo¿liwia ich
usuniêcie procedur± Release.
MaxAvail: Longint-funkcja
wynik: Pojemno¶æ najwiêkszego wolnego bloku w stercie.
MemAvail: Longint-funkcja
wynik: Suma pojemno¶ci wszystkich wolnych bloków w stercie (w
bajtach).
Chr (zm: Byte): Char-funkcja
zm - zmienna typu Byte
wynik: Znak, który w typie Char ma numer porz±dkowy równy zm.
Ord (zm): Longint-funkcja
zm - wyra¿enie typu porz±dkowego
Wynik: Liczba porz±dkowa warto¶ci wyra¿enia w typie.
Round (zm: Real): Longint-funkcja
zm - zmienna typu rzeczywistego
wynik: Zaokr±glenie warto¶ci rzeczywistej zm do najbli¿szej liczby
ca³kowitej.
Trunc (zm: Real): Longint-funkcja
zm - zmienna typu rzeczywistego
wynik: Obciêcie warto¶ci rzeczywistej do najbli¿szej liczby ca³kowitej
w kierunku zera (obciêcie miejsc po kropce dziesiêtnej).
Abs (zm): typ zmiennej zm-funkcja
zm - zmienna dowolnego typu
wynik: Warto¶æ bezwzglêdna argumentu funkcji.
ArcTan (zm: [Real][lnteger]): Real-funkcja
zm - argument typu Real lub Integer
wynik: Warto¶æ funkcji arcus tangens w mierze ³ukowej.
Sin (alfa: [Real] [Integer]): Real-funkcja
alfa - argument typu Real lub Integer (k±t w mierze ³ukowej)
wynik: Warto¶æ funkcji sinus k±ta alfa.
Cos (alfa: [Real] [Integer]): Real-funkcja
alfa - argument typu Real lub Integer (k±t w mierze ³ukowej)
wynik: Warto¶æ funkcji cosinus k±ta alfa.
Ln (zm: [Real][lnteger]): Real-funkcja
zm - argument typu Real lub Integer
wynik: Warto¶æ logarytmu naturalnego argumentu.
Exp (zm: [Real][Integer]): Real-funkcja
zm - argument typu Real lub Integer
wynik: Warto¶æ funkcji ezm.
Frac (zm: Real): Real-funkcja
zm - argument typu rzeczywistego
wynik: Czê¶æ u³amkowa argumentu.
Int (zm: Real): Real-funkcja
zm - argument typu rzeczywistego
wynik: Czê¶æ ca³kowita argumentu.
Pi: Real-funkcja
wynik: 3.1415926535897932385.
Sqr (zm): typ zmiennej zm-funkcja
zm - zmienna dowolnego typu wynik:
Kwadrat danej liczby.
Sqrt (zm: Real): Real-funkcja
zm - zmienna typu rzeczywistego
wynik: Pierwiastek kwadratowy danej liczby.
Dec (zm[, n]: Integer)-procedura
zm - zmienna typu porz±dkowego
n - krok (wyra¿enie typu ca³kowitego)
wynik: Zmniejszenie warto¶ci zmiennej o warto¶æ przyjêtego kroku.
Inc (zm[, n]: Integer)-procedura
zm - zmienna typu porz±dkowego
n - krok (wyra¿enie typu ca³kowitego)
wynik: Zwiêkszenie warto¶ci zmiennej o warto¶æ przyjêtego kroku.
Odd (zm: Longint): Boolean-funkcja
zm - zmienna typu ca³kowitego
wynik: True, gdy warto¶æ zmiennej jest liczb± nieparzyst±; False
- w przeciwnym wypadku.
Pred (zm): typ wyra¿enia zm-funkcja
zm - dowolne wyra¿enie typu porz±dkowego
wynik: Warto¶æ, której liczba porz±dkowa w typie jest o 1 mniejsza
od liczby porz±dkowej warto¶ci zm.
Succ (zm): typ wyra¿enia zm-funkcja
zm - dowolne wyra¿enie typu porz±dkowego
wynik: Warto¶æ, której liczba porz±dkowa w typie jest o 1 wiêksza
od liczby porz±dkowej warto¶ci zm.