HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Megnyitás, mentés


ToolsAPI 3. rész

Példaprogram letöltése

5851 bájt

Ebben a részben az IDE megnyitás, mentés, és újra betöltés funkcióival ismerkedünk meg. Készítünk egy alkalmazást, amely egy pas vagy dpr állomány elejére elhelyezi saját fejlécünket. A fejléc elhelyezése történhet csak az aktuálisan megnyitott állományba, vagy a project összes dpr és pas állományába.

A mellékelt példaprogram használatához, a Save.dpk Package állomány tartalmát telepítenie kell.
Delphi5 feletti verziók használata esetében a Package fordítása hibát fog okozni, hiányzó unitok miatt. A fordításhoz szükséges unitok megtalálhatóak a delphiX\Source\ToolsAPI könyvtárban.
Hasonlóan az előző részekhez, most is szükségünk van egy DataModule-ra és egy Form-ra. Ne feledkezzünk meg arról, hogy nem használhatunk olyan unit és objektum neveket, amelyeket az előző részekben.
A fejléc mentéséhez Memo komponenseket használunk.
Ha csak az aktuálisan megnyitott állományba akarunk fejlécet elhelyezni, akkor az aktuális állomány eléréshez a ToolServices objektum GetCurrentFile metódusát használhatjuk fel.
m.Lines.LoadFromFile(ToolServices.GetCurrentFile);
A mentést csak akkor hajtjuk végre, ha a kiterjesztés pas vagy dpr.
Extension:=ExtractFileExt(ToolServices.GetCurrentFile);
if (Extension='.pas') or (Extension='.dpr') then begin
Ellenőriznünk kell a megnyitott kódot, hogy nem tartalmazza-e már a fejlécet. Ehhez a két Memo komponens sorait összehasonlítjuk.
Ha a megnyitott kód nem tartalmazza még a fejlécet, akkor a kódot tartalmazó Memo komponens sorai elé beszúrjuk azt.
if not Same then
  for i:=Memo1.Lines.Count-1 downto 0 do
    m.Lines.Insert(0,Memo1.Lines[i]);
Elmentjük a Memo tartalmát, majd újra betöltjük a unit-ot.
m.Lines.SaveToFile(ToolServices.GetCurrentFile);
ToolServices.ReloadFile(ToolServices.GetCurrentFile);
Ha a project összes dpr és pas állományába akarjuk elhelyezni a fejlécet, akkor az elmúlt részben tanult módon, végig kell néznünk a project összes unit-ját.
for i:=1 to ToolServices.GetUnitCount do begin
  Extension:=ExtractFileExt(ToolServices.GetUnitName(i-1));
...
Minden egyes unit esetében ugyanazokat a lépéseket kell végrehajtanunk, mint amikor csak az aktuális állományba mentettünk.
A unitok mentésénél és újra betöltésénél figyelnünk kell arra, hogy csak azokat mentsük és töltsük be újra, amelyek már meg voltak nyitva. Ennek lekérdezésére az IsFileOpen függvényt használhatjuk.
if ToolServices.IsFileOpen(ToolServices.GetUnitName(i-1)) then
  ToolServices.SaveFile(ToolServices.GetUnitName(i-1));
A mentés, megnyitás, újra betöltés funkciók végrehajtásához most is a ToolServices objektumot hívjuk segítségül.
CloseFile
function CloseFile(
const FileName: string
): Boolean;
Egy megadott állomány bezárására szolgál.
Paraméterek
const FileName: string
A bezárandó állomány neve.
Visszatérési érték
Igaz, ha a megadott állomány nem volt megnyitva, vagy a bezárása sikeresen megtörtént.
CloseProject
function CloseProject: Boolean;
Bezárja a projectet.
Visszatérési érték
Igaz értékkel tér vissza, ha nem volt project megnyitva, vagy a project bezárható.
OpenFile
function OpenFile(
const FileName: string
): Boolean;
Megnyitja a megadott állományt.
Paraméterek
const FileName: string
A fájl elérési útja és neve.
Visszatérési érték
Igaz, ha a megadott állomány már meg volt nyitva, vagy megnyitható volt.
OpenProject
function OpenProject(
const ProjName: string
): Boolean;
Megnyit egy projectet.
Paraméterek
const ProjName: string
A project dpr állományának elérési útja és neve.
Visszatérési érték
Igaz, ha a megadott project betölthető volt.
Megjegyzés
Ha üres sztringet adunk meg a függvénynek, akkor létrehoz egy új projectet.
ReloadFile
function ReloadFile(
const FileName: string
): Boolean;
Egy állományt újra betölthetünk vele a lemezről.
Paraméterek
const FileName: string
A betöltendő állomány neve.
Visszatérési érték
Igaz, ha az állományt már meg volt nyitva és sikerült újra betölteni.
SaveFile
function SaveFile(
const FileName: string
): Boolean;
Elmenti a megadott állományt.
Paraméterek
const FileName: string
Az elmentendő állomány.
Visszatérési érték
Igaz, ha a megadott állomány nem volt megnyitva, vagy a mentése sikeresen megtörtént.
SaveProject
function SaveProject: Boolean;
Elmenti a project összes állományát.
Visszatérési érték
Igaz, ha nem volt megnyitott project, a projectben nem történt változás, valamint ha a project elmenthető volt.

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 267. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |