![]()
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
![]()
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(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.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.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
utilisation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.
A lire : Les règles du 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,
Ouije le déclare comment dans le .h ?
De plus, il faut l'adapter à ta class.
dans le .cpp :
dans le .h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
lanonyme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 bool __fastcall downloadFile (AnsiString source,AnsiString destination);
j'avais oublié AnsiString dans le .h
![]()
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
![]()
++
merci je venais dire que j'avais trouvéEnvoyé par Interruption13h
J'ai un petit message d'erreur exection EIdSocketError # 11004au moment du Get
je me suis planté dans mon URL a ralonge ! j'avais oublie une lettre![]()
merci ca marche nickel![]()
Partager