Delphi-muistikirjan luominen: Avaa ja tallenna

click fraud protection

Työskennellessäsi useiden Windows-sovellusten ja Delfoi, olemme tottuneet toimimaan yhden standardin kanssa valintaikkunat tiedoston avaamiseen ja tallentamiseen, tekstin löytämiseen ja korvaamiseen, tulostamiseen, kirjasinten valintaan tai värien asettamiseen.

Tässä artikkelissa tarkastellaan joitain näiden valintaikkunoiden tärkeimmistä ominaisuuksista ja menetelmistä, keskittyen erityisesti niihin Avata ja Tallentaa valintaikkunat.

Yleiset valintaikkunat löytyvät Komponentti-paletin Dialogs-välilehdeltä. Nämä komponentit hyödyntävät tavallisia Windows-valintaikkunoita (jotka sijaitsevat DLL-hakemistossa \ Windows \ System -hakemistossa). Yhteisen valintaikkunan käyttämiseksi meidän on asetettava sopiva komponentti (komponentit) lomakkeelle. Yleiset valintaikkunan komponentit ovat ei-visuaalisia (niillä ei ole visuaalisen suunnittelun aikarajapintaa), ja siksi ne ovat käyttäjän näkymättömiä ajon aikana.

TOpenDialog ja TSaveDialog

File Open- ja File Save -valintaikkunoilla on useita yleisiä ominaisuuksia. File Open -toimintoa käytetään yleensä tiedostojen valintaan ja avaamiseen. Tiedostojen tallennus -valintaikkunaa (jota käytetään myös nimellä Tallenna nimellä -valintaikkuna) käytetään, kun käyttäjältä saadaan tiedostonimi tiedoston tallentamiseksi. Jotkut TOpenDialog ja TSaveDialog tärkeistä ominaisuuksista ovat:

instagram viewer

  • vaihtoehdot ominaisuudet ovat erittäin tärkeitä laatikon lopullisen ulkoasun ja tunteen määrittämisessä. Esimerkiksi koodirivi, kuten:
    kanssa OpenDialog1 tehdäValinnat: = Valinnat + [ofAllowMultiSelect, ofFileMustExist];
    säilyttää jo asetetut asetukset ja antaa käyttäjien valita useamman kuin yhden tiedoston valintaikkunassa ja luoda virhesanoman, jos käyttäjä yrittää valita olemattoman tiedoston.
  • InitialDir Ominaisuutta käytetään määrittämään hakemisto, jota käytetään alkuperäisenä hakemistona, kun tiedostovalintaikkuna tulee näkyviin. Seuraava koodi varmistaa, että Avaa-valintaikkunan alkuperäinen hakemisto on Sovellusten käynnistyshakemisto.
    SaveDialog1.InitialDir: = ExtractFilePath (Sovellus. ExeName);
  • Suodattaa ominaisuus sisältää luettelon tiedostotyypeistä, joista käyttäjä voi valita. Kun käyttäjä valitsee tiedostotyypin luettelosta, vain valitun tyyppiset tiedostot näytetään valintaikkunassa. Suodatin voidaan asettaa helposti suunnittelun aikaan suodatineditori-valintaikkunan kautta.
  • Luo tiedostomaskeja ohjelmakoodissa määrittämällä arvo Suodatin-ominaisuudelle, joka koostuu kuvauksesta ja maskista, joka on erotettu pystysuoraan palkkiin (putki). Kuten tämä:
    OpenDialog1.Filter: = 'Tekstitiedostot (* .txt) | * .txt | Kaikki tiedostot (*. *) | *. * ';
  • Tiedoston nimi omaisuutta. Kun käyttäjä napsauttaa OK-painiketta valintaikkunassa, tämä ominaisuus sisältää valitun tiedoston täydellisen polun ja tiedostonimen.

Suorittaa

Jotta voimme luoda ja näyttää yleisen valintaikkunan, meidän on käsiteltävä Suorittaa tietyn valintaikkunan menetelmä suorituksen aikana. Lukuun ottamatta TFindDialog ja TReplaceDialog, kaikki valintaikkunat näytetään modaalisesti.

Kaikkien yleisten valintaikkunoiden avulla voimme määrittää, napsauttaako käyttäjä Peruuta-painiketta (vai painaako ESC). Koska Suorita-menetelmä palaa totta, jos käyttäjä napsautti OK-painiketta, meidän on pyydettävä napsauttamalla Peruuta-painiketta varmistaaksemme, että annettua koodia ei suoriteta.

jos OpenDialog1.Execute sitten
ShowMessage (OpenDialog1.FileName);

Tämä koodi näyttää File Open -valintaikkunan ja näyttää valitun tiedostonimen "onnistuneen" kutsun jälkeen suorittaa menetelmä (kun käyttäjä napsauttaa Open).

Huomaa: Suorita palauttaa arvon Totta, jos käyttäjä napsautti OK-painiketta, kaksoisnapsautti tiedostonimeä (tiedostoikkunoiden tapauksessa) tai painoi näppäimistön Enter-painiketta. Suorita palauttaa väärät, jos käyttäjä napsauttaa Peruuta-painiketta, painaa Esc-näppäintä, sulkee valintaikkunan järjestelmän sulkemispainikkeella tai Alt-F4-näppäinyhdistelmällä.

Koodista

Voit käyttää Open-valintaikkunaa (tai mitä tahansa muuta) ajon aikana asettamatta OpenDialog-komponenttia lomakkeeseen, jotta voimme käyttää seuraavaa koodia:

menettely TForm1.btnFromCodeClick (Lähettäjä: TObject); var OpenDlg: TOpenDialog; alkaa OpenDlg: = TOpenDialog. Luo (itse); {aseta asetukset tähän ...}jos OpenDlg. Suorittaa sittenalkaa
{koodi tehdä jotain täällä}
pää; OpenDlg. Vapaa; pää;

Huomaa: Ennen kuin kutsutaan Execute, voimme (täytyy) asettaa mikä tahansa OpenDialog-komponentin ominaisuuksista.

MyNotepad

Viimeinkin on aika tehdä todellinen koodaus. Tämän artikkelin (ja muutamien tulevien) taustalla on idea luoda yksinkertainen MyNotepad-sovellus - itsenäinen Windows kuten Notepad-sovellus.
Tässä artikkelissa esitetään Avaa ja Tallenna -valintaikkunat, joten katsotaan niitä käytännössä.

MyNotepad-käyttöliittymän luomisen vaiheet:
. Käynnistä Delphi ja valitse tiedosto-uusi sovellus.
. Aseta yksi muistio, OpenDialog, SaveDialog kaksi nappulaa lomakkeelle.
. Nimeä Button1 uudelleen btnOpen, Button2 - btnSaveksi.

Coding

1. Määritä seuraava koodi FormCreate-tapahtumaan Object Inspector: n avulla:

menettely TForm1.FormCreate (Lähettäjä: TObject); alkaakanssa OpenDialog1 tehdäalkaa
Valinnat: = Asetukset + [ofPathMustExist, ofFileMustExist]; InitialDir: = ExtractFilePath (Sovellus. ExeName); Suodatin: = 'Tekstitiedostot (* .txt) | * .txt'; pää; kanssa SaveDialog1 tehdäalkaa
InitialDir: = ExtractFilePath (Sovellus. ExeName); Suodatin: = 'Tekstitiedostot (* .txt) | * .txt'; pää; Memo1.ScrollBars: = ssBoth; end;

Tämä koodi asettaa joitain Avaa-valintaikkunan ominaisuuksista, kuten artikkelin alussa keskustellaan.

2. Lisää tämä koodi btnOpen- ja btnSave-painikkeiden Onclick-tapahtumaan:

menettely TForm1.btnOpenClick (Lähettäjä: TObject); alkaajos OpenDialog1.Execute sittenalkaa
Form1.Caption: = OpenDialog1.FileName; Memo1.Lines. LoadFromFile. (OpenDialog1.FileName); Memo1.SelStart: = 0; pää; pää;
menettely TForm1.btnSaveClick (Lähettäjä: TObject); alkaa
SaveDialog1.FileName: = Form1.Caption; jos SaveDialog1.Execute sittenalkaa
Memo1.Lines. SaveToFile. (SaveDialog1.FileName + '.txt'); Form1.Caption: = SaveDialog1.FileName; pää; pää;

Suorita projekti. Et voi uskoa sitä; tiedostot avautuvat ja tallentuvat samalla tavalla kuin "oikeassa" muistikirjassa.

Viimeiset sanat

Se siitä. Meillä on nyt oma "pieni" muistikirja.

instagram story viewer