NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: otevření obrázku v prohlížeči obrázků přes c

V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
tomekmichalhu:15.1.2016 17:49

Dobrý den, potřebuju aby můj program otevřel obrázek jako když na něj kliknu v průzkumníku. Když do konzole napíšu do cmd start cesta_k_souboru tak to funguje ale když napíšu v programu system("start cesta_k_souboru"); tak to nefunguje. nevíte někdo proč?

 
Odpovědět
15.1.2016 17:49
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na tomekmichalhu
David Novák:15.1.2016 19:11

Ne, že bych někdy něco takového zkoušel.. Ale neměl bys specifikovat program, který chceš spustit? Tedy například

system("start paint.exe cesta_k_souboru");

Konkrétní názvy budou záležet na tom, jaké programy máš nainstalované a v jakém chceš ten obrázek otevřít..

Nahoru Odpovědět
15.1.2016 19:11
Chyba je mezi klávesnicí a židlí.
Avatar
Odpovídá na David Novák
Michal Žůrek - misaz:15.1.2016 19:24

Minimálně ve Windows když nespecifikuješ program, tak spustí ten, který je nastavený pro daný typ souborů (příponu) výchozí.

 
Nahoru Odpovědět
15.1.2016 19:24
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na tomekmichalhu
Martin Dráb:15.1.2016 20:42

Na Windows můžeš použít něco jako:

...
#include <shellapi.h>
...
ShellExecute(NULL, "open", <soubor>, NULL, NULL, SW_SHOWNORMAL);
...

Možná to nebude v některých případech fungovat, protože nebude inicializované COM. Více informací:
https://msdn.microsoft.com/…=vs.85).aspx

Nahoru Odpovědět
15.1.2016 20:42
2 + 2 = 5 for extremely large values of 2
Avatar
tomekmichalhu:15.1.2016 22:37

bohužel nejde ani jedno, vyhodí to prázdnou konzoli a navíc funkce system() vždycky rozbije celej projekt, pak to píše jen že je vadnej makefile a že nejde otevřít upravit ten program.exe soubor.

 
Nahoru Odpovědět
15.1.2016 22:37
Avatar
tomekmichalhu:15.1.2016 22:54

tak teď se to pokazilo celý, přeinstaloval jsem devcpp a furt to píše že je vadnej makefile i když tam mám jen printf("hello") a založit jinej projekt taky nepomáhá.

 
Nahoru Odpovědět
15.1.2016 22:54
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na tomekmichalhu
David Novák:16.1.2016 9:52

Zkus to bez toho start - tedy jen název souboru. Nebo případně název programu a název souboru.

system("gedit test");

Tohle mi na Linuxu dobře funguje - spustí se program gedit a otevře soubor test :)

Nahoru Odpovědět
16.1.2016 9:52
Chyba je mezi klávesnicí a židlí.
Avatar
tomekmichalhu:16.1.2016 10:22

jenže mě to teď nejde vůbec, ani hello world nejde. Přeinstaloval jsem dev-cpp, odstanil všechny projekty co nefungovaly a restartoval PC ale prostě to nejde a já nechápu proč.

 
Nahoru Odpovědět
16.1.2016 10:22
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na tomekmichalhu
David Novák:16.1.2016 10:27

Sem hoď co nejdetailnější popis problému, jak se to stalo a hlavně, co to dává za chybové hlášky..

A zkus si přeložit a spustit program i bez IDE - zjistíš tak, jestli je problém v IDE nebo v překladači.

Nahoru Odpovědět
16.1.2016 10:27
Chyba je mezi klávesnicí a židlí.
Avatar
tomekmichalhu:16.1.2016 10:36

píše to:

C:\Dev-Cpp\projects\test\Makefile.win [Build Error]  [test.exe] Error 1

Jak se to spustí bez IDE?

 
Nahoru Odpovědět
16.1.2016 10:36
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na tomekmichalhu
David Novák:16.1.2016 10:49

Tak nejspíš tam máš nainstalován MinGW nebo nějaký jiný překladač. Pokud není v PATH, tak si ho najdi ručně a dej mu svůj zdroják..

