:help:
Bonjour,
j'ai une application en builder C++ qui doit se connecter à une URL "http://prog/toto.exe" pour le telecharger automatiquement et le lancer à partir du disque local "C"
Simple ??? je vois pas trop
merci à vous
Version imprimable
:help:
Bonjour,
j'ai une application en builder C++ qui doit se connecter à une URL "http://prog/toto.exe" pour le telecharger automatiquement et le lancer à partir du disque local "C"
Simple ??? je vois pas trop
merci à vous
Salut !
Plusieurs solutions pour le téléchargement,une petite recherche sur le forum :lol: (par example : IdHTTP )
Pour l'execution,tu peu utiliser l'API ShellExecute
Bonne chance ;)
J'arrive pas a taper sur mon URL !!?? :(
ShellExecute(0,"open","http:\\prog\\toto.exe",NULL,NULL,SW_NORMAL);
Mais le ShellExecute ne va pas me demander d'enregistrer l'exe ??
ShellExecute sert à l'exécution du programme pas au téléchargement.Citation:
Envoyé par cstan
Tu dois faire le téléchargement puis l'exécution avec ShellExecute.
Oui j'avais compris pour ShellExecute qui execute mon fichier .exe sur mon disque local.Citation:
Envoyé par bakaneko
Mais comment je fait pour rappatrier mon exe du serveur http sur mon disque local ?
Car j'ai meme essaié de voir sir le fichier existe => FileExists("http:\\prog\\toto.exe") et il reste introuvable...
mdr
il faut utiliser le composant idHttp
utilisationCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 bool __fastcall TMain::downloadFile (AnsiString source,AnsiString destination) { TFileStream *F = new TFileStream(destination, fmCreate); bool download = false; try { try { IdHTTP->Get(AnsiString(AnsiString(source)).c_str(),F); download=true; } catch (...) { download=false; } } __finally { delete(F); } if (!download) DeleteFile (destination); return download; }
downloadFile("http://www.fff.com/tot.exe","c:\\test\\test.exe");
Utilise le composant TIdHTTP, qui te permet de faire facilement ceci.
Pour savori comment l'utiliser, fait une recherche sur le forum.
Il me dit __fastcall TMain::downloadFile (AnsiString,AnsiString) n'est pas un membre de TMain ???
je le déclare comment dans le .h ?
Bonjour,
Oui :PCitation:
je le déclare comment dans le .h ?
De plus, il faut l'adapter à ta class.
dans le .cpp :
dans le .hCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 bool __fastcall TNomDetaClasse::downloadFile (AnsiString source,AnsiString destination) { TFileStream *F = new TFileStream(destination, fmCreate); bool download = false; try { try { IdHTTP->Get(AnsiString(AnsiString(source)).c_str(),F); download=true; } catch (...) { download=false; } } __finally { delete(F); } if (!download) DeleteFile (destination); return download; }
lanonymeCode:
1
2 bool __fastcall downloadFile (AnsiString source,AnsiString destination);
:D j'avais oublié AnsiString dans le .h :oops:
bref il me dit Symbole IdHTTP non défini.
Normal j'ai aucun composant IdHTTP sur ma form. Je vois pas quel tete il a ce TNMHTTP :?
merci
Salut
Palettes des composants -> Indy - Clients -> idHTTP
:lol:
++
merci je venais dire que j'avais trouvé :DCitation:
Envoyé par Interruption13h
J'ai un petit message d'erreur exection EIdSocketError # 11004 :aie: au moment du Get
:mouarf2:
je me suis planté dans mon URL a ralonge ! j'avais oublie une lettre :furieux:
merci ca marche nickel :ave: