Delphi piezīmjdatora izveidošana: atveriet un saglabājiet

Strādājot ar dažādām Windows lietojumprogrammām un Delfi, mēs esam pieraduši darboties saskaņā ar kādu no standartiem dialoglodziņos faila atvēršanai un saglabāšanai, teksta atrašanai un aizstāšanai, drukāšanai, fontu izvēlei vai krāsu iestatīšanai.

Šajā rakstā mēs apskatīsim dažus svarīgākos šo dialogu rekvizītus un metodes, īpašu uzmanību pievēršot Atvērt un Saglabāt dialoglodziņos.

Parastie dialoglodziņi ir atrodami komponentu paletes cilnē Dialogs. Šie komponenti izmanto standarta Windows dialoglodziņu priekšrocības (tie atrodas DLL jūsu \ Windows \ System direktorijā). Lai izmantotu parastu dialoglodziņu, mums veidlapā jānovieto atbilstošais komponents (komponenti). Parastie dialoglodziņa komponenti nav vizuāli (tiem nav vizuālā dizaina un laika saskarnes), un tāpēc tie izpildes laikā ir neredzami lietotājam.

TOpenDialog un TSaveDialog

Dialoglodziņiem File Open un File Save ir vairākas kopīgas īpašības. Failu atvēršana parasti tiek izmantota failu atlasīšanai un atvēršanai. Dialoglodziņš Failu saglabāšana (tiek izmantots arī kā dialoglodziņš Saglabāt kā) tiek izmantots, lai no lietotāja iegūtu faila nosaukumu faila saglabāšanai. Dažas no TOpenDialog un TSaveDialog svarīgajām īpašībām ir:

instagram viewer

  • Iespējas īpašības ir ļoti svarīgas, lai noteiktu kastes galīgo izskatu un izskatu. Piemēram, koda rindiņa, piemēram:
    ar OpenDialog1 darītOpcijas: = Opcijas + [ofAllowMultiSelect, ofFileMustExist];
    saglabās jau iestatītās opcijas un ļaus lietotājiem dialoglodziņā atlasīt vairākus failus, kā arī ģenerēs kļūdas ziņojumu, ja lietotājs mēģinās atlasīt neeksistējošu failu.
  • SākotnējaisDir rekvizīts tiek izmantots, lai norādītu direktoriju, kas tiks izmantota kā sākotnējā direktorija, parādot faila dialoglodziņu. Šis kods nodrošinās, ka lodziņa Atvērt dialoglodziņš sākotnējā direktorija ir programmu startēšanas direktorija.
    SaveDialog1.InitialDir: = ExtractFilePath (lietojumprogramma. ExeName);
  • Filtrēt īpašums satur to failu tipu sarakstu, no kuriem lietotājs var izvēlēties. Kad lietotājs no saraksta izvēlas faila tipu, dialoglodziņā tiek parādīti tikai atlasītā tipa faili. Filtru var viegli iestatīt projektēšanas laikā, izmantojot dialoglodziņu Filtru redaktors.
  • Lai programmas kodā izveidotu failu maskas, īpašumam Filtrs piešķiriet vērtību, kas sastāv no apraksta un maskas, kas atdalīta ar vertikālas joslas (caurules) rakstzīmi. Kā šis:
    OpenDialog1.Filter: = 'Teksta faili (* .txt) | * .txt | Visi faili (*. *) | *. * ';
  • Faila nosaukums īpašums. Kad lietotājs noklikšķina uz pogas Labi dialoglodziņā, šajā īpašumā būs pilns izvēlētā faila ceļš un faila nosaukums.

Izpildīt

Lai faktiski izveidotu un parādītu parasto dialoglodziņu, mums jāapstrādā Izpildīt konkrētā dialoglodziņa metode izpildlaika laikā. Visi dialoglodziņi, izņemot TFindDialog un TReplaceDialog, tiek parādīti modāli.

Visi parastie dialoglodziņi ļauj mums noteikt, vai lietotājs noklikšķina uz pogas Atcelt (vai nospiež ESC). Tā kā Izpildīt metode atgriež Patiesību, ja lietotājs noklikšķina uz pogas Labi, mums ir jānoķer klikšķis uz pogas Atcelt, lai pārliecinātos, vai dotais kods netiek izpildīts.

