Како тражити датотеке и мапе помоћу Делпхија

При тражењу датотека често је корисно и потребно претраживати подмапе. Ево, погледајте како користити Делпхиснага за стварање једноставног, али моћног пројекта проналажења свих датотека.

Пројект претраживања датотека / мапа

Следећи пројекат не само да вам омогућава претраживање датотека преко подмапа, већ вам омогућава и лако одређивање атрибута датотеке, као што су име, величина, датум измене итд. тако да можете видети када требате позвати дијалог са својствима датотеке из Виндовс Екплорер. Посебно показује како рекурзивно претражујете подмапе и саставите листу датотека које одговарају одређеној маски датотека. Техника рекурзије је дефинисана као рутина која себе позива усред свог кода.

Да бисмо разумели код у пројекту, морамо се упознати са следеће три методе дефинисане у јединици СисУтилс: ФиндФирст, ФиндНект и ФиндЦлосе.

ФиндФирст

ФиндФирст је позив за иницијализацију за покретање детаљног поступка претраживања датотека користећи Виндовс АПИ позиви. Претрага тражи датотеке које одговарају спецификацији пута. Пут обично укључује знакове с посебним словима (* и?). Аттр параметар садржи комбинације атрибута датотека за контролу претраживања. Константе атрибута датотеке препознате у Аттр су:

instagram viewer
фаАниФиле (било која датотека), фаДирецтори (директорији), фаРеадОнли (само за читање датотека), скривено (скривене датотеке), фаАрхива (архивске датотеке), фаСисФиле (системске датотеке) и фаВолумеИД (датотеке ИД-а волумена).

Ако ФиндФирст нађе једну или више одговарајућих датотека, враћа 0 (или код грешке за неуспех, обично 18) и испуњава Рец с подацима о првој датотеци која се подудара. Да бисмо наставили претрагу, морамо користити исти ТСеарцРец запис и проследити га на функцију ФиндНект. Када се претрага заврши, поступак ФиндЦлосе мора бити позван да се ослободи унутрашњих ресурса оперативног система Виндовс. ТСеарцхРец је запис дефинисан као:

Када се прва датотека нађе, параметар Рец се попуни и следећа поља (вредности) могу да користе ваш пројекат.
. Аттр, атрибуте датотеке као што је горе описано.
. Име садржи низ који представља име датотеке, без информација о стази
. Величина у бајтовима пронађене датотеке.
. време чува датум и време измене датотеке као датум датотеке.
. ФиндДата садржи додатне информације као што су време креирања датотеке, време последњег приступа и оба дуга и кратка имена датотека.

Наћи следећи

Функција ФиндНект други је корак у детаљном поступку претраживања датотека. Морате да прођете исти запис претраживања (Рец) који је креиран позивом на ФиндФирст. Повратна вредност из ФиндНект-а је нула за успех или код грешке за сваку грешку.

ФиндЦлосе

Овај поступак је потребан раскидни позив за ФиндФирст / ФиндНект.

Рекурзивна маска датотека која одговара претраживању у Делфима

Ово је пројекат „Тражење датотека“ како се појављује у току извођења. Најважније компоненте на обрасцу су два поља за уређивање, једно поље са списком, потврдни оквир и дугме. Оквири за уређивање користе се за одређивање путање у којој желите претраживати и маске датотеке. Пронађене датотеке се приказују у пољу Листа и ако је потврдни оквир, тада се све подмапе скенирају како би пронашле одговарајуће датотеке.

Испод је мали исјечак кода из пројекта, само да бисмо показали да је претрага датотека помоћу Делпхија најједноставнија колико може бити: