„Delphi“ užrašinės kūrimas: atidarykite ir išsaugokite

Dirbdami su įvairiomis Windows programomis ir Delfi, mes įpratome dirbti su vienu iš standartų dialogo langai failo atidarymui ir išsaugojimui, teksto paieškai ir pakeitimui, spausdinimui, šriftų pasirinkimui ar spalvų nustatymui.

Šiame straipsnyje mes išnagrinėsime kai kurias svarbiausias tų dialogų ypatybes ir metodus, ypatingą dėmesį skirdami Atviras ir Sutaupyti dialogo langai.

Įprasti dialogo langai yra komponentų paletės skirtuke Dialogs. Šie komponentai naudojasi standartinių „Windows“ dialogo langų pranašumais (esančiais DLL jūsų \ Windows \ System kataloge). Norėdami naudoti bendrą dialogo langą, į formą turime įdėti tinkamą komponentą (komponentus). Įprasti dialogo lango komponentai nėra vizualūs (neturi vizualinio dizaino ir laiko sąsajos), todėl yra nematomi vartotojui vykdant.

„TOpenDialog“ ir „TSaveDialog“

Dialogo langai „File Open“ ir „File Save“ turi keletą bendrų savybių. Failas atidaromas dažniausiai naudojamas failams pasirinkti ir atidaryti. Dialogo langas Failo išsaugojimas (taip pat naudojamas kaip dialogo langas Įrašyti kaip) naudojamas gaunant failo vardą iš vartotojo, kad būtų galima išsaugoti failą. Kai kurios svarbios TOpenDialog ir TSaveDialog savybės yra:

instagram viewer

  • Galimybės savybės yra labai svarbios nustatant galutinę dėžutės išvaizdą ir pojūtį. Pavyzdžiui, tokios eilutės kodas:
    su „OpenDialog1“ darytiParinktys: = Parinktys + [ofAllowMultiSelect, ofFileMustExist];
    paliks jau nustatytas parinktis ir leis vartotojams pasirinkti daugiau nei vieną failą dialoge bei generuos klaidos pranešimą, jei vartotojas bandys pasirinkti neegzistuojantį failą.
  • PradinisDir nuosavybė naudojama norint nurodyti katalogą, kuris bus naudojamas kaip pradinis katalogas, kai bus rodomas failo dialogo langas. Šis kodas užtikrins, kad pradinis atidaryto dialogo lango katalogas yra programų paleidimo katalogas.
    SaveDialog1.InitialDir: = (Taikomoji programa. ExeName);
  • Filtras nuosavybėje yra failų tipų, iš kurių vartotojas gali pasirinkti, sąrašas. Kai vartotojas iš sąrašo pasirenka failo tipą, dialogo lange rodomi tik pasirinkto tipo failai. Filtrą galima lengvai nustatyti projektavimo metu per dialogo langą „Filtrų rengyklė“.
  • Norėdami sukurti failų kaukes programos kode, priskirkite reikšmę filtrui, kurią sudaro aprašymas ir kaukė, atskirtos vertikalios juostos (vamzdžio) simboliu. Kaip šitas:
    „OpenDialog1.Filter“: = 'Tekstiniai failai (* .txt) | * .txt | Visi failai (*. *) | *. * ';
  • Failo pavadinimas nuosavybė. Kai vartotojas spustelės mygtuką Gerai dialogo lange, šioje nuosavybėje bus visas pasirinkto failo kelias ir failo vardas.

Vykdyti

Norėdami iš tikrųjų sukurti ir parodyti bendrą dialogo langą, turime jį apdoroti Vykdyti konkretaus dialogo lango metodas vykdymo metu. Visi dialogo langai, išskyrus „TFindDialog“ ir „TReplaceDialog“, rodomi įvairiai.

Visi įprasti dialogo langai leidžia mums nustatyti, ar vartotojas spustelėja mygtuką Atšaukti (ar paspaudžia ESC). Kadangi vykdymo metodas grąžina „True“, jei vartotojas spustelėjo mygtuką Gerai, turime spustelėti mygtuką „Atšaukti“, kad įsitikintume, jog nurodytas kodas nėra vykdomas.

jei „OpenDialog1.Execute“ tada
„ShowMessage“ („OpenDialog1.FileName“);

Šis kodas rodo dialogo langą Failo atidarymas ir rodo pasirinktą failo pavadinimą po „sėkmingo“ skambučio vykdyti metodą (kai vartotojas spustelėja Atidaryti).

Pastaba: Vykdyti grąžina „True“, jei vartotojas spustelėjo mygtuką Gerai, dukart spustelėjo failo pavadinimą (failų dialogų atveju) arba klaviatūroje paspaudė „Enter“. Vykdymas grąžina klaidingą, jei vartotojas spustelėjo mygtuką Atšaukti, paspaudė Esc mygtuką, uždarė dialogo langą sistemos uždarymo mygtuku arba klavišų kombinacija Alt-F4.

Iš kodo

Norėdami dirbti su Atidaryti dialogo langą (ar bet kurį kitą) vykdymo metu, neįdėdami „OpenDialog“ komponento į formą, galime naudoti šį kodą:

procedūra TForm1.btnFromCodeClick (Siuntėjas: TObject); var OpenDlg: TOpenDialog; prasideda OpenDlg: = TOpenDialog. Kurti (save); {čia nustatykite parinktis ...}jei „OpenDlg“. Vykdyti tadaprasideda
{kodas ką nors padaryti čia}
galas; „OpenDlg“. Laisvas; galas;

Pastaba: prieš skambindami „Execute“, mes galime (privalome) nustatyti bet kurią „OpenDialog“ komponento ypatybes.

„MyNotepad“

Pagaliau atėjo laikas atlikti tikrą kodavimą. Visa šio straipsnio (ir dar kelių kitų) idėja yra sukurti paprastą „MyNotepad“ programą - autonominę „Windows“, pavyzdžiui, „Notepad“ programą.
Šiame straipsnyje mums pateikiami dialogo langai Atidaryti ir Įrašyti, taigi pažiūrėkime juos veikiančius.

„MyNotepad“ vartotojo sąsajos kūrimo veiksmai:
. Paleiskite „Delphi“ ir pasirinkite „File-New Application“.
. Ant formos uždėkite vieną atmintinę, „OpenDialog“, „SaveDialog“ du mygtukus.
. Pervardykite „Button1“ į „btnOpen“, „Button2“ - į „btnSave“.

Kodavimas

1. Naudokite „Object Inspector“, kad „FormCreate“ įvykiui būtų priskirtas šis kodas:

procedūra TForm1.FormCreate (Siuntėjas: TObject); prasidedasu „OpenDialog1“ darytiprasideda
Parinktys: = Parinktys + [ofPathMustExist, ofFileMustExist]; InitialDir: = ExtractFilePath (programa. ExeName); Filtras: = 'Teksto failai (* .txt) | * .txt'; galas; su „SaveDialog1“ darytiprasideda
InitialDir: = ExtractFilePath (programa. ExeName); Filtras: = 'Teksto failai (* .txt) | * .txt'; galas; „Memo1.ScrollBars“: = „ssBoth“; galas;

Šis kodas nustato kai kurias dialogo lango ypatybes, kaip aptarta straipsnio pradžioje.

2. Pridėkite šį kodą „btnOpen“ ir „btnSave“ mygtukų „Onclick“ įvykiui:

procedūra TForm1.btnOpenClick (Siuntėjas: TObject); prasidedajei „OpenDialog1.Execute“ tadaprasideda
Forma1.Caption: = OpenDialog1.FileName; „Memo1.Lines“. „LoadFromFile“. („OpenDialog1.FileName“); „Memo1.SelStart“: = 0; galas; galas;
procedūra TForm1.btnSaveClick (Siuntėjas: TObject); prasideda
SaveDialog1.FileName: = Form1.Caption; jei „SaveDialog1.Execute“ tadaprasideda
„Memo1.Lines“. „SaveToFile“. („SaveDialog1.FileName +“ .txt '); Form1.Caption: = SaveDialog1.FileName; galas; galas;

Vykdykite savo projektą. Jūs negalite tuo patikėti; failai atidaromi ir išsaugomi kaip ir naudojant „tikrąją“ užrašų knygelę.

Baigiamieji žodžiai

Viskas. Dabar turime savo „mažą“ užrašų knygelę.