HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Mappák generálása az Intéző segítségével


Példaprogram letöltése

8279 bájt

Tegyük fel, hogy szükségünk van mondjuk egy Abc01 nevű mappára. Ennek létrehozásához valószínűleg nem írunk programot. Tegyük fel, hogy szükségünk van 10 db mappára, melyek neve Abc01...Abc10, ehhez már nem ártana program, főleg akkor nem, ha rendszeresen létre kell hoznunk különböző nevű mappákat, melyek sorszámozottak. Ennek a programnak a futásához meg kell adni azt az információt, hogy mely mappán belül hozza létre a könyvtárakat. Ennek legegyszerűbb módja az lenne, ha az Intézőben egy mappán jobb gombbal kattintva megjelenne egy menüpont, mely indítaná a programunkat és rögtön az a mappa lenne a cél, melynél a menüpontot kiválasztottuk. Ekkor már csak az marad hátra, hogy a programnak megadjuk a létrehozandó mappák nevét és darabszámát.

A mellékelt példa lefordítása után a GenerateFolder.reg állományban javítsa ki az ott található elérési útvonalat arra, ahová a GenerateFolder.exe került az Ön gépén, majd adja hozzá a registry-hez a GenerateFolder.reg tartalmát. Ettől kezdve, ha egy mappán jobb gombbal kattint, akkor megjelenik a Generate folder menüpont is a többi között, mellyel elindíthatja Generate.exe alkalmazást.
Kezdjük azzal, hogy miként rendelhető új menüpont az Intéző gyorsmenüjéhez akkor, amikor a felhasználó egy-egy mappára kattint jobb gombbal. Ehhez a Windows regisztrációs adatbázisától kell segítséget kérnünk. A HKEY_CLASSES_ROOT főkulcs alatt találunk egy Folder nevű bejegyzést. Itt a Shell alkulcsnál adhatunk meg újabb menüpontokat, egyszerűen csak hozzunk létre egy új bejegyzést egyedi névvel:
[HKEY_CLASSES_ROOT\Folder\shell\GenerateFolder]
@="Generate folder..."
Ezen bejegyzésen belül kell egy Command nevű kulcsot kell létrehoznunk, melynél meg tudjuk adni, hogy melyik alkalmazás legyen elindítva a menüpont kiválasztásakor. A megadott program elérési útja és neve után a %L jelölés helyére automatikusan annak a mappának az elérési útja kerül, melyen a felhasználó jobb gombbal kattintott. Így a program indulásakor paraméterként kapja meg annak a mappának a nevét, melyben létre kell hoznia az új könyvtárakat.
[HKEY_CLASSES_ROOT\Folder\shell\GenerateFolder\Command]
@="F:\\So\\Cso\\0223\\GenerateFolder\\GenerateFolder.exe %L"
Ezt a paramétert rögtön fel is dolgozzuk a program indulásakor és az értékét megjelenítjük a label1 felirataként.
label1.Text=Environment.CommandLine. Split(' ')[1]+@"\";
A két további szükséges adat - a mappa név és a darab szám - megadása után a button1-re történő kattintással indítható el a létrehozás folyamata.
    private void button1_Click(object sender, System.EventArgs e)
    {
      if (label1.Text!="")
      {
        string path;
Ez a folyamat egy cikluson belül folyik, mely annyiszor fut, ahány mappát létre szeretnénk hozni. A létrehozásban a Directory osztály CreateDirectory függvénye segít bennünket.
        for (int i=1; i<=Convert.ToInt32(textBox2.Text); i++)
        {
          path=label1.Text+textBox1.Text+i.ToString("00");
          Directory.CreateDirectory(path);    
        }
      }
      Close();
    }

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2002 évkönyv 366. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |