Vytvorenie programu Poznámkový blok Delphi: Otvorte a uložte

Pri práci s rôznymi aplikáciami Windows a Delphi, zvykli sme si pracovať s jedným zo štandardov dialógové okná na otváranie a ukladanie súboru, vyhľadávanie a nahrádzanie textu, tlač, výber písma alebo nastavenie farieb.

V tomto článku preskúmame niektoré najdôležitejšie vlastnosti a metódy týchto dialógov so špeciálnym zameraním Otvorené a Uložiť dialógové okná.

Bežné dialógové okná sa nachádzajú na karte Dialogy na palete Komponent. Tieto komponenty využívajú štandardné dialógové okná systému Windows (umiestnené v knižnici DLL v adresári \ Windows \ System). Ak chcete použiť spoločné dialógové okno, musíme do formulára vložiť príslušnú súčasť (komponenty). Bežné komponenty dialógového okna sú nevizuálne (nemajú vizuálne rozhranie návrhu a času), a preto sú pre užívateľa neviditeľné za behu programu.

TOpenDialog a TSaveDialog

Dialógové okná Otvoriť a Uložiť súbor majú niekoľko spoločných vlastností. File Open sa zvyčajne používa na výber a otváranie súborov. Dialógové okno Uložiť súbor (používa sa aj ako dialógové okno Uložiť ako) sa používa pri získavaní názvu súboru od používateľa za účelom uloženia súboru. Niektoré z dôležitých vlastností TOpenDialogu a TSaveDialogu sú:

instagram viewer

  • možnosti Vlastnosti sú veľmi dôležité pri určovaní konečného vzhľadu a dojmu škatule. Napríklad riadok kódu, ako napríklad:
    s OpenDialog1 robiťMožnosti: = Možnosti + [ofAllowMultiSelect, ofFileMustExist];
    zachová už nastavené možnosti a umožní používateľom vybrať v dialógovom okne viac ako jeden súbor a vygenerovať chybové hlásenie, ak sa používateľ pokúsi vybrať neexistujúci súbor.
  • InitialDir Vlastnosť sa používa na určenie adresára, ktorý sa použije ako počiatočný adresár pri zobrazení dialógového okna súboru. Nasledujúci kód zabezpečí, že počiatočný adresár v dialógovom okne Otvoriť je spúšťací adresár aplikácií.
    SaveDialog1.InitialDir: = ExtractFilePath (Aplikácia. ExeName);
  • filter Vlastnosť obsahuje zoznam typov súborov, z ktorých si môže používateľ vybrať. Keď používateľ vyberie typ súboru zo zoznamu, v dialógovom okne sa zobrazia iba súbory vybraného typu. Filter sa dá ľahko nastaviť v čase návrhu pomocou dialógového okna Editor filtrov.
  • Ak chcete vytvoriť masky súborov v programovom kóde, priraďte k vlastnosti Filter hodnotu, ktorá pozostáva z popisu a masky oddelenej znakom zvislej čiary (potrubia). Páči sa ti to:
    OpenDialog1.Filter: = 'Textové súbory (* .txt) | * .txt | Všetky súbory (*. *) | *. * ';
  • Názov súboru nehnuteľnosť. Keď používateľ v dialógovom okne klikne na tlačidlo OK, táto vlastnosť bude obsahovať úplnú cestu a názov súboru vybraného súboru.

popraviť

Ak chcete skutočne vytvoriť a zobraziť spoločné dialógové okno, musíme spracovať popraviť metóda konkrétneho dialógového okna v čase vykonávania. S výnimkou TFindDialog a TReplaceDialog sa všetky dialógové okná zobrazujú modálne.

Všetky bežné dialógové okná nám umožňujú zistiť, či používateľ klikne na tlačidlo Zrušiť (alebo stlačí ESC). Pretože metóda Execute vracia true, ak používateľ klikol na tlačidlo OK, musíme kliknúť na tlačidlo Zrušiť, aby sme sa uistili, že daný kód nie je vykonaný.

ak OpenDialog1.Execute potom
ShowMessage (OpenDialog1.FileName);

Tento kód zobrazí dialógové okno Otvoriť súbor a po zvolení úspešného hovoru zobrazí vybraný názov súboru na vykonanie metódy (keď používateľ klikne na tlačidlo Otvoriť).

Poznámka: Execute vráti True, ak používateľ klikol na tlačidlo OK, dvakrát klikol na názov súboru (v prípade dialógových okien súborov) alebo stlačil kláves Enter na klávesnici. Execute vracia False, ak užívateľ klikol na tlačidlo Zrušiť, stlačil kláves Esc, zatvoril dialógové okno pomocou tlačidla zatvorenia systému alebo kombináciou klávesov Alt-F4.

Z kódu

Aby sme mohli pracovať s dialógovým oknom Open (alebo akýmkoľvek iným) za behu programu bez umiestnenia komponentu OpenDialog do formulára, môžeme použiť nasledujúci kód:

procedúra TForm1.btnFromCodeClick (Sender: TObject); var OpenDlg: TOpenDialog; začať OpenDlg: = TOpenDialog. Vytvoriť (vlastné); {nastaviť možnosti tu ...}ak OpenDlg. popraviť potomzačať
{kód urobiť niečo, čo tu}
koniec; OpenDlg. Zadarmo; koniec;

Poznámka: Pred volaním Execute môžeme (musíme) nastaviť ktorúkoľvek z vlastností komponenty OpenDialog.

MyNotepad

Nakoniec je čas urobiť nejaké skutočné kódovanie. Celá myšlienka tohto článku (a niekoľko ďalších, ktoré majú prísť) je vytvoriť jednoduchú aplikáciu MyNotepad - samostatný systém Windows, ako je napríklad program Poznámkový blok.
V tomto článku sú zobrazené dialógové okná Otvoriť a Uložiť, takže ich uvidíme v akcii.

Kroky na vytvorenie používateľského rozhrania MyNotepad:
. Spustite program Delphi a vyberte položku File-New Application.
. Do formulára vložte jedno tlačidlo Memo, OpenDialog a SaveDialog.
. Premenujte Button1 na btnOpen, Button2 na btnSave.

kódovanie

1. Použite inšpektor objektov na priradenie nasledujúceho kódu k udalosti FormCreate:

procedúra TForm1.FormCreate (Sender: TObject); začaťs OpenDialog1 robiťzačať
Možnosti: = Možnosti + [ofPathMustExist, ofFileMustExist]; InitialDir: = ExtractFilePath (Aplikácia. ExeName); Filter: = 'Textové súbory (* .txt) | * .txt'; koniec; s SaveDialog1 robiťzačať
InitialDir: = ExtractFilePath (Aplikácia. ExeName); Filter: = 'Textové súbory (* .txt) | * .txt'; koniec; Memo1.ScrollBars: = ssBoth; koniec;

Tento kód nastavuje niektoré z vlastností otvoreného dialógového okna, ako sa uvádza na začiatku článku.

2. Pridajte tento kód pre udalosť Onclick tlačidiel btnOpen a btnSave:

procedúra TForm1.btnOpenClick (Sender: TObject); začaťak OpenDialog1.Execute potomzačať
Form1.Caption: = OpenDialog1.FileName; Memo1.Lines. LoadFromFile. (OpenDialog1.FileName); Memo1.SelStart: = 0; koniec; koniec;
procedúra TForm1.btnSaveClick (Sender: TObject); začať
SaveDialog1.FileName: = Form1.Caption; ak SaveDialog1.Execute potomzačať
Memo1.Lines. SaveToFile. (SaveDialog1.FileName + '.txt'); Form1.Caption: = SaveDialog1.FileName; koniec; koniec;

Spustite svoj projekt. Nemôžete tomu uveriť; súbory sa otvárajú a ukladajú rovnako ako v prípade „skutočného“ Poznámkového bloku.

Záverečné slová

To je všetko. Teraz máme vlastný "malý" Poznámkový blok.