Ieškant failų dažnai naudinga ir būtina ieškoti poaplankuose. Čia sužinokite, kaip naudotis Delfistipriosios pusės, kad sukurtų paprastą, bet galingą failų, tinkančių visiems, sąrašą.
Failų / aplankų kaukių paieškos projektas
Šis projektas ne tik leidžia ieškoti failų per poaplankius, bet ir leidžia lengvai nustatyti failų atributus, tokius kaip Vardas, Dydis, Modifikavimo data ir kt. taigi galite pamatyti, kada iškviesti failų ypatybių dialogo langą iš „Windows Explorer“. Visų pirma, tai parodo, kaip rekursyviai ieškoti poaplankuose ir surinkti failų, kurie atitinka tam tikrą failų kaukę, sąrašą. Rekursijos technika apibūdinama kaip rutina, vadinama savo kodo viduriu.
Norėdami suprasti kodą projekte, turime susipažinti su kitais trim metodais, apibrėžtais „SysUtils“ įrenginyje: „FindFirst“, „FindNext“ ir „FindClose“.
„FindFirst“
„FindFirst“ yra inicijavimo skambutis, norint pradėti išsamią failų paieškos procedūrą naudojant „Windows API“ skambučiai. Ieškoma failų, kurie atitinka kelio specifikaciją. Kelias paprastai apima pakaitos simbolius (* ir?). Parametre „Attr“ yra failų atributų deriniai paieškai valdyti. Failo atributo konstantos, atpažintos „Attr“ yra:
faAnyFile (bet kuris failas), „faDirectory“ (katalogai), „faReadOnly“ (tik skaityti failus), faHidden (paslėpti failai), „faArchive“ (archyvo failai), „faSysFile“ (sistemos failai) ir faVolumeID (tūrio ID failai).Jei „FindFirst“ randa vieną ar daugiau atitinkančių failų, jis grąžina 0 (arba klaidos klaidos kodą, paprastai 18) ir įrašo įraše informaciją apie pirmąjį atitikimo failą. Norėdami tęsti paiešką, turime naudoti tą patį „TSearcRec“ įrašą ir perduoti jį „FindNext“ funkcijai. Užbaigus paiešką, reikia iškviesti „FindClose“ procedūrą, kad būtų išlaisvinti vidiniai „Windows“ ištekliai. „TSearchRec“ yra įrašas, apibrėžtas kaip:
Kai randamas pirmasis failas, parametras Rec užpildytas, o jūsų projektas gali naudoti šiuos laukus (reikšmes).
. Attr, failo atributai, kaip aprašyta aukščiau.
. vardas turi eilutę, kuri nurodo failo pavadinimą, be kelio informacijos
. Dydis rasta failo baitais.
. Laikas saugo failo modifikavimo datą ir laiką kaip failo datą.
. „FindData“ jame yra papildomos informacijos, tokios kaip failo sukūrimo laikas, paskutinės prieigos laikas ir ilgojo bei trumpojo failo pavadinimai.
Rasti kitą
Funkcija „FindNext“ yra antrasis išsamios failų paieškos procedūros žingsnis. Turite perduoti tą patį paieškos įrašą (Rec), kuris buvo sukurtas skambinant „FindFirst“. Grįžimo vertė iš „FindNext“ yra lygi nuliui sėkmės atveju arba klaidos kodas bet kuriai klaidai.
„FindClose“
Ši procedūra yra reikalinga „FindFirst“ / „FindNext“ nutraukimo skambučiui.
Rekursyvi failų kaukė, atitinkanti paiešką „Delphi“
Tai yra „Failų paieška“ projektas, koks jis rodomas vykdymo metu. Svarbiausi formos komponentai yra du redagavimo laukeliai, vienas sąrašo langas, žymimasis langelis ir mygtukas. Redagavimo laukeliai naudojami norint nurodyti kelią, kurio norite ieškoti, ir failo kaukę. Surasti failai rodomi sąrašo lauke ir, jei pažymėtas žymimasis laukelis, tada visi poaplankiai yra tikrinami, kad atitiktų failus.
Žemiau yra mažas projekto fragmentas iš projekto, tik norėdamas parodyti, kad ieškoti failų naudojant „Delphi“ yra taip paprasta, kaip gali būti: