A Delphi használata az egyéni Windows Intéző létrehozásához

A Windows Intézőt használja a Windows operációs rendszerben fájlok és mappák böngészéséhez. Készíthet hasonló struktúrát a Delphi programmal úgy, hogy ugyanaz a tartalom jelenjen meg a program felhasználói felületén.

Általános párbeszédpaneleket használnak a Delphi-ben nyisson meg és mentsen egy fájlt egy alkalmazásban. Ha testreszabott fájlkezelőket és könyvtári böngészési párbeszédablakokat szeretne használni, akkor a Delphi fájlrendszer összetevőivel kell foglalkoznia.

A Win 3.1 VCL palettacsoport számos összetevőt tartalmaz, amelyek lehetővé teszik a saját "File Open" vagy "File Save" párbeszédpanel létrehozását: TFileListBox, TDirectoryListBox, TDriveComboBoxés TFilterComboBox.

Navigálás a fájlokban

A fájlrendszer-összetevők lehetővé teszik a meghajtó kiválasztását, a lemez hierarchikus könyvtárstruktúrájának és az adott könyvtárban lévő fájlok neveinek megtekintését. Az összes fájlrendszer-összetevőt együttműködésre tervezték.

Például a kódja ellenőrzi, hogy a felhasználó mit tett például egy DriveComboBox-szal, majd továbbítja ezeket az információkat a DirectoryListBox-hoz. A DirectoryListBox változtatásait ezután továbbítják egy FileListBox fájlba, ahol a felhasználó kiválaszthatja a szükséges fájlokat.

instagram viewer

A párbeszédablak megtervezése

Indítson el egy új Delphi alkalmazás és válassza a Win Win fület Alkatrész paletta. Ezután tegye a következőket:

  • Helyezzen el egy TFileListBox, TDirectoryListBox, TDriveComboBox és TFilterComboBox összetevőt egy űrlapra, megtartva minden alapértelmezett nevüket
  • Adjon hozzá egy TEdit ("FileNameEdit" néven) és egy TLabel (hívjuk "DirLabel" -nek).
  • Helyezzen be néhány címkét feliratokkal, például: "Fájlnév", "Címtár", "Típusfájlok listája" és "Meghajtók".

A DirLabel komponensek képaláírásában az aktuálisan kiválasztott útvonal karakterláncként történő megjelenítéséhez rendelje hozzá a Címke nevét a DirectoryListBox DirLabel tulajdonság.

Ha a kiválasztott fájlnevet megjeleníti egy EditBox-ban (FileNameEdit), akkor az Edit Object Name (FileNameEdit) -et hozzá kell rendelnie a FileListBox-hoz. FileEdit tulajdonság.

További kódsorok

Ha az összes fájlrendszer-összetevő megtalálható az űrlapon, akkor csak be kell állítania a DirectoryListBox-ot. Meghajtó tulajdonság és a FileListBox. A könyvtár tulajdonsága annak érdekében, hogy az összetevők kommunikálhassanak és megmutathassák, amit a felhasználó látni akar.

Például, amikor a felhasználó új meghajtót választ, a Delphi aktiválja a A DriveComboBox OnChange eseménykezelő. Tegye így néz ki:

 eljárás TForm1.DriveComboBox1Change (Feladó: TObject);
beginDirectoryListBox1.Drive: = DriveComboBox1.Drive;
végén;

Ez a kód megváltoztatja a képernyőt a DirectoryListBox aktiválásával OnChange eseménykezelő:

 eljárás TForm1.DirectoryListBox1Change (Feladó: TObject);
beginFileListBox1.Directory: = DirectoryListBox1.Directory;
végén;

Annak megtekintéséhez, hogy a felhasználó milyen fájlt választott ki, használnia kell a ondblclick esemény FileListBox:

 eljárás TForm1.FileListBox1DblClick (Feladó: TObject);
beginShowmessage ('Kiválasztva:' + FileListBox1.FileName);
végén;

Ne feledje, hogy a Windows konvenciója, hogy dupla kattintással válassza ki a fájlt, és ne egyetlen kattintással. Ez fontos, ha a FileListBox-szal dolgozik, mert egy nyílbillentyű használata a FileListBox-on való átjutáshoz meghívja az összes OnClick-kezelőt, amelyet írt.

A kijelző szűrése

A FilterComboBox segítségével ellenőrizze a FileListBox fájlban megjelenített fájltípusokat. Miután a FilterComboBox FileList tulajdonságát FileListBox névre állította, állítsa a Szűrő tulajdonságot a megjeleníteni kívánt fájltípusokra.

Íme egy példaszűrő:

 FilterComboBox1.Filter: = 'Minden fájl (*. *) | *. * | Projekt fájlok (* .dpr) | * .dpr | Pascal egységek (* .pas) | * .pas ';

Tanácsok és tippek

A DirectoryListBox beállítása. Meghajtó tulajdonság és a FileListBox. A könyvtártulajdon (a korábban írt OnChange eseménykezelőkben) futási időben a tervezési időben is elvégezhető. Ezt a fajta kapcsolatot a tervezési időpontban a következő tulajdonságok beállításával (az Object Inspector segítségével) lehet megvalósítani:

DriveComboBox1.DirList: = DirectoryListBox1
DirectoryListBox1.FileList: = FileListBox1

A felhasználók több fájlt választhatnak a FileListBox fájlban, ha a MultiSelect tulajdonsága True. A következő kód bemutatja, hogyan lehet létrehozni a többszörös kiválasztások listáját a FileListBox-ban, és megjeleníteni a SimpleListBox-ban (néhány "rendes" ListBox-vezérlőben).

 var k: egész szám; ...
a FileListBox1 segítségével
ha SelCount> 0, akkor
k esetén: = 0 tételekhez. 1-es gróf
ha kiválasztva [k], akkor
SimpleListBox. Terméket. Összeadás (tételek [k]);

Ha nem szeretne ellipszissel lerövidíteni az olyan teljes elérési útvonalakat, ne rendeljen hozzá Label objektumnevet a DirectoryListBox DirLabel tulajdonságához. Ehelyett illesszen be egy címkét egy űrlapba, és állítsa a képaláírási tulajdonságát a DirectoryListBox OnChange eseményében a DirectoryListBox elemre. Directory tulajdonság.