ПредишенСледващото

Нов руски език търсачка "Иван Сусанин"

Не звучи ли ви познато? Трябва да се уверите, че програмата е търсил за даден файл. Всичко е добре, ако го направите има специален компонент (между другото, не е включена в стандартния комплект). И ако тя не съществува? Къде трябва да напишете алгоритъм за търсене на файлове.

В Делфи, има два функция за намиране на файлове. Те са следните:

Ние ще се разбере какво се разбира под тези функции. За да започнете, нека вземем първата - FindFirst. Нека разгледаме първо променлива.

Path Това е променлива, както подсказва името, което показва пътя до директорията, където ще започне да търси файла. В допълнение, тази променлива включва също така и името на файла (файл), която трябва да се намери. Освен това е възможно да се използват такива символи в името на файла: * (звездичка) и. (Въпрос марка). Значението на тези символи са стандартни: въпросителен знак - всеки валиден знак, звездичка - произволна комбинация от символи позволено. Под допустимите героите Разбирам героите, които могат да бъдат използвани в операционната система да се позова на имената на файловете.

Пример на променливата Path:

Забележете: Недопустимо е да се използват символите * или. в името на директорията. Тези символи могат да бъдат използвани само в името на файла.

ATTR променлива посочва вида на файловете, които се намират. Тип на променливата - цяло число. За да не се мъчите с запомняне номера, аз ви препоръчвам да си спомня тези думи:
  • faReadOnly - файлове, които са определени в полето "само за четене".
  • faHidden - файлове, които са "скрити" атрибут се задава.
  • faSysFile - файлове, чийто атрибут е настроен на "System".
  • faArchive - файлове, чийто атрибут е настроен на "Архив".
  • faDirectory - директория. Това означава, че при търсене поддиректории в указателя.
  • faAnyFile - всеки файл (включително faDirectory и faVolumeID).

Сега, с тези думи може да се третира като номера - ги добавите и изважда. Например:

Все пак, моля, имайте предвид: При използване на резултатите от изваждане може да изненада някои, така че е по-добре да не се злоупотреби с него.

Сега ние виждаме, какво дава функция. Функцията връща 0, ако то е било успешно, или, в противен случай, код за грешка. Освен това, ако се установи, функцията на файла, което отговаря условия и променлива Path и условия променлива ATTR, тя съхранява резултата в дадена променлива F (тип TSearchRec), което, разбира се, трябва да се декларира променлива команда.

тип TSearchRec могат да бъдат представени като:

Сега да видим какво е функция FindNext.

Ако отбор FindFirst намерен файл, че е възможно, ако имената на файловете със символите * и / или. има един или повече файлове, които съответстват на условията на търсене. В този случай, и използва FindNext команда. Функцията също се връща 0, ако то е било успешно, или, в противен случай, код за грешка. А също и записва данни в променлива Е.

Сега, че знаете тези два отбора, можете да съставяте и търсене алгоритъм, определен файл.

Забележка процедурата FindClose. Той освобождава паметта, която заема функциите FindFirst и FindNext.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!