Tanulási program létrehozása hivatkozások, vr-line - ingyenes e-zine az összes

Amennyiben ebben a menüben veszik hivatkozások

Mielőtt belevetette magát a labirintus kódolás, fontolja meg egy kis elméleti részből és tanulni, ahol minden készítették listáját hivatkozások jelennek meg a „küldés”. Így a menüpont a „küldés” egy normális mappát a profilját (azaz a \ dokumentum settengs \\ sendto).

És hogyan lehet, hogy szép

Igen, másolja le alkalmazását, hogy a mappa - egyszerű és alig igényel magyarázatot. Ez csak, sajnos, ez a döntés nem nevezhető szép. Miért? Még mindig működik! Igen, működik, de ugyanez lehet a körmök kalapács fogó, kalapács is. Valld be, a legújabb eszköz sokkal kényelmesebb kell csinálni? Mi pontosan ugyanabban a helyzetben. Vagy mindent meg fog tenni gengszter (azaz másolni a programot ebbe a mappába), illetve betartják a szabályokat.

A szabályok szerint ebben a mappában kell tartani csak címkék. Bármilyen futtatható fájlokat nincs hangja, és nem lehet. Nem tudom, ha tudod, hogyan lehet létrehozni egy parancsikon, vagy sem, hanem csak 15 perc csak tanulni!

Tanulási program létrehozása hivatkozások, vr-line - ingyenes e-zine az összes

1. lista: Class, hogy gyorsan létre parancsikonokat

2. lista: Esettanulmány

3. lista: Processing példa továbbított paraméterek

A 4. lista: Az összes lehetséges állandók, amelyek meghatározzák a különleges mappák

Kód kiderült meglehetősen kicsi, és nehéz nem semmi. Az egyetlen dolog, amit nem sikerül - ismeretlen funkciókat. Ez róluk, most beszélni. Kezdjük CreateComObject.

CreateComObject leírt működést ComObj modulban. Ezzel létrehoz egy objektumot társított azonosítójának átadva paraméterként. A példában adok CLSID_ShellLink. CLSID_ShellLink - ez az osztály azonosító, ami egy normális GUID. Beszéd kapcsolatban Delphi, gépel azonosítója megegyezik TGUID. Meg tudja nyitni ShlObj modult, és próbálja megtalálni benne a szöveg CLSID_ShellLink. Nem kell idő ahhoz, hogy az értéke hogyan találkoznak valami, mint ez a szöveg:

Ha CreateComObject funkció sikerrel járt, akkor visszatér a hivatkozás az azonosító típusa IUnknown felület. Remélem elkapják az alapötlet. Mi lépni.

Miután megkapta a hivatkozás az interfész típusát IUnknown, akkor inicializálni a változó típusa ISheellLink és IPersistFile. Ügyeljen arra, hogy a nevét, a típusát ezek a változók kezdődik a levél, amit, azaz Ez a típus egy interfész. Hogy a IUnknown IShellLink használom design: IObject mint IShellLink. Csinál itt „mint”? Nyitott minden könyv Delphi és ott, a leíró részben árnyalatok a PFSZ bázisok ez az állítás feltétlenül említést. Ő leszakad ásni a segítség? Aztán csak nézte a „mint” képviselteti magát a feje „mint”. Ie hagyományosan a fenti szerkezetű lehet olvasni a következő: feltételezzük IObject mint IShellLink. Most már értem? Ok!

Minden szükséges változók kezdeti, most létrehozására egy címkét. Ehhez meg kell dolgozni a felületen IShellLink csinál néhány jellemzőjét:

- SetPath - Az útvonal a kérelmet, amely a címke jön létre. Itt át az utat, hogy a kérelem, amelyet úgy kapunk, az eszköz használata (ParamStr (0)).

- SetWorkingDirectory (); - Szakmai mappát. Itt azt hiszem, és ezért mindent meg kell lennie. Munkakönyvtárt kap hagyományos ExtractFilePath ().

Kövesse a fenti funkciók, akkor hozza létre a csontváz a címkét. Mi csak akkor kap az utat a külön mappába (a mi esetünkben a „küldés”). Hogy oldja meg ezt a problémát, segít két funkciója van:

- SHGetSpecialFolderLocation - visszaad egy pointert ITEMIDLIST szerkezet információkat tartalmazó külön mappába. Ez a függvény három paramétert:
1). hWndOwner - zarezirvirovan.
2). nMappa - mappa azonosítója, az utat, amit akarnak.
3). ppidl - mutatót PItemIDList.

Miután a funkció, változtatható InFolder (it átadjuk a második paraméter) fogja találni az utat egy speciális mappába. A kényelem kedvéért, én kitépi az utat, hogy egy változó LINKNAME, pre-kitöltésével formátum használatával funkciót. Ismerve az utat a rendszer mappába (ne felejtsük, ebben az esetben a „küldés”), vagy hogy ne zavarja véglegesen hozzon létre egy parancsikont. Ez úgy történik, hogy a Mentés IPersistFile felületen. Minden címke kész!

Próbáld meg futtatni a minta és a vizsgált. Ha rákattint egy gombra, akkor létrehoz egy parancsikont a „Küldés” gombra. Cool? És mindenek felett ez egyszerű! A szórakozás, az osztály által átadott egyéb azonosító rendszer könyvtárába (lásd. A harmadik felsorolás), az alkalmazás futtatásához, és kattintson a gombot. Az eredmény nem sokáig - egy parancsikont az alkalmazás megjelenik a megadott mappába.