Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



HTTP

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: HTTP

Autor: JiriValerian

12:18:21 27.06.2010

Posuňte si závorku z

[b]typedef HRESULT WINAPI [color=#FF0000]([/color]*URLDTF)(void *pCaller,...[/b]

na

[b]typedef HRESULT [color=#FF0000]([/color]WINAPI *URLDTF)(void *pCaller,...[/b]

Citovat příspěvek

 

Re: HTTP

Autor: Farao

23:33:40 26.06.2010

Vypadá to, že jsi příklad zkopíroval jenom částečně a vynechal include hlavičkových souborů.

Citovat příspěvek

 

Re: HTTP

Autor: BretaKral

21:07:22 26.06.2010

dobrý den
učím se cpp, narazil jsem na tenhle příklad a teď se to snažím spustit, ale nejde to, používám vs2008. Vždy to nahlásí tyhle chyby:

[quote]
1>c:\users\břetislav král\documents\visual studio 2008\projects\internetread\internetread\main.cpp(5) : error C2059: syntax error : '('
1>c:\users\břetislav král\documents\visual studio 2008\projects\internetread\internetread\main.cpp(12) : error C2065: 'URLDTF' : undeclared identifier
1>c:\users\břetislav král\documents\visual studio 2008\projects\internetread\internetread\main.cpp(12) : error C2146: syntax error : missing ';' before identifier 'pFun'
1>c:\users\břetislav král\documents\visual studio 2008\projects\internetread\internetread\main.cpp(12) : error C2065: 'pFun' : undeclared identifier
1>c:\users\břetislav král\documents\visual studio 2008\projects\internetread\internetread\main.cpp(12) : error C2065: 'URLDTF' : undeclared identifier
1>c:\users\břetislav král\documents\visual studio 2008\projects\internetread\internetread\main.cpp(12) : error C2146: syntax error : missing ';' before identifier 'GetProcAddress'
1>c:\users\břetislav král\documents\visual studio 2008\projects\internetread\internetread\main.cpp(13) : error C2065: 'pFun' : undeclared identifier
1>c:\users\břetislav král\documents\visual studio 2008\projects\internetread\internetread\main.cpp(16) : error C3861: 'pFun': identifier not found
[/quote]

nevíte čím to může být?

Citovat příspěvek

 

Re: HTTP

Autor: 03F8

17:34:44 11.06.2008

Super, diky moc... Aspon se naucim pripojit do projektu DLL knihnovnu :) - takze 2 mouchy jednou ranou :)

Citovat příspěvek

 

Re: HTTP

Autor: JiriValerian

17:24:53 11.06.2008

[color=#008000]03F8 Napsal:
-------------------------------------------------------
> Jeste bych se chtel zeptat. Knihovnu "urlmon.lib"
> jsem nikde v PC nenasel, hledam ji na netu a nejak
> nemuzu najit. Kde ji najdu?[/color]

Pokud ji nemáte, pak ji nehledejte. Dá se to udělat i zcela bez použití [b]urlmon.h[/b] i [b]urlmon.lib[/b] viz níže ukázka přes [b]LoadLibrary/GetProcAddress[/b]. Ukázka je sice v konzolovce, ale obdobně je to použitelné i v GUI aplikaci.

[size=14px][code][color=#0000FF]#include[/color] [color=#800080][/color]
[color=#0000FF]#include[/color] [color=#800080][/color]
[color=#0000FF]#include[/color] [color=#800080][/color]

[color=#0000FF]typedef[/color] HRESULT [color=#800000](WINAPI [/color][color=#800000]*[/color]URLDTF[color=#800000])[/color][color=#800000]([/color][color=#0000FF]void[/color] [color=#800000]*[/color]pCaller[color=#800000],[/color]
[color=#0000FF]char[/color] [color=#800000]*[/color]szURL[color=#800000],[/color]
[color=#0000FF]char[/color] [color=#800000]*[/color]szFileName[color=#800000],[/color]
DWORD dwReserved[color=#800000],[/color]
[color=#0000FF]void[/color] [color=#800000]*[/color]lpfnCB[color=#800000])[/color][color=#800000];[/color]

[color=#0000FF]int[/color] main [color=#800000]([/color][color=#0000FF]void[/color][color=#800000])[/color]
[color=#800000]{[/color]
HMODULE hDLL [color=#800000]=[/color] LoadLibraryA[color=#800000]([/color][color=#800080]"urlmon.dll"[/color][color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]hDLL[color=#800000])[/color] [color=#800000]{[/color]
[color=#008000]// pokud je zavedeni uspesne ziskame ukazatel na funkci[/color]
URLDTF pFun [color=#800000]=[/color] [color=#800000]([/color]URLDTF[color=#800000])[/color]GetProcAddress[color=#800000]([/color]hDLL[color=#800000],[/color][color=#800080]"URLDownloadToFileA"[/color][color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]pFun[color=#800000])[/color] [color=#800000]{[/color]
[color=#0000FF]char[/color] Odkaz[color=#800000][[/color]MAX_PATH[color=#800000]][/color] [color=#800000]=[/color] [color=#800080]"http://www.kabat.cz/index.php"[/color][color=#800000];[/color]
[color=#0000FF]char[/color] Soubor[color=#800000][[/color]MAX_PATH[color=#800000]][/color] [color=#800000]=[/color] [color=#800080]"c:\\kabati.txt"[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]pFun[color=#800000]([/color]NULL[color=#800000],[/color]Odkaz[color=#800000],[/color]Soubor[color=#800000],[/color][color=#0000FF]0[/color][color=#800000],[/color]NULL[color=#800000])[/color][color=#800000])[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"Doslo k chybe pri stahovani!\n"[/color][color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color] [color=#0000FF]else[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"Soubor byl stazen\n"[/color][color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
FreeLibrary[color=#800000]([/color]hDLL[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
system[color=#800000]([/color][color=#800080]"pause"[/color][color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]return[/color] [color=#0000FF]0[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[/code][/size]

Citovat příspěvek

 

Re: HTTP

Autor: 03F8

16:48:09 11.06.2008

Jeste bych se chtel zeptat. Knihovnu "urlmon.lib" jsem nikde v PC nenasel, hledam ji na netu a nejak nemuzu najit. Kde ji najdu?

Citovat příspěvek

 

Re: HTTP

Autor: JiriValerian

16:20:39 11.06.2008

[color=#008000]03F8 Napsal:
-------------------------------------------------------
> Diky :), me to cele trochu zaskocilo, uz jen pro
> to, ze ukazatel ve VC++ neni * ale ^. Coz me
> stve... Jsem zvykly na klasicke C/C++[/color]

[color=#FF0000][b]Ale to si pořád pletete hrušky s jabkama ;).[/b][/color]

Ukazatele [b]^[/b] jsou v [b]C++/CLI[/b], a to je určeno jak jsem již zmínil pro [b].NET Framework[/b].

Programování pro [b].NET Framework[/b] je ovšem jen část toho co lze ve [b]Visual C++[/b] realizovat a na tomto serveru je záležitostem pro [b].NET[/b] vyhrazena jiná konference jak jsem již rovněž zmínil.

Nicméně ve [b]Visual C++[/b] samozřejmě lze používat zcela standardní záležitosti plně v souladu s [b]C/C++[/b] zcela bez použití [b]C++/CLI[/b] viz například níže uvedená nativní konzolovka

[size=14px][code][color=#0000FF]#include[/color] [color=#800080][/color]
[color=#0000FF]#include[/color] [color=#800080][/color]

[color=#0000FF]int[/color] main [color=#800000]([/color][color=#0000FF]void[/color][color=#800000])[/color]
[color=#800000]{[/color]
[color=#0000FF]char[/color] [color=#800000]*[/color]ukazatel [color=#800000]=[/color] [color=#800080]"Bla bla bla"[/color][color=#800000];[/color]
printf[color=#800000]([/color][color=#800080]"%s\n"[/color][color=#800000],[/color]ukazatel[color=#800000])[/color][color=#800000];[/color]
system[color=#800000]([/color][color=#800080]"pause"[/color][color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]return[/color] [color=#0000FF]0[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color][/code][/size]

A stejně tak jsou standardní ukazatele například v nativních GUI aplikacích psaných v C nebo C++ s využitím třeba jen [b]Win API[/b] nebo objektové nadstavby [b]MFC[/b] či jiných objektových nadstaveb jako např. [b]wxWidgest[/b] apod., a to se dá realizovat ve [b]Visual C++[/b].

Takže nepleťte si [b]C/C++[/b] s rozšířením [b]C++/CLI[/b] určeným pro [b].NET Framework[/b] viz odkaz:

[b]C++/CLI Language Specification Standard[/b]
Samostatné rozšíření [b]C++[/b] určené pro [b].NET Framework[/b] a jsoucí mimo níže uvedené normy.
http://www.ecma-international.org/publications/standards/Ecma-372.htm

Pro [b]C/C++[/b] platí viz dva odkazy níže.

[b]Standard jazyka C, norma C99, ISO/IEC 9899[/b]
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf

[b]Standard jazyka C++, norma ISO IEC 14882:2003[/b]
http://www.usatlas.bnl.gov/~dladams/cpp/INCITS+ISO+IEC+14882-2003.pdf

Citovat příspěvek

 

Re: HTTP

Autor: 03F8

15:36:42 11.06.2008

Diky :), me to cele trochu zaskocilo, uz jen pro to, ze ukazatel ve VC++ neni * ale ^. Coz me stve... Jsem zvykly na klasicke C/C++

Citovat příspěvek

 

Re: HTTP

Autor: JiriValerian

12:13:19 11.06.2008

[color=#008000]03F8 Napsal:
-------------------------------------------------------
> Diky za odpovedi, jeste bych poprosil o jednu
> radu. Ve VC++ jsem zacatecnik, teprve si na nej
> zvykam...
>
> Vsiml jsem si, ze se tam (asi) nepouzivaji
> direktivy #include, ale namespace...[/color]

To jste si všimnul špatně a nebo si to patrně pletete s [b]Visual C#[/b]. [b]#include[/b] podobně jako [b]namespace[/b] je záležitost jazyka [b]C++[/b] obecně a používá se to i jinde. [b]Namespace[/b] se používají převážně ve [b]Visual C#[/b] případně pro projekty ve [b]Visual C++[/b] založené na [b].NET Frameworku[/b] na což je ovšem vhodnější konference viz odkaz.

[b]Diskuzní forum: .Net[/b]
http://forum.builder.cz/list.php?31

[color=#008000]> Kdyz tu f-ci napisu normalne, prekladac mi to nebere.
> Jaky namespace mam pouzit?[/color]

[b]Farao[/b] Vám dal odkaz na popis funkce [b]UrlDownloadToFile[/b] v [b]MSDN On-Line[/b] a tam je uvedeno v sekci [b]Function Information[/b] i to, který hlavičkový soubor a kterou importní [b]*.lib[/b] máte použít.

Takže žádný [b]namespace[/b], ale [b]#include[/b] pro překladač a případně níže uvedenou [b]#pragmu[/b] pro linker. Obojí můžete zapsat přímo do zdrojáku.

[size=14px][code][color=#0000FF]#include[/color] [color=#800080][/color]

[color=#0000FF]#pragma[/color] [color=#0000FF]comment[/color][color=#800000]([/color][color=#0000FF]lib[/color][color=#800000],[/color] [color=#800080]"urlmon.lib"[/color][color=#800000])[/color]
[/code][/size]

Citovat příspěvek

 

Re: HTTP

Autor: 03F8

11:34:55 11.06.2008

Diky za odpovedi, jeste bych poprosil o jednu radu. Ve VC++ jsem zacatecnik, teprve si na nej zvykam...

Vsiml jsem si, ze se tam (asi) nepouzivaji direktivy #include, ale namespace... Kdyz tu f-ci napisu normalne, prekladac mi to nebere. Jaky namespace mam pouzit?

Citovat příspěvek

 

Re: HTTP

Autor: MaK

9:10:39 09.06.2008

IXMLDOMDocument::load

Mate to knihovnu od MS, umi to Unicode. Nezkousel jsem nacitani z internetu, jen z lokalu, ale popis funkce rika o parametru: "A string containing a URL that specifies the location of the XML file." Ale kdyby to umel jen z lokalu, tak jak uvedl Farao.

http://msdn.microsoft.com/en-us/library/ms762722(VS.85).aspx

MK

Citovat příspěvek

 

Re: HTTP

Autor: Farao

18:06:37 08.06.2008

Nejjednodušší řešení je použít WinAPI funkci UrlDownloadToFile

http://msdn.microsoft.com/en-us/library/ms775123(VS.85).aspx

k uložení souboru na disk a odtud si ho už vyčteš do paměti.

Citovat příspěvek

 

HTTP

Autor: 03F8

11:54:21 08.06.2008

Dobry den,

potrebuji nacist soubor XML(napr: http://www.domena.cz/soubor.xml) z webu. Jak to mam udelat? (Toto jsem uz resil, ale na platforme wxWigGets, proto prosim spise o prakticke rady - nazev trid, popripade kousek zdrojaku a podobne)

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: