Delphi Jegyzettömb létrehozása: Nyissa meg és mentse

Miközben különféle Windows alkalmazásokkal és Delphi, megszoktuk a szabványok egyikével való működést párbeszédpanelek fájl megnyitásához és mentéséhez, szöveg megkereséséhez és cseréjéhez, nyomtatáshoz, betűkészletek kiválasztásához vagy a színek beállításához.

Ebben a cikkben megvizsgáljuk ezeknek a párbeszédeknek a legfontosabb tulajdonságait és módszereit, különös figyelemmel Nyisd ki és Megment párbeszédpanelek.

A gyakori párbeszédpaneleket a Komponens paletta Dialogs fülén találja meg. Ezek az összetevők kihasználják a szokásos Windows párbeszédpaneleket (a \ Windows \ System könyvtárban található DLL-ben). Közös párbeszédpanel használatához el kell helyeznünk a megfelelő összetevőt (összetevőket) az űrlapra. A közös párbeszédpanel-alkotóelemek nem látványosak (nem rendelkeznek vizuális tervezési-idő felülettel), ezért a felhasználó számára futás közben láthatatlanok.

TOpenDialog és TSaveDialog

A Fájl megnyitása és a Fájl mentése párbeszédpaneleknek számos közös tulajdonsága van. A File Open általában a fájlok kiválasztására és megnyitására szolgál. A Fájl mentése párbeszédpanelt (a Mentés másként párbeszédpanelként is használva) akkor használják, amikor a felhasználó elnyeri a fájlnevet a fájl mentése céljából. A TOpenDialog és a TSaveDialog néhány fontos tulajdonsága a következő:

instagram viewer

  • Az Opciók a tulajdonságok nagyon fontosak a doboz végső megjelenésének és megjelenésének meghatározásában. Például egy kódsor, például:
    val vel OpenDialog1 csinálOpciók: = Opciók + [ofAllowMultiSelect, ofFileMustExist];
    megtartja a már beállított opciókat, és lehetővé teszi a felhasználók számára, hogy egynél több fájlt válasszanak a párbeszédpanelen, és hibaüzenetet generálnak, ha a felhasználó megpróbál kiválasztani egy nem létező fájlt.
  • Az InitialDir tulajdonság annak a könyvtárnak a meghatározására szolgál, amelyet a fájl párbeszédpanel megjelenésekor kezdő könyvtárként fog használni. A következő kód biztosítja, hogy a Megnyitás párbeszédpanel kezdeti könyvtára az Alkalmazások indítási könyvtára.
    SaveDialog1.InitialDir: = ExtractFilePath (alkalmazás. ExeName);
  • Az Szűrő tulajdonság azon fájltípusok listáját tartalmazza, amelyek közül a felhasználó választhat. Amikor a felhasználó kiválaszt egy fájltípust a listából, csak a kiválasztott típusú fájlok jelennek meg a párbeszédpanelen. A szűrő könnyen beállítható a tervezési időpontban a Szűrőszerkesztő párbeszédpanelen.
  • A fájlkódok létrehozásához a programkódban rendeljen hozzá egy értéket a Szűrés tulajdonsághoz, amely egy leírásból és egy maszkot tartalmaz, amelyet egy függőleges sáv (cső) karakter választ el. Mint ez:
    OpenDialog1.Filter: = 'Szöveges fájlok (* .txt) | * .txt | Minden fájl (*. *) | *. * ';
  • Az Fájl név ingatlan. Miután a felhasználó rákattint az OK gombra egy párbeszédpanelen, ez a tulajdonság tartalmazza a kiválasztott fájl teljes elérési útját és fájlnevét.

kivégez

A közös párbeszédpanel tényleges létrehozásához és megjelenítéséhez meg kell dolgozni a kivégez az adott párbeszédpanel módja futási időben. A TFindDialog és a TReplaceDialog kivételével az összes párbeszédpanel modálisan jelenik meg.

Az összes általános párbeszédpanel lehetővé teszi számunkra, hogy meghatározzuk, a felhasználó rákattint a Mégse gombra (vagy megnyomja az ESC billentyűt). Mivel a Végrehajtás módszer igaznak bizonyul, ha a felhasználó az OK gombra kattintott, be kell csapdáznunk a Mégse gombra való kattintással, hogy megbizonyosodjunk arról, hogy az adott kód nem kerül végrehajtásra.

ha OpenDialog1.Execute azután
ShowMessage (OpenDialog1.FileName);

Ez a kód megjeleníti a Fájl megnyitása párbeszédpanelt és a kiválasztott fájlnevet egy "sikeres" végrehajtási felhívás után (amikor a felhasználó az Open gombra kattint).

Megjegyzés: Az Execute visszatér True értékre, ha a felhasználó az OK gombra kattintott, duplán kattintott a fájlnevére (a fájl párbeszédablakok esetén), vagy nyomja meg az Enter billentyűt. Ha a felhasználó rákattint a Mégse gombra, megnyomja az Esc billentyűt, bezárja a párbeszédpanelt a rendszer bezárás gombjával vagy az Alt-F4 billentyűkombinációval, akkor a Végrehajtás eredménye hamis eredményt ad.

Kódból

Annak érdekében, hogy az Open párbeszédpanellel (vagy bármilyen másval) futási időben dolgozzunk anélkül, hogy az OpenDialog összetevőt elhelyeznénk az űrlapon, használhatjuk a következő kódot:

eljárás TForm1.btnFromCodeClick (Feladó: TObject); var OpenDlg: TOpenDialog; kezdődik OpenDlg: = TOpenDialog. Létrehozás (Ön); {itt állítsd be a lehetőségeket ...}ha OpenDlg. kivégez azutánkezdődik
{kód, hogy itt csinálj valamit}
vég; OpenDlg. Ingyenes; vég;

Megjegyzés: Az Execute meghívása előtt beállíthatunk (meg kell állítanunk) az OpenDialog összetevő tulajdonságait.

MyNotepad

Végül itt az ideje, hogy végezzen valódi kódolást. A cikk (és néhány, még várhatóan megjelenő) mögött rejlő ötlet egy egyszerű MyNotepad alkalmazás létrehozása - önálló Windows, mint például a Notepad alkalmazás.
Ebben a cikkben a Megnyitás és a Mentés párbeszédpaneleket mutatjuk be, tehát lássuk őket működés közben.

A MyNotepad felhasználói felületének létrehozásának lépései:
. Indítsa el a Delphit, és válassza a Fájl-új alkalmazás parancsot.
. Helyezzen egy űrlapot egy Memo, OpenDialog, SaveDialog két gombbal.
. A Button1 átnevezése a btnOpen, a Button2 a btnSave-nek.

Coding

1. Az Object Inspector használatával rendelje hozzá a következő kódot a FormCreate eseményhez:

eljárás TForm1.FormCreate (küldő: TObject); kezdődikval vel OpenDialog1 csinálkezdődik
Opciók: = Opciók + [ofPathMustExist, ofFileMustExist]; InitialDir: = ExtractFilePath (alkalmazás. ExeName); Szűrő: = 'Szöveges fájlok (* .txt) | * .txt'; vég; val vel SaveDialog1 csinálkezdődik
InitialDir: = ExtractFilePath (alkalmazás. ExeName); Szűrő: = 'Szöveges fájlok (* .txt) | * .txt'; vég; Memo1.ScrollBars: = ssBoth; végén;

Ez a kód beállítja a Megnyitás párbeszédpanel néhány tulajdonságát, a cikk elején tárgyalva.

2. Adja hozzá ezt a kódot a btnOpen és a btnSave gombok Onclick eseményéhez:

eljárás TForm1.btnOpenClick (Feladó: TObject); kezdődikha OpenDialog1.Execute azutánkezdődik
Form1.Caption: = OpenDialog1.FileName; Memo1.Lines. LoadFromFile. (OpenDialog1.FileName); Memo1.SelStart: = 0; vég; vég;
eljárás TForm1.btnSaveClick (Feladó: TObject); kezdődik
SaveDialog1.FileName: = Form1.Caption; ha SaveDialog1.Execute azutánkezdődik
Memo1.Lines. SaveToFile. (SaveDialog1.FileName + '.txt'); Form1.Caption: = SaveDialog1.FileName; vég; vég;

Futtassa a projektet. Nem tudod elhinni; a fájlok megnyílnak és elmennek, akárcsak a "valódi" Jegyzettömb.

Záró szavak

Ez az. Most megvan a saját "kis" Jegyzettömbünk.

instagram story viewer