Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Auto-Moto
Mobilní telefony
Notebooky  |  Tablety
Příslušenství
Wearables  |  Ostatní
Svět hardware  |  Digimanie  |   TV Freak

Opet VS 2005 (VB. NET) - filenotfoundexception

Zax_ce4you (222)|25.3.2008 22:24
Ne, nechci se zase stupidne ptat jako vul, ale objevil se jeden problem, se kterym si skutecne nevim rady.
Programuju jakysi primitivni finger-friendly file manager, takze prochazeni slozek a otevirani souboru.
Prochazeni slozek funguje v pohode, ale nefunguje mi otevirani souboru.
Nenapadlo me, jakou funkci pouzit pro otevreni souboru, dokud jsem jakymsi zpusobem neobjevil microsoft.visualbasic.shell(path as string). Velice jednoduche - napisu do toho cestu k souboru a on se mi otevre. Jenze to jaksi nefunguje...
Blbe se mi to bude vysvetlovat, tak aspon prikladam screen, kde muzete videt, ze v promenne "cesta" je ulozena spravna cesta (jako string) k souboru, ale i presto mi to vyhodi chybu. Kdo v tom nekdy programoval, tak se rychle zorientuje a pochopi, co je za problem.
http://lukasklika.cz/imgs/error.png
Dekuji za rady.
RStein (2012)|26.3.2008 16:43
No Shell urcite provede ShelExecute:


Zkusil bych celou cestu dat o uvozovek.
"""Moje cesta k souboru"""
Zax_ce4you (222)|27.3.2008 14:55
Asi jsem to poradne nepochopil...
Mam promennou cesta, ktera je typu string a je v ni ulozena hodnota napr. "\cesta\k\souboru.txt" a tu pak vlozim do toho shellu, takze ve vysledku se vlastne provede toto: microsoft.visualbasic.shell("\cesta\k\souboru.txt"). Tam neni co vic uzavirat do uvozovek.
I presto, ze pozadovany soubor existuje, dostanu filenotfoundexception.

A muze mi nekdo prosim poradne popsat, co presne funkce shell dela? Ja jsem si myslel, ze slouzi pro spousteni programu a otevirani souboru podobne, jako kdyz na soubor jednoduse klepnu v nejakem pruzkumnikovi. Tj. kdyz chci otevrit txt, otevre se mi v defaultnim textovem editoru apod.
RStein (2012)|27.3.2008 15:25
Zax: Ne, nepochopil jste to - vase uvozovky ohranicuji pouze literal ve VB.NET. Ja po vas chci, abyste primo funkci predal cestu v uvozovkach - pokud se nepletu, ve VB.NET se *znak* uvozovka do literalu vlozi zdvojenim uvozovek - tedy tak, jak jsem psal.
"""cesta\k\souboru.txt"""

Jinymi slovy - Vy ted funkci predate cesta\k\souboru.txt a ja chci, abyste predal "cesta\k\souboru.txt".