Fájlkezelő saját kezűleg

Tipikus fájlkezelő funkciók

A mappa létrehozásához a függvényt kell használni:

Egy párbeszéd minden alkalomra

Annak érdekében, hogy a felhasználó kényelmesen megadja a létrehozandó mappa nevét és még sok másat (később tárgyalok), úgy döntöttem, hogy létrehozok egy párbeszédpanelt. De mivel 3 művelet van, akkor 3 párbeszédablakot kell létrehoznod, mert minden egyes parancsnál kicsit más.

Úgy döntöttem, hogy a 3 forma túl sok, és úgy döntött, hogy egyedül csinálja. Most elmondom, hogyan tettem. Kezdetben az űrlapot a szokásos módon hoztam létre. Tegye fel 2 gomb, 2 címke és 1 szövegdoboz. Az Form1.h fájlban hozzáadtam egy sort:

Alapértelmezés szerint a C ++ a privát specifikátorokkal ellátja az összes űrlap osztályt, vagyis csak az osztályfüggvényből és a baráti osztály funkcióiból áll. És szükségem van rá, hogy a párbeszédablak összetevõit a fõ ablakból tudom kezelni. Tehát az első dolog, amit a nyilvánosság elé állítottak. Ezután hozzáadtam egy második konstruktort, amelyben átadom a karakterláncot az űrlap fejlécére. Itt van a kódja.

Semmi bonyolult, csak változtassa meg az űrlap fejlécét a tervezőnek átadott szöveghez. Most elértük a legérdekesebbet. Hogyan tudjuk kezelni a "csoda párbeszédünket"? Az űrlap létrehozásához írja be a következő sort:

Létrehozunk egy változót, és felhívjuk a konstruktort a "Create folder" paraméterrel. Ebben az esetben párbeszédpanelt fogunk létrehozni, amelyben kérés születik egy mappak létrehozásáról. Tovább mindent nagyon egyszerű. Ha módosítani szeretné a gombok szövegét és minden más dolgot, hozzáférjen hozzájuk, mintha a fő formában lennének.

Mivel az űrlap interaktív, minden gombhoz meg kell adni a DialogResult értéket. Ezzel megtudhatjuk, hogy melyik gombot nyomja meg a felhasználó. Figyelembe kell venni, hogy a Show () és a ShowDialog () nem kell ezt az űrlapot megjeleníteni. Ennek eredménye a megnyomott gomb DialogResult. Figyelj erre.

Folytatjuk a funkciók áttekintését

Tehát már megtanultuk, hogyan hozzunk létre mappákat. Most itt az ideje megtanulni, hogyan kell eltávolítani őket. Itt egy bosszantó korlátozással fogunk szembenézni. A WinAPI-ban van egy funkció:

De csak egy üres mappát távolít el. Remélem, hogy megérted a paraméterének célját. Tehát ha a mappa nem üres, akkor először törölni kell a fájlokról és az összes almappáról. Ehhez van egy funkció

A fájl teljes elérési útja, és megpróbálja törölni. Ha sikerül, akkor nem lesz 0, de ha nem sikerül, akkor 0.

Tudom, hogy a cikkemben megismert olvasók már tudják, hogy egy mappát törölni kell, és meg kell kezdeni az összes fájlt és mappát (természetesen rekurzív módon) törölni. A fájlok mappákban való kereséséről a cikk első részében írták le, amely az előző kiadásban olvasható.

A másolási művelet mellett fájltovábbítási művelet is van. Remélem, hogy a köztük lévő különbség mindenki számára ismert. Természetesen a mozgás másolással és törléssel valósítható meg, de a Microsoft programozói gondoskodtak ránk és írtak egy

Ez a funkció nem csak fájlokat, hanem mappákat is mozgathat. Az egyetlen dolog az, hogy a mappáknak ugyanazon a logikai meghajtón kell lenniük, különben semmi sem fog megjelenni.

Ezzel befejezem a történetemet a fájlrendszerrel való együttműködés funkcióiról. Természetesen nem volt teljes, elegendő ez az állomány egy egyszerű fájlkezelőt írni. Többet szeretne tudni? Az msdn olvasása. Kérdések lesznek, írj nekem az e-mailen.

Kapcsolódó cikkek