| | |
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Autor | Správa |
---|
Registrovaný: 23.05.09 Prihlásený: 16.01.18 Príspevky: 95 Témy: 39 Bydlisko: Michalovce |
Ako by som spravil asociaciu suboru s programom? Tak ze kliknem dvakrat na subor a v programe mi ho hned nacita? Napriklad mam stream a ked ho otvorim hned mi otvory dany program a obsah premennych nahra do memo. V programe je procedura otvor, pri ktorej sa otvory open dialog a vyberie sa a vsetko nacita. Ale tak ze by po dvojkliku na subor by to robilo automaticky a subor by mal vlastnu ikonku tak to teda neviem. Niekto mi vravel ze to ma nieco s parametrami. Neviete poradit nejaky tutorial na nete alebo navod alebo mi rovno tu pomoct? Vopred dakujem...
|
|
Registrovaný: 11.01.09 Prihlásený: 29.03.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 06.06.2009 19:24 | |
|
Tak najprv asociácia:
1.) Vytvor si súbor xxx.reg, kde xxx je názov tvojej prípony. Obsah súbora bude toto:
Kód: Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.xxx] @="xxxFile" 2.) Vytvor si súbor xxxFile.reg. Obsah bude takýto: Kód: Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\xxxFile] @="xxx prehliadac"
[HKEY_CLASSES_ROOT\xxxFile\defaultIcon] @="shell32.dll,41"
[HKEY_CLASSES_ROOT\xxxFile\shell] @="open"
[HKEY_CLASSES_ROOT\xxxFile\shell\open]
[HKEY_CLASSES_ROOT\xxxFile\shell\open\Command] @="\"D:\\Program Files\\HlavnyProgram.exe\" \"%1\"" 3.) Po vytvorení ich obe zapíš do registru (klikni na nich a potvrď, že chceš zapísať dáta do registru). POZNÁMKA: To "shell32.dll,41" v druhom výpise je ikona, ktorá sa bude zobrazovať pri súborooch s príponou *.xxx (tú príponu si samozrejme tiež zmeň na takú, akú potrebuješ). Teraz spúšťanie:Takže už máš v počítači dané, aby ti súbory xxx otváral program HlavnyProgram.exe, no ešte chýba ošetriť tento program tak, aby hneď po spustení zistil, či bol spustený s nejakým parametrom. To zistíš takto: Kód: nazovSuboru: string; nazovSuboru:= ParamStr(1);
Ak sa nazovSuboru rovná '' (prázdny znak), tak program nie je spustený s parametrom - teda nie je "kliknuté na subor xxx". V opačnom prípade je v premennej nazovSuboru názov spusteného xxx súboru a to je to, čo potrebuješ vedieť, keďže inak si názov získaval z OpenDialogu.
|
|
Registrovaný: 23.05.09 Prihlásený: 16.01.18 Príspevky: 95 Témy: 39 Bydlisko: Michalovce | Napísal autor témy Siriuse: 18.07.2009 16:42 | |
|
no nejak to nejde, vobec sa ten program neespusti po kliknuti na subor, dostanem na vyber zoznam programov kde to mam otvorit a potom ked si tam najdem moj exe subor nic sa tam nestane
|
|
Registrovaný: 23.05.09 Prihlásený: 16.01.18 Príspevky: 95 Témy: 39 Bydlisko: Michalovce | Napísal autor témy Siriuse: 20.07.2009 16:58 | |
|
aaaaaha fajn uz mi to ide a ked si chcem zobrat vlastnu ukonku, co som nakreslil, a chcem ju ulozit rovno do EXEcka a odtial ju nahravat, ako na to?
|
|
Registrovaný: 11.01.09 Prihlásený: 29.03.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 20.07.2009 19:17 | |
|
Na to je najjednoduchšie použiť Delphi utilitu na tvorbu zdrojov (resource) - Image Editor.
V menu Delphi vyber Tools a tam vyber Image Editor. Keď sa spustí tento editor, vyber možnosť File, New... a nakoniec Resource File (.res). V ďalšom okienku klikni pravým tlačidlom a vyber možnosť New, Icon. Vyber veľkosť ikony (16x16 alebo 32x32) a potvrď OK (nevýhodou je maximálny počet farieb - 16. Tzn, že ak máš nejakú graficky náročnejšiu ikonu, tak musíš zvoliť iný postup). Teraz to pridalo ikonu Icon1. Tú si premenuj na, napríklad, IKONA (raz klikni na jej názov a prepíš). Potom dva krát klikni na názov a cez schránku (Ctrl+V) vlož svoju ikonu (niekde trebárs v kreslení si ju skopíruj). Keď sa vloží, môžeš okno zavrieť a resoruce uložiť napríklad ako Zdroj.res do zložky, kde je tvoj projekt. Potom už iba programovo vykonaj toto:
Pod direktívu
Kód: {$R *.dfm} (mala by sa nachádzať hneď pod implementation) pridaj riadok: Kód: {$R Zdroj.res} // toto je názov zdroja (resource-u) Potom do OnCreate a OnDestroy hlavného formu pridaj: Kód: var appIcon: TIcon;
...
procedure TForm1.FormCreate(Sender: TObject); begin
appIcon:= TIcon.Create; appIcon.Handle:= LoadIcon(hInstance, 'IKONA'); // toto je názov ikony, pretože v zdroji ich môže byť viac Application.Icon:= appIcon;
...
end;
procedure TForm1.FormDestroy(Sender: TObject); begin
appIcon.Free;
end;
Nakoniec v menu vyber možnosť Project a Build názov_projektu. Build dávaj stále, keď vykonáš nejakú zmenu v resourci.
|
|
Registrovaný: 23.05.09 Prihlásený: 16.01.18 Príspevky: 95 Témy: 39 Bydlisko: Michalovce | Napísal autor témy Siriuse: 25.07.2009 15:32 | |
|
ale ja som myslel vlastnu ikonu suboru .xxx, vies jak tam bolo @="shell32.dll,41", a keby som chcel nejaku inu ikonu nie z dll kniznice ale rovno z execka ako by som to mal robit?
|
|
Registrovaný: 11.01.09 Prihlásený: 29.03.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 25.07.2009 16:12 | |
|
Tak tam uvedieš cestu k súboru, ale tuším, že musí byť v dosovom skrátenom formáte (8 znakov tvorí názov súboru a tri prípona). Takže namiesto pôvodného riadku by si ho zmenil na napríklad:
Kód: @="D:\PROGRA~1\FOXITR~1\FOXITR~1.EXE,1"
Ak náhodou nevieš, ako sa tvoria skrátené názvy, pomôže ti funkcia function ExtractShortPathName(const FileName: string): string, ktorá berie za parameter cestu k súboru a vracia skrátený formát.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Asociácia spotrebiteľov pre užívateľ. Visty žiada XP z v Novinky | 8 | 480 | 14.10.2007 20:09 mimkork | | pomoc s programom v Assembler, C, C++, Pascal, Java | 6 | 519 | 14.04.2018 15:15 Vetrolam | | problem s programom v Sieťové a internetové programy | 9 | 470 | 16.05.2010 8:47 Mindfreak | | Pomoc s programom v Assembler, C, C++, Pascal, Java | 3 | 488 | 26.07.2013 9:36 Roj-i | | Pomozte s programom [ Choď na stránku: 1, 2 ] v Assembler, C, C++, Pascal, Java | 43 | 2739 | 04.06.2007 21:34 vladik | | Problém s programom v Ostatné programy | 3 | 409 | 27.04.2010 15:25 Denco1 | | pomoc s programom v Assembler, C, C++, Pascal, Java | 2 | 531 | 16.11.2009 21:30 kubo88 | | Rada s programom v Grafické programy | 2 | 767 | 21.03.2008 20:19 murded | | help s programom v Assembler, C, C++, Pascal, Java | 9 | 749 | 29.09.2009 20:57 reDo | | Huawei odblokovanie programom v Smartfóny a tablety | 11 | 2397 | 12.01.2020 3:19 Semp | | Problem s programom NoggIT v Ostatné programy | 0 | 395 | 16.08.2011 12:31 draculla | | pomoc s malym programom v Delphi, Visual Basic | 10 | 566 | 18.02.2012 21:51 coldak | | Co s tymto programom? v Ostatné programy | 3 | 356 | 18.01.2012 22:31 Denco1 | | help s C programom v Assembler, C, C++, Pascal, Java | 4 | 372 | 31.03.2017 21:16 zanietenec | | C++ pomoc s programom v Assembler, C, C++, Pascal, Java | 8 | 1820 | 07.12.2009 10:46 drummer87 | | C++ pomoc s programom v Assembler, C, C++, Pascal, Java | 9 | 608 | 09.05.2011 22:30 johny3212 |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|