Párbeszédablakaiban fájlok megnyitása és elmentése

Azáltal ztim párbeszédek komponensek OpenDialog (SaveDialog) és OpenPictureDialog (SavePictureDialog).

Alapvető tulajdonságok:

Fájlnév - meghatározza a neve a kiválasztott fájl

FilterIndex - meghatározza az alapértelmezett szűrő index megnyitásakor párbeszéd.

InitialDir - meghatározza azt a könyvtárat a megnyitón a párbeszéd.

DefaultExt - predelyaet az alapértelmezett fájl kiterjesztését.

Title - cím az ablakon.

Beállítások - a különböző összetevő lehetőségek, amelyek meghatározzák azokat a feltételeket fayla.Naprimer választás, ofCreatePrompt ingatlan jelenti a megfigyelés és a kérés, hogy hozzon létre egy új fájlt. ha poleovatel írta a nevét, egy nem létező fájlt.

A komponensek a párbeszéd fájlok megnyitása és mentése is kezelni lehet, számos esemény:

OnCanClose - akkor jelentkezik, amikor a normál felhasználó bezárja az ablakot, miután kiválasztotta a fájlt ..

OnFolderChange - akkor jelentkezik, amikor a könyvtár változás.

OnSelectionChange - akkor jelentkezik, ha változik a fájl nevét.

OnShow - akkor jelentkezik, amikor a párbeszéd.

OnTypeChange - akkor jelentkezik, amikor a fájltípus megváltozott.

Példa .Pust kérelem tartalmazza szerkesztése ablakot RichEdit1 és párbeszéd OpenDialog és SaveDialog. Ezután a parancs feldolgozása megnyitása. betölti a felhasználó által kiválasztott fájlt RichEdit1. Ez a következőképpen foglalható össze:

AnsiString MyFName = "";.

Ez az állítás blokk egy párbeszéd, és ellenőrzi, hogy a felhasználó fayl.Zatem neve a kiválasztott fájl (OpenDialog1-> fájlnév) tárolja a kiválasztott peremennoyMyFName és a fájl betöltődik a szöveg RichEdit1 metodomLoadFromFile.

Mentés parancs feldolgozása. megőrizve RichEdit1 ablak szövegét a kiválasztott fájl, a felhasználó a következő:

Az első ilyen szereplők rendel komponentaSaveDialog1 fájlnév tulajdonság, hogy a név a tárolt fayla.Eto az alapértelmezett nevet fognak kapni a felhasználónak, amikor kinyitja a Save As dialógus Meg kell az üzemeltető és otkryvaetdialog. ha a felhasználó kiválasztotta azt. tárolja az új fájl nevét, és elmenti egy fájlba, az azonos nevű szöveges RichEdit1 komponenst.

Mentés parancs feldolgozása. megőrizve RichEdit1 szövegmezőbe a korábban nyílt, vagy ha a szöveg nem egy fájlt, a fájlt a felhasználó által kiválasztott, a következő:

Ha a név faylaMyFName nem egyenlő egy üres karakterlánc. azaz tudod, nincs szükség, hogy alkalmazzák a párbeszéd. A szöveg szerint a rendszer menti SaveToFile. Ha a fájl neve nem ismert. A szöveg mentésre használja SaveDialog1 párbeszédet is. ahogy fent tárgyaltuk.

7,2 font kiválasztási párbeszéd (FontDialog komponens)

Ez az összetevő a betűtípus kiválasztása párbeszédablak, amelyben kiválaszthatja a név polzovatelmozhet shirfta, stílusa (védjegy), méreteit és egyéb atributy.Osnovnoe alkatrész tulajdonság - betűtípus, amelyben a kezdeti beállítások Betutípus lehet állítani, vagy olvasni znachenieya tulajdonságokat a felhasználó által kiválasztott a párbeszéd folyamatának az ingatlan MaxFontSize MinFontSize és határt szabnak a maximális és minimális betűméretet. Az alapértelmezett értékek ezek a tulajdonságok értéke 0, korlátozás nélkül nakladyvayutsya.Svoystvo lehetőség magában foglalja a különböző lehetőségeket, amelyek meghatározzák a funkciók a kijelző A betűtípus tulajdonságai ablak. Alapértelmezésben minden opció le van tiltva, kivéve fdEffects opciót. amely megjeleníti mutatói különleges hatások (félkövér, dőlt, aláhúzott, stb), és egy listát a színeket.

A kódrészlet használatát szemlélteti FontDialog komponens alkalmazás esetén egy szerkesztő ablak komponentaRichEdit1 jelentése:

Ha (FontDialog1-> Execute ())

Ebben fragment csak változtatni a betűtípus attribútumok a kijelölt szöveget. Ha szükséges, a betűtípus összes szöveg izmennyat megfelelő használata az üzemeltető:

Ha (FontDialog1-> Execute ())

7.3 színválasztás párbeszéd (ColorDialog komponens)

Ezzel a komponens hívják színválasztó párbeszédablakban. ahol a felhasználó kiválaszthatja a színt a bázis komponens palitry.Osnovnym ingatlan a Color tulajdonság. amely megfelel a színét. ahol a kiválasztott szín értékét polzovatel.Poluchennoe párbeszédablak átadhatók bármely összetevőjével objektumot. svoystvo.Naprimer az azonos nevű, a következő kódrészlet eredményez térfestődés RichEdit1 szín komponenst a felhasználó által dialogeColorDialog1.

Ha (ColorDialog1-> Execute ())

// alkalmazás kódját alkalmazásáról szóló különböző dialógusok

#pragma erőforrás "* .dfm"

AnsiString MyFName = ""; // Változó Leírás

érvényteleníti __fastcall TForm1 :: Button1Click (TObject * Sender) // A fájl megnyitása

if (OpenDialog1-> Execute ()) // A párbeszéd megnyitását OpenDialog1

MyFName = OpenDialog1-> fájlnév; // rendelhetünk változó fájl nevét

érvényteleníti __fastcall TForm1 :: Button2Click (TObject * Sender) // Mentés másként

if (SaveDialog1-> Execute ()) // A párbeszéd megnyitását SaveDialog1

RichEdit1->-vonalak> SaveToFile (MyFName); // Mentse a fájlt a megadott névvel

érvényteleníti __fastcall TForm1 :: Button3Click (TObject * Sender) // mentése

RichEdit1->-vonalak> SaveToFile (MyFName); // Mentsd el a fájlt, ha a név van beállítva

RichEdit1->-vonalak> SaveToFile (MyFName); // Mentés ha a fájl neve nincs megadva

érvényteleníti __fastcall TForm1 :: Button4Click (TObject * Sender) // módosítása schrifta elkülönített része a szövegnek

if (FontDialog1-> Execute ()) // Hívjon FontDialog1 párbeszéd

érvényteleníti __fastcall TForm1 :: Button5Click (TObject * Sender) // módosítása schrifta tulajdonítja az egész szövegben

érvényteleníti __fastcall TForm1 :: Button7Click (TObject * Sender) // Módosítsa a betűtípus háttérszín

7.1 ábra A szoftver kód példák működését szemléltető dialógusok

A programkód ezen alkalmazás nyomja meg a megfelelő gombokat, akkor:

· Ne feledje, a fájlt a régi nevét;

· Mentse a fájlt új néven;

· Betűtípus megváltoztatása kiválasztott része a szöveg;

· Betűtípus megváltoztatása az összes szöveget;

· Változás a betűtípus színét.

7.4Dialogi szövegcserét (és alkatrészek FindDialog ReplaceDialog)

Ezek az összetevők hatására a keresés és csere dialógusok töredékek teksta..Obladayut következő alapvető tulajdonságait:

FindText - meghatározza a szöveget. a felhasználó által megadott keresni és kicserélni.

ReplaceText - meghatározza az alkatrész ReplaceDialog szöveget kell cserélni FindText.

Options - egy csomó lehetőséget. amelyek meghatározzák a jellemzői a windows keresés és csere párbeszéd.

Önmagukban a komponensek FindDialog ReplaceDialog és nem hordoznak semmilyen keresési vagy csere. Ezek csupán a felhasználói felület. A keresés és csere kell megvalósítani szoftver. Ehhez, akkor az esemény OnFind. míg ha a felhasználó rákattint a párbeszédablakban kattintással keresése gombra. és az esemény OnReplace. merülhetnek fel, ha a felhasználó rákattint a gombra Csere vagy Az összes. Abban az esetben, OnReplace tudja, milyen gombra kattintás, lehetséges, hogy az értékek a zászlók és frReplace frReplaceAll.

// alkalmazás kódját, amely lehetővé teszi a keresést egy adott darab szöveg

#pragma erőforrás "* .dfm"

void __fastcall TForm1 :: Button1Click (TObject * Sender)

// Beállítja a kezdeti szöveg keresése a Memo

FindDialog1-> FindText = Memo1-> SelText; // Szöveg kijelölése

FindDialog1-> Execute (); // Hívja a keresési ablakban

void __fastcall TForm1 :: FindDialog1Find (TObject * Sender)

E - a karakterek száma az első helyzetből végéig a szöveges keresés

F = S + "száma. Visszanyert szimbólumokat. Fragment" + „index az első kiválasztott karaktert

fragmentum a következő keresést a „* /

nagyságrendű szimbólumok a kijelölt szöveget * /

S + = Memo1-> SelLength; // meghosszabbítása S a számláláshoz. szimbólumok kiválasztott fragmens

/ * Substring (S + 1, E) - függvény egy része a szöveg, kezdve az S + 1

karakter a végén a szöveget,

Kisbetus () - függvény egy karakterláncot, amiben minden karakter szerepel

a kisbetűk

Pos (FindDialog-> FindTextA.LowerCase ()) - A függvény, amely visszaadja az index

Ha a fragmentum nem, akkor a visszatérési 0 * /

ha (F! = S) // ha a fragmentumot úgy találtuk

mást ShowMessage ( "text '+ FindDialog1-> FindTextA + "' nem található");

7.2 ábra alkalmazás kód, amely lehetővé teszi a keresést egy adott darab szöveg

Nézzük részletesen leírja, hogy a kinevezését számos funkciót használják a programkódot.

Kisbetus function () - visszaadja egy string, amelyben az összes karaktert kapnak a kisbetűs.

SabString funkció () - megszerzéséhez használt Memo1 vonal fragmentumokat. Ez a függvény egy karakterláncot. kezdve a karakter által előírt helyzetbe az első paraméter a függvény, és amelynek a karakterek számát. meg nem haladó értékre. beállítja a második paraméter a függvény. Így, az expressziós Memo1-> Text.SubString (S + 1, E) vozvraschaetchast szöveget. kezdve S + 1 karakter a szöveg végére.

FunktsiyaPos () - Keresés a húr. hogy amelyre alkalmazzuk (ebben az esetben Memo1-> Text.SubString (S + 1, E)) az első előfordulása a húr. állítsa be a paramétereket (esetünkben FindTextA). Ha a keresés sikeres. függvény az index az első karakter a megtalált karaktersorozat események. Eredmény index kezdődik egy, ha azt a rész nem található. 0 vissza.

2. példa. Ki kell dolgozni egy programot keres és cseréje szöveges rész található a Memo komponenst. alkalmazásával párbeszéd zameny- ReplaceDialog. lenne ugyanazokat az elemeket tartalmazzák, mint a primere1.Programmny alkalmazás kódját megoldani a feladatokat az interfész a program ábrán látható a 7.3.

// alkalmazás kódját, amely lehetővé teszi a keresést, és cserélje ki a szövegrészt, talált

#pragma erőforrás "* .dfm"

void __fastcall TForm1 :: Button1Click (TObject * Sender)

Memo1-> SelStart = 0; // A kurzor mozgatása az elején a szöveg

// Beállítja a kezdeti szöveg keresése a Memo

ReplaceDialog1-> Execute (); // Hívjon párbeszéd csere

érvényteleníti __fastcall TForm1 :: ReplaceDialog1Find (TObject * Sender)

E - a karakterek száma az első helyzetből végéig a szöveges keresés

F = S + "száma. Visszanyert szimbólumokat. Fragment" + „index az első kiválasztott karaktert

fragmentum a következő keresést a „* /

nagyságrendű szimbólumok a kijelölt szöveget * /

S + = Memo1-> SelLength; // meghosszabbítása S a számláláshoz. szimbólumok kiválasztott fragmens

/ * Substring (S + 1, E) - függvény egy része a szöveg, kezdve az S + 1

karakter a végén a szöveget,

Kisbetus () - függvény egy karakterláncot, amiben minden karakter szerepel

a kisbetűk

Pos (FindDialog-> FindTextA.LowerCase ()) - A függvény, amely visszaadja az index

Ha a fragmentum nem, akkor a visszatérési 0 * /

ha (F! = S) // ha a fragmentumot úgy találtuk

mást ShowMessage ( "text '+ ReplaceDialog1-> FindTextA + "' nem található");

érvényteleníti __fastcall TForm1 :: ReplaceDialog1Replace (TObject * Sender)

if (Memo1-> SelText! = "") // Ha nem üres Memo1

// Cserélje talált szövegrészt

// csere töredékek az egész szövegben

ShowMessage ( "fragmentum" + ReplaceDialog1-> FindTextA + "hogy néz további");

Ábra. 7.3 szoftver alkalmazás kód, amely lehetővé teszi a keresést, és cserélje ki a szövegrészt, talált

8. A használt fájlok a C ++ Builder projektek

Project (projekt) - egy sor használt fájlokat létrehozásakor önállóan futtatható, akár dinamikusan nuemoy komponens könyvtár (DLL) .C ++ Builder projekteket irányít segítségével számos kiegészítő CIÓ fájlokat. Az új C ++ Builder projekt megteremti a következő fontos fájlokat:

1. A fej a projekt fájl.

2. A projekt információs fájl.

3. A végrehajtási fájl modult.

4. A fejléc modul fájlt.

6. Fájl alkalmazás-erőforrások.

A fej a projekt fájl tartalmazza a Win-Main () függvény, amely elindítja az alkalmazást, és elindítja a végrehajtás. Meg van egy kiterjesztés (.cpp).

Project Information fájl egy szöveges fájl, amely egy sor fordító beállításai forrás fájl nevek és formák a pro-EKT, valamint a nevét a kívánt könyvtár fájl kiterjesztését (.bpr).

A végrehajtás fájlt a modul és a modul fejléc fájl egy szöveges fájl, amely programkódot végrehajtó modul és a header fájlt a leírás a forma osztályban. Illetve van egy kiterjesztés (.cpp) és (vh). C ++ Builder környezetet teremt a további fájlokat és végrehajtása Zago-lovochnye fájlokat minden új formája a projekt.

formában tartalmaz információt a jelentkezési lapokat. Meg van egy kiterjesztés (.dfm). Minden fájl megegyezik az alak a modul megvalósítása fájlban.

alkalmazás erőforrás fájl egy bináris fájl, amely tartalmazza a projekt forrásainak. Meg van egy kiterjesztés (.RES).

A következő csoport által létrehozott fájlok fordító:

A futtatható fájl egy önálló alkalmazás futtatható fájlt. Meg van egy kiterjesztés (.exe).

Object modul fájl egy lefordított modul fájlt, amely kapcsolódik egy futtatható fájlt. Meg van egy kiterjesztés (.obj).

szimbólum táblázat fájlt egy bináris fájlt. által használt hibakeresőjének az alkalmazást. Meg van egy kiterjesztés (.tds).

Mint minden C ++ Builder alkalmazás tartalmaz több fájlt, majd amikor létrehoz egy új projekt, ajánlott:

· Minden egyes új projekt, hozzon létre egy új könyvtárat.

· Készítsen egy új projekt csapat Fájl \ Új alkalmazás.

· Azonnal mentse el a projektet, és a modul fájlt, válassza a Fájl \ Mentés All.