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.
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.