PROGRAMOWANIE
WEBMASTER:
 Artyku³y
 Kursy
 Skrypty
PHP:
 Artyku³y
 Kursy
 Skrypty
VISUAL C/C++:
 Artyku³y
 Kursy
 Kody ¼ród³owe
C++ BUILDER:
 Artyku³y
 Kursy
 Komponenty
 Kody ¼ród³owe
 FAQ
DELPHI:
 Artyku³y
 Kursy
 Komponenty
 Kody ¼ród³owe
 FAQ
JAVA:
 Artyku³y
 Kursy
 Aplety
ASP:
 Artyku³y
 Kursy
 Skrypty
VISUAL BASIC:
 Artyku³y
 Kursy
 Kody ¼ród³owe
PASCAL:
 Artyku³y
 Kursy
 Kody ¼ród³owe
ASSEMBLER:
 Artyku³y
 Kursy
 Kody ¼ród³owe
O NAS [...]
 Ekipa portalu
 Reklama
REKLAMA

Pascal » Artyku³y
Opis modu³u Dos
Funkcje i procedury zawarte w tym module umo¿liwiaj± u¿ytkownikowi ingerowanie w system operacyjny komputera. Pozwalaj± wykonaæ wiêkszo¶æ poleceñ systemu operacyjnego, zwi±zanych z operacjami dyskowymi, operacjami na funkcjach przerwañ BIOS-u i DOS-u itp. Poni¿ej zamieszczono wykaz wszystkich funkcji i procedur, wchodz±cych w sk³ad niniejszego modu³u, oraz wykaz niezbêdnych do ich u¿ycia sta³ych, zmiennych i typów predefiniowanych.

Sta³e

Do identyfikacji atrybutów plików 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¿szych atrybutów

Typy

rekord rejestrów procesora, u¿ywany przy obs³udze 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³o¿enia pliku}

Size: Longint; {wielko¶æ pliku (bajty)}

Name: string[12] {nazwa i rozszerzenie}

end;

rekord stosowany przy przekszta³caniu 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³ania programu

PathStr = string [79]; pe³na nazwa pliku

DirStr = string [67]; ¶cie¿ka dostêpu 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órej mniej znacz±cy bajt okre¶la g³ówny numer stosowanej wersji systemu operacyjnego DOS, a bardziej znacz±cy - poboczny.

Intr (num: Byte: var rej: registers)-procedura

num - numer przerwania

rej - przekazywane warto¶ci pól rekordu

wynik: Wykonanie przerwania o podanym numerze z przes³aniem warto¶ci pól rekordu rej do rejestrów procesora.

MsDos (var rej: registers)-procedura

rej - przekazywane warto¶ci pól 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êk, sêk 100: Word)-procedura

godz-0..23

min -O.. 59

sêk - 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¶niêto klawisze CtrI-Break. Warto¶æ True oznacza, ¿e program mo¿e byæ przerwany w dowolnej chwili, a False - ¿e tylko w czasie operacji wej¶cia-wyj¶cia.

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 - ¿e weryfikacja zapisu na dysku nie jest przeprowadzana.

SetVerify (verify: Boolean)-procedura

verify = True oznacza przeprowadzanie weryfikacji zapisu na dysku

verify = False oznacza, ¿e weryfikacja zapisu na dysku nie bêdzie 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ów 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±zany ze zmienn± plik

atr - atrybuty pliku dyskowego

wynik: Przypisanie parametrowi atr atrybutów pliku wskazanego przez plik (patrz: Sta³e).

SetFAttr (var plik; atr: Word)-procedura

plik - plik dyskowy zwi±zany ze zmienn± plik

atr - atrybuty pliku dyskowego

wynik: Zmiana warto¶ci poszczególnych atrybutów pliku wskazanego przez plik na nowe (atr).

GetFTime (var plik; var czas: Longint)-procedura

plik - plik dyskowy zwi±zany ze zmienn± plik

czas - zakodowany czas ostatniej aktualizacji pliku dyskowego

wynik: Czas ostatniej aktualizacji wskazanego pliku dyskowego, mo¿liwy do odczytania po u¿yciu procedury UnpackTime.

SetFTime (var plik; czas: Longint)-procedura

plik - plik dyskowy zwi±zany 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± ¶cie¿k± dostêpu do szukanego pliku

atr - atrybut szukanego pliku

info - rekord zawieraj±cy informacje o znalezionym pliku (patrz: Typy)

wynik: Szukanie pierwszego pliku wed³ug zadanego wzorca i atrybutów. Uzyskane informacje znajduj± siê w zmiennej info. Brak pliku jest sygnalizowany w zmiennej DosError (patrz: Komunikaty b³êdów).

FindNext (var info: SearchRec)-procedura

info - rekord zawieraj±cy informacje o znalezionym pliku (patrz: Typy)

wynik: Szukanie nastêpnego pliku wed³ug 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ów).

GetlntVec [num: Byte; var wek: Pointer)-procedura

num - numer przerwania

wek - wska¼nik procedury obs³ugi przerwania

wynik: Przypisanie wek warto¶ci równej wska¼nikowi procedury obs³ugi przerwania o danym numerze num.

SetIntVec (num: Byte; wek: Pointer)-procedura

num - numer przerwania

wek - wska¼nik procedury obs³ugi przerwania

wynik: Nowa interpretacja przerwania o danym numerze num, polegaj±ca na wywo³aniu procedury obs³ugi wskazanej przez wska¼nik wek.

SwapVectors-procedura

wynik: Powrót do poprzedniej interpretacji przerwañ wed³ug wska¼ników procedur ich obs³ugi.

Keep (kod: Word)-procedura

kod - kod wyj¶cia

wynik: Zakoñczenie wykonywania programu z pozostawieniem go w pamiêci wraz ze stosem i stert±.

Exec (dostêp: PathStr; par: ComStr)-procedura

dostêp - nazwa pliku lub pe³na nazwa pliku

par - parametr wywo³ania programu

wynik: Wywo³anie programu z poziomu programu wykonywanego w danej chwili (z zadanymi parametrami).

DosExitCode: Word-funkcja

wynik: Przyczyna zakoñczenia programu wykonywanego za pomoc± Exec:

0 - normalne zakoñczenie;

1 - w wyniku u¿ycia klawiszy CtrI-C lub CtrI-Break;

2 - z powodu b³êdu urz±dzenia;

3 - w wyniku u¿ycia procedury Keep.

FSearch (dostêp: PathStr; lista: string): PathStr-funkcja

dostêp - pe³na nazwa szukanego plik

lista - lista katalogów (elementy oddzielane ¶rednikami)

wynik: Szukanie pliku o pe³nej nazwie dostêp z wykorzystaniem ¶cie¿ki okre¶lonej przez parametr lista. Otrzymana warto¶æ to pe³na nazwa pliku. Je¶li stacja i katalog s± bie¿±ce, to wynikiem jest tylko nazwa pliku. Je¶li plik nie zosta³ odnaleziony, to w wyniku otrzymuje siê napis pusty.

FExpand (dostêp: PathStr): PathStr-funkcja

dostêp - pe³na nazwa pliku

wynik: Pe³na nazwa pliku.

FSplit (dostêp: PathStr; var kat: DirStr; var naz: NameStr; var roz; ExtStr)-procedura

dostêp - ¶cie¿ka dostêpu do pliku dyskowego z jego nazw± i rozszerzeniem

kat - numer stacji i ¶cie¿ka dostêpu

naz - nazwa pliku

roz - rozszerzenie nazwy pliku

wynik: Rozdzielenie podanej pe³nej ¶cie¿ki dostêpu na trzy cz³ony: numer stacji ze ¶cie¿k± dostêpu, nazwê pliku oraz rozszerzenie.

EnvCount: Integer-funkcja

wynik: Liczba parametrów typu napisowego, okre¶laj±cych parametry bie¿±cego ¶rodowiska systemu operacyjnego.

EnvStr (num: Integer): string-funkcja

num - numer parametru okre¶laj±cego ¶rodowisko systemu operacyjnego

wynik: Warto¶æ parametru num okre¶laj±cego ¶rodowisko systemu operacyjnego (patrz: EnvCount).

GetEnv (par: string): string-funkcja

par - nazwa parametru (typu napisowego) okre¶laj±cego ¶rodowisko systemu operacyjnego

wynik: Warto¶æ podanego parametru (patrz: EnvCount i EnvStr).


Adam Æwik³a
NEWSLETTER
Chcesz byæ zawsze na bie¿±co?
Zapisz siê!
WP.PL
LITERATURA
INNE [?]
Katalog WWW
Sponsor
On-Line: 5
stat4u
Wszystkie prawa zastrze¿one © 2001-2002 Programik.com