Dos moduli
Sitemali vakt va kun bilan ishlash protsedura va funksiyalari, DiskFree, DiskSize, Fexpand, FSearch, FindFirst, FindNext, fayl atributlari,
Dos moduli - turli DOS funksiyalarini ishlatish vositalarini uz ichiga oladi. Bu modulda juda kup protsedura va funksiyalar mavjud , lekin eng kup tarkalganlari va ushbu modulga kirmaydigan protseduralarni kurib chikamiz.
Sistemali kun va vakt bilan ishlash uchun protsedura va funksiyalar:
procedure SetTime (Hour, Min, Sec,Sec100: word) - sistemali vaktni o’rnatadi. Bu yerda, Hour - vaktni beradi, Min - minutlar, Sec - sekundlar, Sec100 - sekundning yuzdan bir bulagi.
procedure GetTime(var Hour, Min, Sec, Sec100: Word) - sitemali vaktni kaytaradi.
Kaytarilayotgan uzgaruvchilarning chegara kiymati : Hour 0..23, Min 0..59, Sec 0..59, i Sec100 0..99.
procedure GetDate(var Year, Month, Day, DayOfWeek: Word) - sitemali kunni kaytaradi. Year - yil, Month- oy , Day - kun, DayOfWeek - xafta kunlari.
Kaytarilayotgan uzgaruvchilarning chegara kiymati: Year 1980..2099, Month 1..12, Day 1..31, i DayOfWeek 0..6 (bu yerda 0 - Yakshanba).
procedure SetDate (Year, Month, Day: Word) - sitemali kunni o’rnatadi. Uzgaruvchilarning kiymatlari GetDate protseduasidagi kiymatlarga teng.
Disklar bilan ishlash uchun protsedura va funksiyalar:
function DiskFree(Drive: Byte): Longint - ko’rsatilgan Drive diskini xotiradagi bush xajmini baytlardagi xajmini kaytaradi.
Bu yerda Drive uzgaruvchisi - disk:
0 joriy disk
1 A disk
2 V disk
3 S disk
va xokozo.
function DiskSize(Drive: Byte): Longint - ko’rsatilgan Drive diskini tula xajmini kaytaradi.
Bu yerda Drive uzgaruvchisi- disk:
0 joriy disk
1 A disk A
2 V disk B
3 S disk C
va xokozo.
Fayllar bilan ishlash uchun protsedura va funksiyalar:
function FExpand (Path: PathStr): PathStr - fayl nomini kengaytiradi.
Vazifasi : Fayl nomini Path parametri orkali berilgan, tula fayl nomigacha kengaytiradi.
Natijada olingan nom yozuv xarflariga aylantirilib, diskovodlarning xarfiy belgilarini uz ichiga oladi. Bular: ikki Nuqta, ildiz katalogga kirish yuli va fayl nomi.
C:\SOURCE\PAS ni joriy disk va katalog deb faraz kilamiz, u xolda FExpand protsedurasi kuyidagi kiymatlarni beradi:
FExpand('test.pas') = 'C:\SOURCE\PAS\TEST.PAS'
FExpand('../*.TPU') = 'C:\SOURCE\*.TPU'
FExpand('c:\bin\turbo.exe') = 'C:\BIN\TURBO.EXE'
Rrocedure FSplit(Path: PathStr; var Dir: DirStr; var Name: NameStr; var Ext: ExtStr) - lar fayl nomini uchta komponentaga buladi.
Path parametri orkali berilgan fayl nomi uchta komponentaga bulinadi Dir uzgaruvchisi uchun diskovodning xarfiy belgisi va katalogga kirish marshruti o’rnatiladi. Name uzgaruvchisi fay nomi kiymatini uzlashtiradi, Ext esa fayl nomi kengaymasini uzlashtiradi..
PathStr, DirStr, ExtStr va NameStr tiplari Dos. modulida aniklangan.
Fayl nomini komponentalarga bulishda FSplit protsedurasi xech qanday belgilar kushmiydi va uchirmaydi. Natijaviy Dir, Name va Ext kiymatlarni birlashtirishda berilgan marshrut olinadi.
function Fsearch (Path: PathStr; L: String): PathStr funksiya kataloglar ruyxatidan faylni axtaradi.
Path- bu axtarilayotgan fayl nomi ,L -kataloglar ruyxati.
procedure FindFirst(Path: String; Attr: Byte; var S:SearchRec);
Berilgan yozuvdagi birinchi yozuvni axtaradi.
Bu protsedurada Path urniga *, ? ni kullash mumkin.. Attr - izlanilayotgan fayl atributi.
Natija SearchRec yozuviga kaytadi.
Misol:
uses Dos;
var
DirInfo : SearchRec;
begin
FindFirst('*.PAS', Archive, DirInfo); { DIR kabi*.PAS }
while DosError = 0 do
begin
Writeln(DirInfo.Name);
FindNext(DirInfo);
end;
end.
procedure FindNext(var s: SearchRec);
Vazifasi: Fayl atributlariga va nomiga mos keyingi yozuvlarni kaytaradi.
Fayl atributlari ruyxati:
ReadOnly $01 - fakat ukiщ uchun
Hidden $02 - yashirin
SysFile $04 - sistemali VolumeID $08 - tom metkasi Directory $10 - katalog
Archive $20 - arxivli
AnyFile $3F - xar qanday fayl
Do'stlaringiz bilan baham: |