Nahoru Odpovědět
16.1.2016 10:49
Chyba je mezi klávesnicí a židlí.
Avatar
tomekmichalhu:16.1.2016 10:59

mělo by tam být gcc ale když ho spustím tak se hned ukončí a když ho přes konzoli a dám mu cestu k tomu souboru jako parametr tak se stejné hned ukončí a exe soubor nevytvoří.

 
Nahoru Odpovědět
16.1.2016 10:59
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na tomekmichalhu
David Novák:16.1.2016 12:47

určitě? Neobjevil se ti tam soubor a.out? (Výchozí jméno, když nespecifikuješ jinak)

Nahoru Odpovědět
16.1.2016 12:47
Chyba je mezi klávesnicí a židlí.
Avatar
tomekmichalhu:16.1.2016 13:23

Ne, ve složce se nevytvořil žádný nový soubor.

 
Nahoru Odpovědět
16.1.2016 13:23
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na tomekmichalhu
David Novák:16.1.2016 15:49

Můžeš zkusit reinstalovat kompilátor.. Ale připadá mi to jako chyba mezi klávesnicí a židlí. A nebo si Windows usmyslel, že udělá něco podivného a prostě přestane fungovat - takže pokud si jsi jistý, že to používáš správně, tak můžeš zkusit kompletní reinstalaci Windows.

Z tvého popisu chyby se bohužel nic dalšího zjistit nedá.

Nahoru Odpovědět
16.1.2016 15:49
Chyba je mezi klávesnicí a židlí.
Avatar
tomekmichalhu:16.1.2016 16:31

jistý že vše dělám dobře si nejsem, ale dělal jsem to tak i předtím a fungovalo to. Kompilátor se instaluje s dev-cpp, ne? a to jsem přeinstaloval už 2x.

 
Nahoru Odpovědět
16.1.2016 16:31
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na tomekmichalhu
David Novák:16.1.2016 16:58

No ale otázka je, jestli se spolu s dev-cpp i odinstaloval - což myslím, že spíš ne. Ale nevím - přijde mi opravdu nemožné, aby ti kompilátor neudělal binárku a ani nic nenahlásil.

Zkus oboje odinstalovat, ručně vymazat pozůstatky a nainstalovat si něco jiného.. Třeba Code::Blocks s MinGW..

Nahoru Odpovědět
16.1.2016 16:58
Chyba je mezi klávesnicí a židlí.
Avatar
tomekmichalhu:16.1.2016 20:03

code::blocks mi hlásí že je GNU GCC compiler vadnej hned jak ho otevřu, MinGW tam nemám

 
Nahoru Odpovědět
16.1.2016 20:03
Avatar
tomekmichalhu:16.1.2016 20:28

a nejde mi ani žádnej jinej compiler

 
Nahoru Odpovědět
16.1.2016 20:28
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na tomekmichalhu
David Novák:16.1.2016 20:58

Však prvně odinstaluj vše, co tam máš.. a pak nainstaluj C::B s MinGW (což je mimochodem gcc)

Nahoru Odpovědět
16.1.2016 20:58
Chyba je mezi klávesnicí a židlí.
Avatar
tomekmichalhu:16.1.2016 21:22

pořád to nejde

 
Nahoru Odpovědět
16.1.2016 21:22
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na tomekmichalhu
David Novák:16.1.2016 21:42

pořád to nejde

To opravdu není dostatečný popis a analýza problému.. Si to vezmi někam do servisu nebo na technickou podporu, když s tím máš problém.

Nahoru Odpovědět
16.1.2016 21:42
Chyba je mezi klávesnicí a židlí.
Avatar
tomekmichalhu:16.1.2016 22:14

pořád to nejde = dělá to furt to samý co před tím

 
Nahoru Odpovědět
16.1.2016 22:14
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na tomekmichalhu
David Novák:16.1.2016 23:18

To mi došlo.. Ale ty jsi nikdy detailně nepopsal, co to dělá nebo nedělá.. Nedal jsi sem žádné logy, nic.. Takže můžu maximálně tak tipovat ;)

Nahoru Odpovědět
16.1.2016 23:18
Chyba je mezi klávesnicí a židlí.
Avatar
tomekmichalhu:17.1.2016 10:23

spustím code::blocks a vyskočí na mě okno can´t find compiler GNU GCC, když vyberu jinej compiler tak to zase vyskočí tabulka že ho nelze nají. Když napíšu program a dám ho skompilovat tak to píše

"test2 - Debug": The compiler's setup (GNU GCC Compiler) is invalid, so Code::Blocks cannot find/run the compiler.
Probably the toolchain path within the compiler options is not setup correctly?! (Do you have a compiler installed?)
Goto "Settings->Compiler...->Global compiler settings->GNU GCC Compiler->Toolchain executables" and fix the compiler's setup.
Skipping...
Nothing to be done (all items are up-to-date).
 
Nahoru Odpovědět
17.1.2016 10:23
Avatar
tomekmichalhu:17.1.2016 11:53

už jsem to rozchodil, stáhnul jsem nějakou obří verzi dev-cpp a de to :D

 
Nahoru Odpovědět
17.1.2016 11:53
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na tomekmichalhu
David Novák:17.1.2016 14:03

Ta "super obří" verze je ta, kterou jsi měl stahovat už od začátku - obsahuje kompilátor.

Stejně tak jsi měl stáhnout Code::Blocks s MinGW - tedy s kompilátorem.. Co se divíš, že ho to nenajde, když ho tam nemáš nebo ho máš porušený..? ;)

Nahoru Odpovědět
17.1.2016 14:03
Chyba je mezi klávesnicí a židlí.
Avatar
tomekmichalhu:18.1.2016 6:23

já myslel že je v každý verzi, k čemu je dobrá verze bez kompilátoru? Leda jako na trolení lidí co chtěj začít programovat a nerozuměj tomu :D

 
Nahoru Odpovědět
18.1.2016 6:23
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na tomekmichalhu
David Novák:18.1.2016 8:26

No.. Když máš už nainstalovaný nějaký vlastní kompilátor a jen třeba zkoušíš různá IDE. A taky ti to dává možnost výběru - je x různých kompilátorů a to IDE tě nenutí používat ten, který se zrovna líbí autorům.. ;)

A typicky je na těch stránkách nějaké info, co dělat.

Code::Blocks:

http://www.codeblocks.org/downloads/26

The codeblocks-13.12mingw-setup.exe file includes the GCC compiler and GDB debugger from TDM-GCC (version 4.7.1, 32 bit).
IF UNSURE, USE "codeblocks-13.12mingw-setup.exe"!

Neumím si moc představit, že by to někdo potřeboval ještě víc BFU-friendly..

Nahoru Odpovědět
18.1.2016 8:26
Chyba je mezi klávesnicí a židlí.
Avatar
tomekmichalhu:18.1.2016 16:24

no spíš bych potřeboval NoEgnlish-friendly :D

 
Nahoru Odpovědět
18.1.2016 16:24
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na tomekmichalhu
David Novák:18.1.2016 16:49

Tak toho se opravdu nedočkáš - základem celé IT je angličtina a každý ajťák komunikuje anglicky.. S tím se budeš muset smířit a angličtinu se naučit - minimálně číst a psát. ;)

Nahoru Odpovědět
18.1.2016 16:49
Chyba je mezi klávesnicí a židlí.
Avatar
tomekmichalhu:18.1.2016 21:34

No jo, ale to dneska ke všemu...mi přijde že lidi co nevládnou angličtinou můžou tak akorát kopat kanály :(

 
Nahoru Odpovědět
18.1.2016 21:34
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na tomekmichalhu
David Novák:18.1.2016 21:40

No lidi, co nezvládnou angličtinu jsou buď nesmírně líní, mají nějakou mentální poruchu a nebo jsou naprosto hloupí - cokoliv z toho člověka vyřadí z jakékoliv zajímavější práce.. Angličtina není ten pravý důvod.

Nemáš nadání na jazyky? Většina lidí ho nemá (místo toho jsou typicky nadaní v jiné oblasti).. A co má být? Akorát tomu budeš muset věnovat více času a úsilí, než třeba někdo jiný.. Pokud chceš víc, musíš pro to něco dělat.

Nahoru Odpovědět
18.1.2016 21:40
Chyba je mezi klávesnicí a židlí.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 33 zpráv z 33.