gf18
Messages postés11Date d'inscriptionjeudi 24 janvier 2008StatutMembreDernière intervention 9 juillet 2008 23 juil. 2008 à 13:15
Je ne suis pas un spécialiste en API win32, mais
case SC_CLOSE:
ShowWindow(frmhWnd, SW_HIDE);
return 0;
break;
case SC_MINIMIZE:
ShowWindow(frmhWnd, SW_MINIMIZE);
return 0;
break;
case SC_MAXIMIZE:
ShowWindow(frmhWnd, SW_MAXIMIZE);
return 0;
break;
case SC_RESTORE:
ShowWindow(frmhWnd, SW_RESTORE);
return 0;
Est-ce vraiment nécessaire?
shuttleur
Messages postés33Date d'inscriptionmercredi 12 septembre 2007StatutMembreDernière intervention30 juin 2008 28 déc. 2007 à 12:07
Merci ;)
Remplacer PROGRESS_CLASS dans les arguments de CreateWindowEx par "msctls_progress" n'a pas suffit, bizarrement, il a fallut le remplacer par "msctls_progress32"..
Je ne sais pas si ca va géner pour la suite
a+ !
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 28 déc. 2007 à 11:49
Extrait :
"The window class name for a progress bar control is PROGRESS_CLASS, which is defined as "msctls_progress" in Commctrl.h."
Le site de la MSDN est particulièrement pratique pour se genre de chose. Pense à le mettre en favori ;)
YOYO, @+.
shuttleur
Messages postés33Date d'inscriptionmercredi 12 septembre 2007StatutMembreDernière intervention30 juin 2008 28 déc. 2007 à 11:27
Il semble que non d'après les tutos que j'ai lus.
Tous parlent d'utiliser "Common control library" (comctrl32.dll) et de modifier le fichier de ressources, mais je ne trouve pas comment faire sans fichier de ressources.
C'est d'autant plus incompréhensible que je ne vois aucune trace de telles manip dans ton code.
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 28 déc. 2007 à 11:22
Bonjour shuttleur.
Je n'en suis pas certain mais il me semble que la classe est définie dans windows.h. En fait c'est un define de windows, du win32.
YOYO, @+.
shuttleur
Messages postés33Date d'inscriptionmercredi 12 septembre 2007StatutMembreDernière intervention30 juin 2008 28 déc. 2007 à 11:11
Bonjour YOYO269
Je m'intéresse beaucoup à ton projet, surtout pour apprendre la création de fenêtres sous Windows, il reste un truc que j'ai pas compris (oui bon enfin disons un :) ) :
- où est définie la classe PROGRESS_CLASS pour créer ta progressbar ?
Merci d'avance
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 17 déc. 2007 à 20:47
Merci hijakhakker.
En fait avec ce mode (que je ne connais pas :p) on doit pas pouvoir utiliser une barre de progression.
Mais c'est une idée.
YOYO, @+.
hijakhakker
Messages postés7Date d'inscriptionsamedi 18 novembre 2000StatutMembreDernière intervention17 décembre 2007 17 déc. 2007 à 19:56
salut yoyo
ton programme m'est tres utile et je trouve que son importance didactitiel est enorme
je me demande pourquoi tu n'a pas inclue un mode de reception pour le Chunked Transfer-Encoding qui permettera de recevoir le fichier sans savoir la taille auparavent mais recevoir des paquet ou partie terminé par crlf?
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 6 avril 2007 à 19:04
En fait quand tu envoies une requête HTTP (GET http://balbla.fr/blabla etc...), la réponse que tu reçois contient un code à 3 chiffres (voir lien donné).
Et c'est avec ce code que tu sais à quoi tu as affaire (redirection : 30x).
Les codes ne sont pas parfaitement gérés dans mon programme, mais tu en vois un exemple.
Et dans le cas d'une redirection, l'entête de la réponse contient un champ "Location: ", qui te donne la nouvelle URL avec laquelle tu dois effectuer une nouvelle requête.
J'espère avoir été assez clair ! ;)
YOYO, @+.
Space_Monkey
Messages postés16Date d'inscriptionsamedi 24 janvier 2004StatutMembreDernière intervention 2 septembre 2007 25 févr. 2007 à 21:12
Désolé j'ai pas été très explicite.. Voici le contenu de la mise à jour. J'ai laisser que les comentaires, sauf la condition du if et le goto qui d'après moi sont importants à signaler pour bien comprendre.
// On vérifie s'il y a une redirection
if(Tmp[0] == '3' && Tmp[1] == '0' && (Tmp[2] == '1' || Tmp[2] == '2'))
{
// On ferme la connexion actuelle
// on récupère la nouvelle URL
// On modifie l'URL affichée
goto Reconnexion;
}
Ensuite j'ai plusieurs questions à poser:
- Je ne comprend pas ton test, comment peux tu en déduire qu'il s'agit d'une redirection?
- Cette question est en lien étroit avec la premiere: Quelle est la différence (au niveau html) entre une url simple et une url avec redirection?
-Les pages générées lors des redirections sont elles standard et te bases tu là dessus pour effectuer ton test?
Je ne penses pas qu'il faille répondre à chaque question indépendament. J'ai bien fait une recherche sur le sujet mais à chaque fois j'en revient à la meme question: Pourquoi ton test semble-t-il simple alors que les méthodes de redirections sont variées? (avec Apache, en html, en php, ...)
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 25 févr. 2007 à 20:40
Ben c'est dans le code source Space_Monkey !
Il y a un commentaire qui dit quelque chose de ce genre : "// Vérification s'il y a redirection"
Je ne vois pas très bien ce que tu veux dire. :(
YOYO, @+.
Space_Monkey
Messages postés16Date d'inscriptionsamedi 24 janvier 2004StatutMembreDernière intervention 2 septembre 2007 25 févr. 2007 à 20:12
Heuu si c'est pas trop demander, on pourrait avoir le contenu de cette modification concernant les redirections? ^^
Merci d'avance Yoyo!
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 25 févr. 2007 à 14:18
Nouvelle mise à jour !
Prise en charge des URL redirigées.
Merci à toi Deck_bsd pour m'avoir dégoter des URL avec lesquelles ça foirait.
Hésite pas à en chercher d'autres ! ;)
YOYO, @+.
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 23 févr. 2007 à 18:23
J'ai hâte de voir ça !
Bon sang, qu'est-ce qu'il va me sortir encore ??? LOL :D
YOYO, @+.
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 23 févr. 2007 à 16:18
Bien joué yoyo :D
Ne te tracasse pas pour cela, j'en ai encore un je pense :D Mais je ne suis pas chez moi donc je te dirai ça ce soir ou demain.
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 23 févr. 2007 à 14:56
Mise à jour faite !
Deck_bsd > Ca y est le problème semble corrigé. En fait, avant j'utilisais des requêtes HTTP 1.0 et visiblement en utilisant des requêtes HTTP 1.1, ça passe ! ;)
Hésite pas à tester encore et encore pour trouver autre chose qui cloche. :p
Dr_progz > Merci pour les infos d'adaption, mais je laisse à chacun le soin d'adapter à ça guise. En tous cas, ils sauront où regarder pour pouvoir compiler sur VC++. ;)
Dans cette mise à jour, j'ai également modifié la fonction ModifURL(), dont tu avais parlé.
Je l'avais codée comme un barbare, façon brute de décoffrage. lol
En prenant ta méthode (et en corrigeant une petite erreur pas méchante), je l'ai incluse dans le code.
YOYO, @+.
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 23 févr. 2007 à 12:52
Si tu veux apprendre, cherche des tutoriaux en C et procure toi un bouquin de C. C'est le mieux.
Un conseil ne grille pas les étapes en voulant apprendre trop vite.
Je sais c'est frustrant, mais si par exemple tu n'arrives pas à maitriser le principe de boucle et de condition ou encore bien différencier les différents types de variables, ça va être (TRES) difficile pour le reste, voire impossible.
YOYO, @+.
cs_sterkasor
Messages postés53Date d'inscriptiondimanche 25 janvier 2004StatutMembreDernière intervention11 juin 2007 23 févr. 2007 à 12:48
Desole yoyo269!
mon but etait apprendre jsutement.
merci
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 23 févr. 2007 à 12:44
Désolé Sterkasor mais faut pas abuser.
Si tu ne vois pas comment faire ce que tu me demandes, faut sincèrement penser à apprendre le C et à faire des recherches.
Sinon deck_bsd, c'est pas un cadeau que tu m'as fait avec ton URL ! :p
Le serveur me répond en disant que le fichier est temporairement déplacé et donc je récupère la nouvelle URL qu'il me fournit, me reconnecte à cette nouvelle URL et envoie la requête.
A chaque fois, il me dit que le fichier a temporairement changé d'URL.
Je continue à chercher. Je sens que je vais apprendre des trucs. ;)
YOYO, @+.
cs_sterkasor
Messages postés53Date d'inscriptiondimanche 25 janvier 2004StatutMembreDernière intervention11 juin 2007 23 févr. 2007 à 12:23
Sans demander au utilisateurs comment on peut lancer le fichier telecharger? et fermer l'appli a la fin de telechargement?
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 22 févr. 2007 à 19:07
Ah super ça Deck_bsd !
Je regarde ça de plus près et je vous tiens au courant.
je pense pas que ça soit bien méchant. ;)
YOYO, @+.
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 22 févr. 2007 à 19:00
re yoyo , juste pour signaler que avec un lien de ce type :
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 21 févr. 2007 à 16:09
okidoki yoyo, merci pour ton explication :D
Dr_Progz
Messages postés16Date d'inscriptiondimanche 28 décembre 2003StatutMembreDernière intervention21 février 2007 21 févr. 2007 à 14:38
J'ai essayer de compiler ton programme sous Visual C++ 6, mais cela ne marche pas, je te donne des modification a faire pour rendre ton programme compatible DevC++ et MSVC :
- Dans le fichier 'Fichiers_Dossiers.h' : ajoute en haut
#ifndef INVALID_FILE_ATTRIBUTES
#define INVALID_FILE_ATTRIBUTES (DWORD (-1))
#endif
#ifndef BIF_NEWDIALOGSTYLE
#define BIF_NEWDIALOGSTYLE 0x0040
#endif
- Dans le fichier 'YoyoDown.h' : dans la fonction 'FenetreProc' : dans la 'case WM_CTLCOLORSTATIC' : retire la declaration de i de la for, tu met int i; for....
en fin pour le linker utiliser la lib 'ws2_32.lib'
Comme ca le programme sera compilable sous MSVC et Dev.
Autre chose : La fonction 'ModifURL' est mal codée :
char *ptr = URL;
while (*ptr)
{
char c = get_stand_char(*ptr);
if (c != -1)
{
*ptr = c;
ptr++;
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 21 févr. 2007 à 11:19
Merci Gamemonde !
Effectivement il y a bcp de .h et peu de .cpp.
C'est une mauvaise habitude que j'ai prise, et que je suis en train d'essayer de modifier.
Donc évitez de prendre exemple sur cette 'technique'.
En effet, cette source est (je pense) une bonne base pour pouvoir faire de nombreuses choses, diverses et variées (gestionnaire de téléchargements, fonction de mise à jour, ...).
En ce moment, j'essaie d'ajouter le téléchargement par FTP, mais c'est beaucoup plus complexe.
Ce que j'ai fait, pour l'instant, marche, mais sur une patte. ;-)
A suivre...
YOYO, @+.
gamemonde
Messages postés336Date d'inscriptionsamedi 9 août 2003StatutMembreDernière intervention 9 juillet 20112 21 févr. 2007 à 01:55
Tres bonne source code mais je ne vois que des fichiers h et un fichier cpp
Très interessent cela permet de faire beaucoup de chose un update menager...
salut
cs_sterkasor
Messages postés53Date d'inscriptiondimanche 25 janvier 2004StatutMembreDernière intervention11 juin 2007 19 févr. 2007 à 00:28
Merci YoYo269,
c'est parfait! exactement comme je cherchais :)
@+
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 18 févr. 2007 à 23:09
Merci yann_lo_sann, c'est sympa ! ;)
Sterkasor > Le CloseHandle(), pour le trouver fais une recherche il est dans le code source mis à jour.
Si tu parles d'ouvrir le fichier à la fin du téléchargement, cela est proposé dans le code mis à jour.
Enfin pour enlever la zone de texte où tu rentres l'URL, regarde du côté de la fonction CreerInterface().
YOYO, @+.
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201626 18 févr. 2007 à 18:38
Bonne source ! je te mets 8/10.
cs_sterkasor
Messages postés53Date d'inscriptiondimanche 25 janvier 2004StatutMembreDernière intervention11 juin 2007 18 févr. 2007 à 16:04
CloseHandle() doit etre placer ou exactement?
cs_sterkasor
Messages postés53Date d'inscriptiondimanche 25 janvier 2004StatutMembreDernière intervention11 juin 2007 18 févr. 2007 à 15:14
Re,
je n'ai toujours pas reussi a lancer le telecharge a la fin de telechargement :=(
cs_sterkasor
Messages postés53Date d'inscriptiondimanche 25 janvier 2004StatutMembreDernière intervention11 juin 2007 18 févr. 2007 à 14:58
Salut YOYO269
merci j'ai essaye cela fonction bien!
j'utilise Dev-C++ je ne sais pas comment supprimer la zone d'url?
que je dois faire pour cela?
merci
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 18 févr. 2007 à 13:02
Salut deck_bsd et merci ! ;)
Le atoi64 c'est au cas où le fichier fait plus de 4 Go. C'est rare, c'est vrai, mais une image DVD dépasse cette valeur.
Donc ce n'est pas codé en 64 bits, mais certaines variables gérant la taille du fichier sont codées sur 64 bits.
Du coup avant de dépasser la valeur max d'un entier de 64 bits...les poules auront des dents !!!
YOYO, @+.
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 18 févr. 2007 à 12:27
Bonne source yoyo :) comme toujours, Tu es en 64 bits? car si tu ne l'es pas, je comprend pas trop alors l'utilisation d'un atoi64 par rapport à l'utilisation d'un atoi standart ?
++ Yoyo
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 18 févr. 2007 à 11:35
Source modifiée !
Sterkasor, si tu veux fixer l'url du fichier, fixe la valeur de la variable qui corresponde à l'url.
Tu n'as qu'à remplacer ceci :
strcpy(Chemin, PrendreTexte(TextBoxhWnd[1]));
par cela :
strcpy(Chemin, "http://serveur/dossier/sous-dossier/nom_fichier.ext");
Pour l'ouverture du programme, j'ai modifié la source pour que l'ouverture soit proposée à l'utilisateur.
YOYO, @+.
cs_sterkasor
Messages postés53Date d'inscriptiondimanche 25 janvier 2004StatutMembreDernière intervention11 juin 2007 18 févr. 2007 à 11:22
et lancer automatiquement le fichier telecharger a la fin de telechargement.
meme si c'est possible fermer le ton prog?
cs_sterkasor
Messages postés53Date d'inscriptiondimanche 25 janvier 2004StatutMembreDernière intervention11 juin 2007 18 févr. 2007 à 11:20
je veux cacher par exemple le url de telechargement pour mettre url d'un fichier sur mon site qui sera fix (on pourra pas changer url de fichier), ou je dois modifier?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 17 févr. 2007 à 21:24
C'est viable en sortie de thread.
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 17 févr. 2007 à 18:13
Bien non !
Où me conseillerais-tu de mettre le CloseHandle ?
J'ai pensé à la fin du thread (juste avant le return 0;), mais j'ai un gros doute. :(
YOYO, @+.
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 17 févr. 2007 à 18:04
23 juil. 2008 à 13:15
case SC_CLOSE:
ShowWindow(frmhWnd, SW_HIDE);
return 0;
break;
case SC_MINIMIZE:
ShowWindow(frmhWnd, SW_MINIMIZE);
return 0;
break;
case SC_MAXIMIZE:
ShowWindow(frmhWnd, SW_MAXIMIZE);
return 0;
break;
case SC_RESTORE:
ShowWindow(frmhWnd, SW_RESTORE);
return 0;
Est-ce vraiment nécessaire?
28 déc. 2007 à 12:07
Remplacer PROGRESS_CLASS dans les arguments de CreateWindowEx par "msctls_progress" n'a pas suffit, bizarrement, il a fallut le remplacer par "msctls_progress32"..
Je ne sais pas si ca va géner pour la suite
a+ !
28 déc. 2007 à 11:49
http://msdn2.microsoft.com/en-us/library/ms697647.aspx
Extrait :
"The window class name for a progress bar control is PROGRESS_CLASS, which is defined as "msctls_progress" in Commctrl.h."
Le site de la MSDN est particulièrement pratique pour se genre de chose. Pense à le mettre en favori ;)
YOYO, @+.
28 déc. 2007 à 11:27
Tous parlent d'utiliser "Common control library" (comctrl32.dll) et de modifier le fichier de ressources, mais je ne trouve pas comment faire sans fichier de ressources.
C'est d'autant plus incompréhensible que je ne vois aucune trace de telles manip dans ton code.
28 déc. 2007 à 11:22
Je n'en suis pas certain mais il me semble que la classe est définie dans windows.h. En fait c'est un define de windows, du win32.
YOYO, @+.
28 déc. 2007 à 11:11
Je m'intéresse beaucoup à ton projet, surtout pour apprendre la création de fenêtres sous Windows, il reste un truc que j'ai pas compris (oui bon enfin disons un :) ) :
- où est définie la classe PROGRESS_CLASS pour créer ta progressbar ?
Merci d'avance
17 déc. 2007 à 20:47
En fait avec ce mode (que je ne connais pas :p) on doit pas pouvoir utiliser une barre de progression.
Mais c'est une idée.
YOYO, @+.
17 déc. 2007 à 19:56
ton programme m'est tres utile et je trouve que son importance didactitiel est enorme
je me demande pourquoi tu n'a pas inclue un mode de reception pour le Chunked Transfer-Encoding qui permettera de recevoir le fichier sans savoir la taille auparavent mais recevoir des paquet ou partie terminé par crlf?
6 avril 2007 à 19:04
encore une cole :D
URL :
http://www.youtube.com/get_video?video_id=d-MYVv4tgQc&l=209&t=OEgsToPDskI4J_skDyN14ufOe4WT1jWp&sk=MtPNsSdCFzOzkNDOHdZj4wC
25 févr. 2007 à 22:01
25 févr. 2007 à 21:57
Voilà une page qui devrait t'aider :
http://www.commentcamarche.net/internet/http.php3
En fait quand tu envoies une requête HTTP (GET http://balbla.fr/blabla etc...), la réponse que tu reçois contient un code à 3 chiffres (voir lien donné).
Et c'est avec ce code que tu sais à quoi tu as affaire (redirection : 30x).
Les codes ne sont pas parfaitement gérés dans mon programme, mais tu en vois un exemple.
Et dans le cas d'une redirection, l'entête de la réponse contient un champ "Location: ", qui te donne la nouvelle URL avec laquelle tu dois effectuer une nouvelle requête.
J'espère avoir été assez clair ! ;)
YOYO, @+.
25 févr. 2007 à 21:12
// On vérifie s'il y a une redirection
if(Tmp[0] == '3' && Tmp[1] == '0' && (Tmp[2] == '1' || Tmp[2] == '2'))
{
// On ferme la connexion actuelle
// on récupère la nouvelle URL
// On modifie l'URL affichée
goto Reconnexion;
}
Ensuite j'ai plusieurs questions à poser:
- Je ne comprend pas ton test, comment peux tu en déduire qu'il s'agit d'une redirection?
- Cette question est en lien étroit avec la premiere: Quelle est la différence (au niveau html) entre une url simple et une url avec redirection?
-Les pages générées lors des redirections sont elles standard et te bases tu là dessus pour effectuer ton test?
Je ne penses pas qu'il faille répondre à chaque question indépendament. J'ai bien fait une recherche sur le sujet mais à chaque fois j'en revient à la meme question: Pourquoi ton test semble-t-il simple alors que les méthodes de redirections sont variées? (avec Apache, en html, en php, ...)
25 févr. 2007 à 20:40
Il y a un commentaire qui dit quelque chose de ce genre : "// Vérification s'il y a redirection"
Je ne vois pas très bien ce que tu veux dire. :(
YOYO, @+.
25 févr. 2007 à 20:12
Merci d'avance Yoyo!
25 févr. 2007 à 14:18
Prise en charge des URL redirigées.
Merci à toi Deck_bsd pour m'avoir dégoter des URL avec lesquelles ça foirait.
Hésite pas à en chercher d'autres ! ;)
YOYO, @+.
23 févr. 2007 à 18:23
Bon sang, qu'est-ce qu'il va me sortir encore ??? LOL :D
YOYO, @+.
23 févr. 2007 à 16:18
Ne te tracasse pas pour cela, j'en ai encore un je pense :D Mais je ne suis pas chez moi donc je te dirai ça ce soir ou demain.
23 févr. 2007 à 14:56
Deck_bsd > Ca y est le problème semble corrigé. En fait, avant j'utilisais des requêtes HTTP 1.0 et visiblement en utilisant des requêtes HTTP 1.1, ça passe ! ;)
Hésite pas à tester encore et encore pour trouver autre chose qui cloche. :p
Dr_progz > Merci pour les infos d'adaption, mais je laisse à chacun le soin d'adapter à ça guise. En tous cas, ils sauront où regarder pour pouvoir compiler sur VC++. ;)
Dans cette mise à jour, j'ai également modifié la fonction ModifURL(), dont tu avais parlé.
Je l'avais codée comme un barbare, façon brute de décoffrage. lol
En prenant ta méthode (et en corrigeant une petite erreur pas méchante), je l'ai incluse dans le code.
YOYO, @+.
23 févr. 2007 à 12:52
Un conseil ne grille pas les étapes en voulant apprendre trop vite.
Je sais c'est frustrant, mais si par exemple tu n'arrives pas à maitriser le principe de boucle et de condition ou encore bien différencier les différents types de variables, ça va être (TRES) difficile pour le reste, voire impossible.
YOYO, @+.
23 févr. 2007 à 12:48
mon but etait apprendre jsutement.
merci
23 févr. 2007 à 12:44
Si tu ne vois pas comment faire ce que tu me demandes, faut sincèrement penser à apprendre le C et à faire des recherches.
Sinon deck_bsd, c'est pas un cadeau que tu m'as fait avec ton URL ! :p
Le serveur me répond en disant que le fichier est temporairement déplacé et donc je récupère la nouvelle URL qu'il me fournit, me reconnecte à cette nouvelle URL et envoie la requête.
A chaque fois, il me dit que le fichier a temporairement changé d'URL.
Je continue à chercher. Je sens que je vais apprendre des trucs. ;)
YOYO, @+.
23 févr. 2007 à 12:23
22 févr. 2007 à 19:07
Je regarde ça de plus près et je vous tiens au courant.
je pense pas que ça soit bien méchant. ;)
YOYO, @+.
22 févr. 2007 à 19:00
http://www.atlence.com/calculre/[atlence]_code_des_couleurs_des_resistances.pdf
le programme me met URL invalide.
21 févr. 2007 à 16:09
21 févr. 2007 à 14:38
- Dans le fichier 'Fichiers_Dossiers.h' : ajoute en haut
#ifndef INVALID_FILE_ATTRIBUTES
#define INVALID_FILE_ATTRIBUTES (DWORD (-1))
#endif
#ifndef BIF_NEWDIALOGSTYLE
#define BIF_NEWDIALOGSTYLE 0x0040
#endif
- Dans le fichier 'YoyoDown.h' : dans la fonction 'FenetreProc' : dans la 'case WM_CTLCOLORSTATIC' : retire la declaration de i de la for, tu met int i; for....
en fin pour le linker utiliser la lib 'ws2_32.lib'
Comme ca le programme sera compilable sous MSVC et Dev.
Autre chose : La fonction 'ModifURL' est mal codée :
char *ptr = URL;
while (*ptr)
{
char c = get_stand_char(*ptr);
if (c != -1)
{
*ptr = c;
ptr++;
char *ptr2 = ptr;
while(*(ptr2 + 2))
{
*ptr2 = *(ptr2 + 2);
ptr2++;
}
*ptr2 = 0;
}
else
ptr++;
}
char get_stand_char(char* s)
{
switch (*s)
{
case '%0':
switch (*(s+1))
{
case '9': return ('\t');
.
.
.
}
break;
.
.
}
return (-1);
}
21 févr. 2007 à 11:19
Effectivement il y a bcp de .h et peu de .cpp.
C'est une mauvaise habitude que j'ai prise, et que je suis en train d'essayer de modifier.
Donc évitez de prendre exemple sur cette 'technique'.
En effet, cette source est (je pense) une bonne base pour pouvoir faire de nombreuses choses, diverses et variées (gestionnaire de téléchargements, fonction de mise à jour, ...).
En ce moment, j'essaie d'ajouter le téléchargement par FTP, mais c'est beaucoup plus complexe.
Ce que j'ai fait, pour l'instant, marche, mais sur une patte. ;-)
A suivre...
YOYO, @+.
21 févr. 2007 à 01:55
Très interessent cela permet de faire beaucoup de chose un update menager...
salut
19 févr. 2007 à 00:28
c'est parfait! exactement comme je cherchais :)
@+
18 févr. 2007 à 23:09
Sterkasor > Le CloseHandle(), pour le trouver fais une recherche il est dans le code source mis à jour.
Si tu parles d'ouvrir le fichier à la fin du téléchargement, cela est proposé dans le code mis à jour.
Enfin pour enlever la zone de texte où tu rentres l'URL, regarde du côté de la fonction CreerInterface().
YOYO, @+.
18 févr. 2007 à 18:38
18 févr. 2007 à 16:04
18 févr. 2007 à 15:14
je n'ai toujours pas reussi a lancer le telecharge a la fin de telechargement :=(
18 févr. 2007 à 14:58
merci j'ai essaye cela fonction bien!
j'utilise Dev-C++ je ne sais pas comment supprimer la zone d'url?
que je dois faire pour cela?
merci
18 févr. 2007 à 13:02
Le atoi64 c'est au cas où le fichier fait plus de 4 Go. C'est rare, c'est vrai, mais une image DVD dépasse cette valeur.
Donc ce n'est pas codé en 64 bits, mais certaines variables gérant la taille du fichier sont codées sur 64 bits.
Du coup avant de dépasser la valeur max d'un entier de 64 bits...les poules auront des dents !!!
YOYO, @+.
18 févr. 2007 à 12:27
++ Yoyo
18 févr. 2007 à 11:35
Sterkasor, si tu veux fixer l'url du fichier, fixe la valeur de la variable qui corresponde à l'url.
Tu n'as qu'à remplacer ceci :
strcpy(Chemin, PrendreTexte(TextBoxhWnd[1]));
par cela :
strcpy(Chemin, "http://serveur/dossier/sous-dossier/nom_fichier.ext");
Pour l'ouverture du programme, j'ai modifié la source pour que l'ouverture soit proposée à l'utilisateur.
YOYO, @+.
18 févr. 2007 à 11:22
meme si c'est possible fermer le ton prog?
18 févr. 2007 à 11:20
17 févr. 2007 à 21:24
17 févr. 2007 à 18:13
Où me conseillerais-tu de mettre le CloseHandle ?
J'ai pensé à la fin du thread (juste avant le return 0;), mais j'ai un gros doute. :(
YOYO, @+.
17 févr. 2007 à 18:04