ja OpenDialog1.Execute tad
ShowMessage (OpenDialog1.FileName);

Ar šo kodu tiek parādīts dialoglodziņš File Open un parādīts atlasītais faila nosaukums pēc veiksmīga izsaukuma izpildīt metodi (kad lietotājs noklikšķina uz Open).

Piezīme: Izpilde atgriež Patiesību, ja lietotājs noklikšķināja uz pogas Labi, dubultklikšķi uz faila nosaukuma (failu dialogu gadījumā) vai uz tastatūras nospieda Enter. Izpildīt atgriež nepatiesu, ja lietotājs noklikšķināja uz pogas Atcelt, nospieda taustiņu Esc, aizvēra dialoglodziņu ar sistēmas aizvēršanas pogu vai ar taustiņu Alt-F4 kombināciju.

No koda

Lai darbotos ar atvērtu dialogu (vai jebkuru citu) izpildlaikā, nenovietojot formā OpenDialog komponentu, mēs varam izmantot šo kodu:

procedūra TForm1.btnFromCodeClick (Sūtītājs: TObject); var OpenDlg: TOpenDialog; sākt OpenDlg: = TOpenDialog. Izveidot (sevi); {šeit iestatiet opcijas ...}ja OpenDlg. Izpildīt tadsākt
{kods, lai kaut ko izdarītu šeit}
beigas; OpenDlg. Bezmaksas; beigas;

Piezīme: Pirms izsaukšanas uz Execute, mēs varam (vajadzēs) iestatīt jebkuru no OpenDialog komponenta īpašībām.

MyNotepad

Visbeidzot, ir pienācis laiks veikt reālu kodēšanu. Visa šī raksta (un dažu citu, kas gaidāma) ideja ir izveidot vienkāršu MyNotepad lietojumprogrammu - patstāvīgu Windows, piemēram, Notepad lietojumprogrammu.
Šajā rakstā mums tiek parādīti dialoglodziņi Atvērt un Saglabāt, tāpēc redzēsim tos darbībā.

MyNotepad lietotāja interfeisa izveides soļi:
. Sāciet Delphi un atlasiet File-New Application.
. Ievietojiet veidlapā vienu piezīmi, OpenDialog, SaveDialog divas pogas.
. Pārdēvēt Button1, lai btnOpen, Button2, lai btnSave.

Kodēšana

1. Izmantojiet objekta inspektoru, lai FormCreate notikumam piešķirtu šādu kodu:

procedūra TForm1.FormCreate (Sūtītājs: TObject); sāktar OpenDialog1 darītsākt
Opcijas: = Opcijas + [ofPathMustExist, ofFileMustExist]; InitialDir: = ExtractFilePath (lietojumprogramma. ExeName); Filtrs: = 'Teksta faili (* .txt) | * .txt'; beigas; ar SaveDialog1 darītsākt
InitialDir: = ExtractFilePath (lietojumprogramma. ExeName); Filtrs: = 'Teksta faili (* .txt) | * .txt'; beigas; Memo1.ScrollBars: = ssBoth; beigas;

Šis kods iestata dažus no dialoglodziņa Atvērt parametriem, kā aprakstīts raksta sākumā.

2. Pievienojiet šo kodu pogām btnOpen un btnSave Onclick notikumam:

procedūra TForm1.btnOpenClick (Sūtītājs: TObject); sāktja OpenDialog1.Execute tadsākt
Form1.Caption: = OpenDialog1.FileName; Memo1.Līnijas. LoadFromFile. (OpenDialog1.FileName); Memo1.SelStart: = 0; beigas; beigas;
procedūra TForm1.btnSaveClick (Sūtītājs: TObject); sākt
SaveDialog1.FileName: = Form1.Caption; ja SaveDialog1.Execute tadsākt
Memo1.Līnijas. SaveToFile. (SaveDialog1.FileName + '.txt'); Form1.Caption: = SaveDialog1.FileName; beigas; beigas;

Palaidiet savu projektu. Jūs tam nevarat ticēt; faili tiek atvērti un saglabāti tāpat kā ar “īsto” piezīmjdatoru.

Nobeiguma vārdi

Tieši tā. Mums tagad ir savs “mazais” piezīmjdators.

instagram story viewer