Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 7 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.05.09
Prihlásený: 16.01.18
Príspevky: 95
Témy: 39
Bydlisko: Michalovce
Príspevok NapísalOffline : 06.06.2009 18:10

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...


Offline

Skúsený užívateľ
Skúsený užívateľ
Asociacia suboru s programom

Registrovaný: 11.01.09
Prihlásený: 29.03.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 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.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.05.09
Prihlásený: 16.01.18
Príspevky: 95
Témy: 39
Bydlisko: Michalovce
Príspevok Napísal autor témyOffline : 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


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.05.09
Prihlásený: 16.01.18
Príspevky: 95
Témy: 39
Bydlisko: Michalovce
Príspevok Napísal autor témyOffline : 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?


Offline

Skúsený užívateľ
Skúsený užívateľ
Asociacia suboru s programom

Registrovaný: 11.01.09
Prihlásený: 29.03.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 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.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.05.09
Prihlásený: 16.01.18
Príspevky: 95
Témy: 39
Bydlisko: Michalovce
Príspevok Napísal autor témyOffline : 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?


Offline

Skúsený užívateľ
Skúsený užívateľ
Asociacia suboru s programom

Registrovaný: 11.01.09
Prihlásený: 29.03.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 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.


Odpovedať na tému [ Príspevkov: 7 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Asociácia spotrebiteľov pre užívateľ. Visty žiada XP z

v Novinky

8

480

14.10.2007 20:09

mimkork Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pomoc s programom

v Assembler, C, C++, Pascal, Java

6

519

14.04.2018 15:15

Vetrolam Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. problem s programom

v Sieťové a internetové programy

9

470

16.05.2010 8:47

Mindfreak Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pomoc s programom

v Assembler, C, C++, Pascal, Java

3

488

26.07.2013 9:36

Roj-i Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pomozte s programom

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Assembler, C, C++, Pascal, Java

43

2739

04.06.2007 21:34

vladik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problém s programom

v Ostatné programy

3

409

27.04.2010 15:25

Denco1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pomoc s programom

v Assembler, C, C++, Pascal, Java

2

531

16.11.2009 21:30

kubo88 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Rada s programom

v Grafické programy

2

767

21.03.2008 20:19

murded Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. help s programom

v Assembler, C, C++, Pascal, Java

9

749

29.09.2009 20:57

reDo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Huawei odblokovanie programom

v Smartfóny a tablety

11

2397

12.01.2020 3:19

Semp Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problem s programom NoggIT

v Ostatné programy

0

395

16.08.2011 12:31

draculla Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pomoc s malym programom

v Delphi, Visual Basic

10

566

18.02.2012 21:51

coldak Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Co s tymto programom?

v Ostatné programy

3

356

18.01.2012 22:31

Denco1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. help s C programom

v Assembler, C, C++, Pascal, Java

4

372

31.03.2017 21:16

zanietenec Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C++ pomoc s programom

v Assembler, C, C++, Pascal, Java

8

1820

07.12.2009 10:46

drummer87 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C++ pomoc s programom

v Assembler, C, C++, Pascal, Java

9

608

09.05.2011 22:30

johny3212 Zobrazenie posledných príspevkov


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

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra