Download v c++ – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Download v c++ – C / C++ – Fórum – Programujte.comDownload v c++ – C / C++ – Fórum – Programujte.com

 

Feri83
~ Anonymní uživatel
11 příspěvků
24. 7. 2011   #1
-
0
-

Ahojte všetci neviete náhodou ako spraviť v c++  program ktorý po spustení si stiahne neaký súbor z netu ale bez zbytočných otázok typu uložit jako a dobré by bolo keby ho aj spustil. neviem ako na to bo to potrebujem do práce ?Proste aby ten program ked ho spustíme si sám stiahol ten subor a aj ho spustil

Nahlásit jako SPAM
IP: 87.244.231.–
sputnikone+1
Věrný člen
Nahlásit jako SPAM
IP: 94.113.134.–
_tomas0
Duch
24. 7. 2011   #3
-
0
-
Nahlásit jako SPAM
IP: 46.150.223.–
Feri83
~ Anonymní uživatel
11 příspěvků
24. 7. 2011   #4
-
0
-

Ale bude to funkčne štýlom že to stiahne bez tých otazok typu uložiť jako?

Nahlásit jako SPAM
IP: 87.244.231.–
Lukasas0
Newbie
24. 7. 2011   #5
-
0
-
Nahlásit jako SPAM
IP: 46.13.20.–
Feri83
~ Anonymní uživatel
11 příspěvků
24. 7. 2011   #6
-
0
-

Pomohlo, len mi zase chýba do include subor urlmon.h a neviem ho cez google najsť jeden som nšiel ale aj tak vypisuje mu chybu pri kompilacii pls pomoc laebo ešte niečo podobne ? inak Ďakujem za toto.

Nahlásit jako SPAM
IP: 87.244.231.–
Feri83
~ Anonymní uživatel
11 příspěvků
24. 7. 2011   #7
-
0
-

#include <tchar.h>
#include <urlmon.h>
#pragma comment(lib, "urlmon.lib")
int main()
{
HRESULT hr = URLDownloadToFile ( NULL, _T("your web page"), _T("c:/web_page.html"), 0, NULL );
return 0;
}

a vypisuje mi chybu to urlmon.h neviem prečo ale dal som ho tam má cez 3500 riadkov a skušal som 2 typy ši neni odlšny ale nič žiadna zmena píše chybu

Nahlásit jako SPAM
IP: 87.244.231.–
yaqwsx+9
Posthunter
24. 7. 2011   #8
-
0
-

#7 Feri83
Jakou chybu přesně ti kompiler vypisuje?

Nahlásit jako SPAM
IP: 85.160.85.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Feri83
~ Anonymní uživatel
11 příspěvků
24. 7. 2011   #9
-
0
-

 C:\Documents and Settings\My Documents\Nepomenový11.cpp `written' undeclared (first use this function)

 #include <urlmon.h> written = fwrite(ptr, size, nmemb, stream);

Nahlásit jako SPAM
IP: 87.244.231.–
Feri83
~ Anonymní uživatel
11 příspěvků
24. 7. 2011   #10
-
0
-

nemáš skype alebo tak? nche sa mi pisat tuto to

Nahlásit jako SPAM
IP: 87.244.231.–
AnonImouS
~ Anonymní uživatel
21 příspěvků
25. 7. 2011   #11
-
0
-

Tu je Source Code funkčnééé pri spustený sa tam zadá url adresa a meno súboru ako sa bude volať po stiahnutí. Ale jak to spraviť tak aby sa url a meno súboru zapísalo do source codu a aby sa nemusela url a meno súboru zapisovať po spustení programu. Ako nato??? Za odpoveď. Ďakujem.

TU JE SOURCE CODE

//---------------------------------------------------------------------------------
// Sťahovanie súborov z internetu pomocou WinInet
//---------------------------------------------------------------------------------
#include <iostream>
#include <fstream>
#include <windows.h>
#include <string>
#include <wininet.h>
	// hlavičkový súbor knižnice WinInet
//---------------------------------------------------------------------------------
#define VELKOST_VYROVNAVACEJ_PAMATE	256	// veľkosť vyrovnávacej pamäte použitej
										// pri čítaní internetového súboru
//---------------------------------------------------------------------------------
#pragma comment(lib,"WinInet.lib")	// prilinkovanie knižnice WinInet
//---------------------------------------------------------------------------------
using namespace std;
//---------------------------------------------------------------------------------

int main(int argc, char * argv[])
{
	cout << "Stahovanie suborov z internetu" << endl;
	string url,subor;
	cout << "Zadajte URL suboru: ";
	getline(cin,url);
	cout << "Zadajte nazov suboru na ulozenie: ";
	getline(cin,subor);

	// V prvom rade si deklarujeme premenné, ktoré budeme používať
	HINTERNET spojenie,internetovySubor;
	
	// Teraz si vytvoríme spojenie, inicializujeme aplikáciu na používanie WinInet
	spojenie = InternetOpenA("Moj internetovy prehladavac",
							INTERNET_OPEN_TYPE_PRECONFIG,	// Predvolené nastavenia
							0,								// Žiadne proxy
							0,								
							0);								// Žiadne príznaky
	if (spojenie == 0) // NULL
	{
		cout << "Nie je mozne inicializovaz WinInet" << endl;
		cout << "Kod chyby: " << GetLastError() << endl;
		return 1;
	}
	// Následne otvoríme spojenie so súborom, ktorý je definovaný pomocou URL
	internetovySubor = InternetOpenUrlA(spojenie,		// Inštancia spojenia
										url.c_str(),	// URL adresa súboru
										0,				// Žiadna prídavná HTTP hlavička
										0,				// Dĺžka prídavnej hlavičky	
										0,				// Žiadne príznaky
										0);
	if (internetovySubor == 0) // NULL
	{
		cout << "Nie je mozne vytvorit spojenie so suborom" << endl;
		DWORD kodChyby = GetLastError();
		cout << "Kod chyby: " << kodChyby << endl;
		char chyba[256];
		DWORD chybaVelkost = 255;
		if (InternetGetLastResponseInfoA(&kodChyby,chyba,&chybaVelkost))
			cout << "Popis chyby: " << chyba << endl;
		// Nesmieme zabudnúť zatvoriť už inicializovaný handler s WinInet
		InternetCloseHandle(spojenie);
		return 1;
	}
	// V tomto kroku môžeme zistiť podrobnosti o súbore
	DWORD informacia;
	DWORD velkostInformacie = sizeof(DWORD);
	// Najskôr si zistíme HTTP status kód (napr. status kód 200 znamená OK, 404 znamená súbor nenájdený)
	if (!HttpQueryInfoA(internetovySubor,	// Inštancia nami vytvoreného spojenia so súborom
					HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER,	// Požadujeme status ktorý je číselným typom
					&informacia,			// Sem bude zapísaný výsledok volania
					&velkostInformacie,		// Veľkosť dátovej jednotky informácie
					0))
	{
		cout << "Nie je mozne zistit kod statusu" << endl;
		cout << "Kod chyby: " << GetLastError() << endl;
		InternetCloseHandle(internetovySubor);
		InternetCloseHandle(spojenie);
		return 1;
	}
	cout << "Status odpovede: " << informacia << endl;
	// Ak sa status odpovede nerovná 200, nedostaneme súbor, ktorý sme požadovali
	if (informacia != HTTP_STATUS_OK)
	{
		cout << "Status spojenia NIE je OK" << endl;
		InternetCloseHandle(internetovySubor);
		InternetCloseHandle(spojenie);
		return 1;
	}
	
	// Vytvoríme si vyrovnávaciu pamäť, do ktorej budeme ukladať časti súboru
	char * vyrovnavaciaPamat = new char[VELKOST_VYROVNAVACEJ_PAMATE];
	// Vytvoríme si výstupný súbor
	fstream vystupnySubor(subor.c_str(),	// Názov výstupného súboru
						ios_base::out | ios_base::binary);	// Budeme zapisovať v binárnom móde
	// Premenná, do ktorej sa bude ukladať koľko sme z internetového súboru prečítali
	DWORD precitane = 0;
	// Premenná, do ktorej uložíme celkový počet stiahnutých bajtov
	DWORD stiahnute = 0;

	cout << "Stahujem\t\t\t";
	while (InternetReadFile(internetovySubor,	// Spojenie na náš internetový súbor
							vyrovnavaciaPamat,	// Vyrovnávacia pamäť
							VELKOST_VYROVNAVACEJ_PAMATE,	// Koľko môžeme max. prečítať
							&precitane))		// Koľko WinInet prečítal
	{
		if (precitane == 0)		// Už sme všetko prečítali, ukončiť
			break;
		stiahnute += precitane;
		if (informacia != 0)	// Ak vieme o veľkosti súboru môžeme vypočítať %
			cout << "\rStahujem " << (int)((stiahnute*100)/informacia) << "%";
		else					// Inak len vypíšeme celkový počet stiahnutých B
			cout << "\rStahujem " << stiahnute << " B";
		// Zapísať do vsýtupného súboru
		vystupnySubor.write((const char*)vyrovnavaciaPamat,precitane);
	}
	cout << endl << endl;
	
	// Zatvoríme spojenia
	InternetCloseHandle(internetovySubor);
	InternetCloseHandle(spojenie);
	// Zatvoríme výstupný súbor
	vystupnySubor.close();
	// Nezabudneme vyrovnávaciu pamäť uvoľniť :)
	delete [] vyrovnavaciaPamat;
	return 0;
}
Nahlásit jako SPAM
IP: 95.103.195.–
Johnny960
Newbie
25. 7. 2011   #12
-
0
-

ANo ale ja potrebujem aby sa mi to po spustení programu si samo stiahlo ten subor file.exe a spustilo ho :( ale inak ďakujem už som ho mal tento ale ja ptrebujem automatický.

Nahlásit jako SPAM
IP: 87.244.231.–
C++++++++++++
AnonImouS
~ Anonymní uživatel
21 příspěvků
25. 7. 2011   #13
-
0
-

šak keď sa to spraví aby url a meno súboru dosadené v source code tak to si stiahne automaticky po spustení.

Nahlásit jako SPAM
IP: 95.103.195.–
Johnny960
Newbie
25. 7. 2011   #14
-
0
-

ANo ale mne to nejde a už som v koncoch tak preto sa pýtam na fóre?

Nahlásit jako SPAM
IP: 87.244.231.–
C++++++++++++
liborb
~ Redaktor
+18
Guru
26. 7. 2011   #15
-
0
-

Potřebuješ inicializovat proměnné url a subor. Podívej se třeba sem, jak se to dělá.

Nahlásit jako SPAM
IP: 78.80.52.–
Johnny
~ Anonymní uživatel
23 příspěvků
26. 7. 2011   #16
-
0
-

A nemohli by ste mi to tam vytvoriť bo som nejak mimo a nechapem v tom teraz?

Nahlásit jako SPAM
IP: 87.244.231.–
liborb
~ Redaktor
+18
Guru
27. 7. 2011   #17
-
0
-

Něco jako:

string url("ftp://ftp.kdesi.cz/");
string subor("file.exe");

a samozřejmě pak si to nepřemazat zadáváním :)

A pak už jenom spustit třeba přes CreateProcess.

Nahlásit jako SPAM
IP: 78.80.52.–
Johnny
~ Anonymní uživatel
23 příspěvků
27. 7. 2011   #18
-
0
-

ano aby to proste stiahlo daný subor a ked ho dostahuje tak by ho spustilo tod vše

Nahlásit jako SPAM
IP: 87.244.231.–
Johnny960
Newbie
27. 7. 2011   #19
-
0
-

a nemohli by ste mi napísať jednoduchý .cpp subor s tým všetkým tu je adresa na program  http://www.lamax.unas.cz/file.exe

bo mi include nefunguju a píšu chybu.......Ďakujem

Nahlásit jako SPAM
IP: 87.244.231.–
C++++++++++++
sputnikone+1
Věrný člen
27. 7. 2011   #20
-
+2
-
Zajímavé

#19 Johnny96
S potěšením pozoruji vzrůstající trend lenosti u potenciální konkurence na trhu práce...

Nahlásit jako SPAM
IP: 94.113.134.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 68 hostů

Podobná vlákna

Download — založil Jakub Vojáček

C++ DOWNLOAD — založil Nery

Download — založil maxpoisonous

Download — založil palynko

Download — založil Tomáš Fedor

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý