Funkcje i procedury zawarte w tym module umo磧iwiaj�
u篡tkownikowi ingerowanie w system operacyjny komputera. Pozwalaj�
wykona� wi瘯szo嗆 polece� systemu operacyjnego, zwi您anych z operacjami
dyskowymi, operacjami na funkcjach przerwa� BIOS-u i DOS-u itp.
Poni瞠j zamieszczono wykaz wszystkich funkcji i procedur, wchodz帷ych
w sk豉d niniejszego modu逝, oraz wykaz niezb璠nych do ich u篡cia
sta造ch, zmiennych i typ闚 predefiniowanych.
Sta貫
Do identyfikacji atrybut闚 plik闚 dyskowych
ReadOnIy = $01; plik tylko do odczytania
Hidden = $02; plik ukryty
SysFile = $04; plik systemowy
VolumelD = $08; etykieta dysku
Directory = $10; katalog dyskowy
Archive = $20; plik archiwalny
AnyFile == $3F; suma powy窺zych atrybut闚
Typy
rekord rejestr闚 procesora, u篡wany przy obs逝dze przerwa�
Registers = record
case Integer of
0:(AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags:Word);
1 :(AL,AH,BL,BH,CL,CH,DL,DH: Byte)
end;
rekord stosowany do generowania informacji o pliku dyskowym
SearchRec = record
Fill:array(1..21] of Byte;
Attr: Byte; {atrybuty pliku}
Time: Longint; {czas za這瞠nia pliku}
Size: Longint; {wielko嗆 pliku (bajty)}
Name: string[12] {nazwa i rozszerzenie}
end;
rekord stosowany przy przekszta販aniu zakodowanej wersji czasu
aktualizacji pliku - rekord daty i czasu
DateTime = record
Year, Month, Day, Hour, Min, Sec: Word
end;
typy napisowe
ComStr = string [ 127]; parametr wywo豉nia programu
PathStr = string [79]; pe軟a nazwa pliku
DirStr = string [67]; 軼ie磬a dost瘼u do pliku
NameStr = string [8]; nazwa pliku bez rozszerzenia
ExtStr = string [4]; rozszerzenie nazwy pliku
DosVersion: Word-funkcja
wynik: Podanie numeru wersji systemu operacyjnego. Otrzymuje
si� warto嗆, kt鏎ej mniej znacz帷y bajt okre郵a g堯wny numer stosowanej
wersji systemu operacyjnego DOS, a bardziej znacz帷y - poboczny.
Intr (num: Byte: var rej: registers)-procedura
num - numer przerwania
rej - przekazywane warto軼i p鏊 rekordu
wynik: Wykonanie przerwania o podanym numerze z przes豉niem warto軼i
p鏊 rekordu rej do rejestr闚 procesora.
MsDos (var rej: registers)-procedura
rej - przekazywane warto軼i p鏊 rekordu
wynik: Wykonanie przerwania systemu operacyjnego DOS.
GetDate (var rok, mc, dn, dntyg: Word)-procedura
rok -1980.. 2099
mc-1-12
dn-1..31
dntyg-0..6
wynik: Podanie daty z zegara systemowego (dntyg = O oznacza niedziel�).
SetDate (rok, mc, dn: Word)-procedura
rok -1980.. 2099
mc-1..12
dn-1..31 wynik: Ustawienie kalendarza.
GetTime (var godz, min, s瘯, s瘯 100: Word)-procedura
godz-0..23
min -O.. 59
s瘯 - O..59
sek100-0..99
wynik: Podanie bie膨cego czasu z zegara systemowego.
SetTime (godz, min, sek, sek100: Word)-procedura
godz-0.. 23
min - 0..59
sek - 0..59
sek100-0..99 wynik: Ustawienie zegara systemowego na zadan� godzin�.
GetCBreak (var break: Boolean)-procedura
break - zmienna typu Boolean
wynik: Sprawdzenie, czy naci郾i皻o klawisze CtrI-Break. Warto嗆
True oznacza, 瞠 program mo瞠 by� przerwany w dowolnej chwili,
a False - 瞠 tylko w czasie operacji wej軼ia-wyj軼ia.
SetCBreak (break: Boolean)-procedura
break - jak w GetCBreak
wynik: Ustawienie prze陰cznika kontroli stanu klawiszy CtrI-Break.
GetVerify (var verify: Boolean)-procedura
verify - zmienna typu Boolean
wynik: Stan prze陰cznika weryfikacji zapisu na dysku. Warto嗆
True oznacza przeprowadzanie weryfikacji zapisu na dysku, False
- 瞠 weryfikacja zapisu na dysku nie jest przeprowadzana.
SetVerify (verify: Boolean)-procedura
verify = True oznacza przeprowadzanie weryfikacji zapisu na dysku
verify = False oznacza, 瞠 weryfikacja zapisu na dysku nie b璠zie
przeprowadzana
wynik: Ustawienie prze陰cznika kontroli zapisu na dysku.
DiskFree (dysk: Byte): Longint-funkcja
dysk - numer stacji (O - bie膨ca, 1 - A:, 2 - B: itd.)
wynik: Liczba wolnych bajt闚 na wskazanym dysku.
DiskSize (dysk: Byte): Longint-funkcja
dysk - numer stacji (O - bie膨ca, 1 - A:, 2 - B: itd.)
wynik: Pojemno嗆 wskazanego dysku (w bajtach).
GetFAttr (var plik; var atr: Word)-procedura
plik - plik dyskowy zwi您any ze zmienn� plik
atr - atrybuty pliku dyskowego
wynik: Przypisanie parametrowi atr atrybut闚 pliku wskazanego
przez plik (patrz: Sta貫).
SetFAttr (var plik; atr: Word)-procedura
plik - plik dyskowy zwi您any ze zmienn� plik
atr - atrybuty pliku dyskowego
wynik: Zmiana warto軼i poszczeg鏊nych atrybut闚 pliku wskazanego
przez plik na nowe (atr).
GetFTime (var plik; var czas: Longint)-procedura
plik - plik dyskowy zwi您any ze zmienn� plik
czas - zakodowany czas ostatniej aktualizacji pliku dyskowego
wynik: Czas ostatniej aktualizacji wskazanego pliku dyskowego,
mo磧iwy do odczytania po u篡ciu procedury UnpackTime.
SetFTime (var plik; czas: Longint)-procedura
plik - plik dyskowy zwi您any ze zmienn� plik
czas - zakodowany czas utworzenia pliku dyskowego
wynik: Zmiana czasu aktualizacji wskazanego pliku dyskowego.
UnpackTime (pak: Longint; var rek: DateTime)-procedura czas -
zakodowany czas ostatniej aktualizacji pliku dyskowego
rek - rekord daty i czasu
wynik: Konwersja kodu czasu aktualizacji pliku, odczytanego w
GetFTime, na rekord daty i czasu (patrz: Typy).
PackTime (var rek: DateTime; czas: Longint)-procedura
czas - zakodowany czas ostatniej aktualizacji pliku dyskowego
rek - rekord daty i czasu
wynik: Konwersja rekordu daty i czasu na kod czasu aktualizacji
pliku dyskowego.
FindFirst (maska: PathStr; atr: Word; var info: SearchRec)-procedura
maska - wzorzec nazwy i rozszerzenia z ewentualn� 軼ie磬� dost瘼u
do szukanego pliku
atr - atrybut szukanego pliku
info - rekord zawieraj帷y informacje o znalezionym pliku (patrz:
Typy)
wynik: Szukanie pierwszego pliku wed逝g zadanego wzorca i atrybut闚.
Uzyskane informacje znajduj� si� w zmiennej info. Brak pliku jest
sygnalizowany w zmiennej DosError (patrz: Komunikaty b喚d闚).
FindNext (var info: SearchRec)-procedura
info - rekord zawieraj帷y informacje o znalezionym pliku (patrz:
Typy)
wynik: Szukanie nast瘼nego pliku wed逝g specyfikacji zamieszczonej
w procedurze FindFirst. Warto嗆 parametru aktualnego musi by�
taka sama, jak warto嗆 trzeciego parametru w FindFirst. Brak pliku
jest sygnalizowany w zmiennej DosError (patrz: Komunikaty b喚d闚).
GetlntVec [num: Byte; var wek: Pointer)-procedura
num - numer przerwania
wek - wska幡ik procedury obs逝gi przerwania
wynik: Przypisanie wek warto軼i r闚nej wska幡ikowi procedury
obs逝gi przerwania o danym numerze num.
SetIntVec (num: Byte; wek: Pointer)-procedura
num - numer przerwania
wek - wska幡ik procedury obs逝gi przerwania
wynik: Nowa interpretacja przerwania o danym numerze num, polegaj帷a
na wywo豉niu procedury obs逝gi wskazanej przez wska幡ik wek.
SwapVectors-procedura
wynik: Powr鏒 do poprzedniej interpretacji przerwa� wed逝g wska幡ik闚
procedur ich obs逝gi.
Keep (kod: Word)-procedura
kod - kod wyj軼ia
wynik: Zako鎍zenie wykonywania programu z pozostawieniem go w
pami璚i wraz ze stosem i stert�.
Exec (dost瘼: PathStr; par: ComStr)-procedura
dost瘼 - nazwa pliku lub pe軟a nazwa pliku
par - parametr wywo豉nia programu
wynik: Wywo豉nie programu z poziomu programu wykonywanego w danej
chwili (z zadanymi parametrami).
DosExitCode: Word-funkcja
wynik: Przyczyna zako鎍zenia programu wykonywanego za pomoc�
Exec:
0 - normalne zako鎍zenie;
1 - w wyniku u篡cia klawiszy CtrI-C lub CtrI-Break;
2 - z powodu b喚du urz康zenia;
3 - w wyniku u篡cia procedury Keep.
FSearch (dost瘼: PathStr; lista: string): PathStr-funkcja
dost瘼 - pe軟a nazwa szukanego plik
lista - lista katalog闚 (elementy oddzielane 鈔ednikami)
wynik: Szukanie pliku o pe軟ej nazwie dost瘼 z wykorzystaniem
軼ie磬i okre郵onej przez parametr lista. Otrzymana warto嗆 to
pe軟a nazwa pliku. Je郵i stacja i katalog s� bie膨ce, to wynikiem
jest tylko nazwa pliku. Je郵i plik nie zosta� odnaleziony, to
w wyniku otrzymuje si� napis pusty.
FExpand (dost瘼: PathStr): PathStr-funkcja
dost瘼 - pe軟a nazwa pliku
wynik: Pe軟a nazwa pliku.
FSplit (dost瘼: PathStr; var kat: DirStr; var naz: NameStr; var
roz; ExtStr)-procedura
dost瘼 - 軼ie磬a dost瘼u do pliku dyskowego z jego nazw� i rozszerzeniem
kat - numer stacji i 軼ie磬a dost瘼u
naz - nazwa pliku
roz - rozszerzenie nazwy pliku
wynik: Rozdzielenie podanej pe軟ej 軼ie磬i dost瘼u na trzy cz這ny:
numer stacji ze 軼ie磬� dost瘼u, nazw� pliku oraz rozszerzenie.
EnvCount: Integer-funkcja
wynik: Liczba parametr闚 typu napisowego, okre郵aj帷ych parametry
bie膨cego 鈔odowiska systemu operacyjnego.
EnvStr (num: Integer): string-funkcja
num - numer parametru okre郵aj帷ego 鈔odowisko systemu operacyjnego
wynik: Warto嗆 parametru num okre郵aj帷ego 鈔odowisko systemu
operacyjnego (patrz: EnvCount).
GetEnv (par: string): string-funkcja
par - nazwa parametru (typu napisowego) okre郵aj帷ego 鈔odowisko
systemu operacyjnego
wynik: Warto嗆 podanego parametru (patrz: EnvCount i EnvStr).