Ситемали вакт ва кун билан ишлаш процедура ва функциялари, DiskFree, DiskSize, Fexpand, FSearch, FindFirst, FindNext, файл атрибутлари,
Dos модули - турли DOS функцияларини ишлатиш воситаларини уз ичига олади. Бу модулда жуда куп процедура ва функциялар мавжуд , лекин энг куп таркалганлари ва ушбу модулга кирмайдиган процедураларни куриб чикамиз.
Системали кун ва вакт билан ишлаш учун процедура ва функциялар:
procedure SetTime (Hour, Min, Sec,Sec100: word) - системали вактни урнатади. Бу ерда, Hour - вактни беради, Min - минутлар, Sec - секундлар, Sec100 - секунднинг юздан бир булаги.
procedure GetTime(var Hour, Min, Sec, Sec100: Word) - ситемали вактни кайтаради.
Кайтарилаётган узгарувчиларнинг чегара киймати : Hour 0..23, Min 0..59, Sec 0..59, и Sec100 0..99.
procedure GetDate(var Year, Month, Day, DayOfWeek: Word) - ситемали кунни кайтаради. Year - йил, Month- ой , Day - кун, DayOfWeek - хафта кунлари.
Кайтарилаётган узгарувчиларнинг чегара киймати: Year 1980..2099, Month 1..12, Day 1..31, и DayOfWeek 0..6 (бу ерда 0 - Якшанба).
procedure SetDate (Year, Month, Day: Word) - ситемали кунни урнатади. Узгарувчиларнинг кийматлари GetDate процедуасидаги кийматларга тенг.
Дисклар билан ишлаш учун процедура ва функциялар:
function DiskFree(Drive: Byte): Longint - курсатилган Drive дискини хотирадаги буш хажмини байтлардаги хажмини кайтаради.
Бу ерда Drive узгарувчиси - диск:
0 жорий диск
1 А диск
2 В диск
3 С диск
ва хокозо.
function DiskSize(Drive: Byte): Longint - курсатилган Drive дискини тула хажмини кайтаради.
Бу ерда Drive узгарувчиси- диск:
0 жорий диск
1 А диск A
2 В диск B
3 С диск C
ва хокозо.
Файллар билан ишлаш учун процедура ва функциялар:
function FExpand (Path: PathStr): PathStr - файл номини кенгайтиради.
Вазифаси : Файл номини Path параметри оркали берилган, тула файл номигача кенгайтиради.
Натижада олинган ном ёзув харфларига айлантирилиб, дисководларнинг харфий белгиларини уз ичига олади. Булар: икки нукта, илдиз каталогга кириш йули ва файл номи.
C:\SOURCE\PAS ни жорий диск ва каталог деб фараз киламиз, у холда FExpand процедураси куйидаги кийматларни беради:
FExpand('test.pas') = 'C:\SOURCE\PAS\TEST.PAS'
FExpand('../*.TPU') = 'C:\SOURCE\*.TPU'
FExpand('c:\bin\turbo.exe') = 'C:\BIN\TURBO.EXE'
Рrocedure FSplit(Path: PathStr; var Dir: DirStr; var Name: NameStr; var Ext: ExtStr) - лар файл номини учта компонентага булади.
Path параметри оркали берилган файл номи учта компонентага булинади Dir узгарувчиси учун дисководнинг харфий белгиси ва каталогга кириш маршрути урнатилади. Name узгарувчиси фай номи кийматини узлаштиради, Ext эса файл номи кенгаймасини узлаштиради..
PathStr, DirStr, ExtStr ва NameStr типлари Dos. модулида аникланган.
Файл номини компоненталарга булишда FSplit процедураси хеч кандай белгилар кушмийди ва учирмайди. Натижавий Dir, Name ва Ext кийматларни бирлаштиришда берилган маршрут олинади.
function Fsearch (Path: PathStr; L: String): PathStr функция каталоглар руйхатидан файлни ахтаради.
Path- бу ахтарилаётган файл номи ,L -каталоглар руйхати.
procedure FindFirst(Path: String; Attr: Bytе; var S:SearchRec);
Берилган ёзувдаги биринчи ёзувни ахтаради.
Бу процедурада Path урнига *, ? ни куллаш мумкин.. Attr - изланилаётган файл атрибути.
Натижа SearchRec ёзувига кайтади.
Мисол:
uses Dos;
var
DirInfo : SearchRec;
begin
FindFirst('*.PAS', Archive, DirInfo); { DIR каби*.PAS }
while DosError = 0 do
begin
Writeln(DirInfo.Name);
FindNext(DirInfo);
end;
end.
procedure FindNext(var s: SearchRec);
Вазифаси: Файл атрибутларига ва номига мос кейинги ёзувларни кайтаради.
Файл атрибутлари руйхати:
ReadOnly $01 - факат укищ учун
Hidden $02 - яширин
SysFile $04 - системали VolumeID $08 - том меткаси Directory $10 - каталог
Archive $20 - архивли
AnyFile $3F - хар кандай файл
Назорат саволлари
1.Белги нима?
2.Матнли режим кандай урнатилади?
3.Экранни тозалаш кандай амалга оширилади?
4.Курсор кандай бошкарилади?
5.Курсор координаталари кандай урнатилади?
6.Белгиларни учириб- ёндири кандай бажарилади?
7. LowVideo нинг вазифаси нима?
8.Клавиатурани бошкариш кандай амлга оширилади?
9. ReadKey ва KeyPressed функцияларининг вазифалари нима?
10. Dos модули нима?
11. Системали кун ва вакт билан ишлаш учун процедура ва функцияларининг вазифалари нима?
12. Дисклар билан ишлаш учун кандай процедура ва функциялар мавжуд?
Do'stlaringiz bilan baham: |