COVERT ART IMAGE

cs_beg0 Messages postés 51 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 13 mars 2011 - 11 mai 2010 à 21:24
cs_beg0 Messages postés 51 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 13 mars 2011 - 11 mai 2010 à 21:24
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51736-covert-art-image

cs_beg0 Messages postés 51 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 13 mars 2011 1
11 mai 2010 à 21:24
C'est dommage...
... c'est dommage parce qu'il y a de vachement bon truc... ... mais aussi enormement de merde !
Tes noms de variables partent dans tous les sens, elles sont globale ou local, sans aucune raison (ou alors pas apparente pour moi), a part peut etre l'excuse de la 'simplicite' qui en realité cache plutot une mauvaise facon de coder et une reele fainéantise (je suis pour les gens feinant, moins on ecrit de code, moins il y a de chance qu'il y ai des bugs)
Je ne parle pas des classes qui servent a rien comme Socket (chez moi elle fout plus le bordel qu'autre chose parce que tu delete deux fois server_ip (dans Close et dans le destructeur) et que tu ne fais pas une server_ip=NULL; apres avoir fait ton delete, du coup la seconde fois tu delete une zone de memoire qui n'est plus allouée... et ca peut crasher... comme chez moi)

Sinon, c'est bien, y'a des bon trucs, notamment dans la fonction Down() (oui, je passe sur le nom des fonctions, qui, comme les noms des variables laisse a désirer) par contre je comprend pas pourquoi tu n'utilises pas plus cette fonction du coup! pourquoi utilises tu savehtm() et pas Down() ? D'ailleurs, a ce propos, moi je ne serais pas passer par un fichier dump.htm temporaire, j'aurais tout garder en memoire... parce que du coup ca fait un fichier 'dump.htm' dans tous tes dossiers de musique...
Et puis le
if(ch=='s') { //src=
ch=fgetc(fp);tolower(ch);////////////////////////////
if(ch=='r') {

ch=fgetc(fp);tolower(ch);////////////////////////////
if(ch=='c') {
ch=fgetc(fp);////////////////////////////
if(ch=='=')
{

fscanf(fp,"%s",line);
if(strlen(line)>256) break;
//Donc(line);
else getlink(line);
if(stop!=0 ) { break; }
}
}
}
}
en ayant tout le contenu de ton fichier en memoire, tu pouvait facilement faire un strstr(ma_page_rechercher_google,"src=");
De plus un tel algorithme ne te permet pas a coup sur de tomber sur le lien vers l'image. Si tu prend la balise HTML <script> elle peut elle aussi contentir un champ 'src'
Je ne serait que trop te conseiller d'utiliser une API specialisée dans le parsage HTML, comme tu l'as tres bien fait avec le telechargement HTTP et les fonctions InternetOpen, InternetOpenUrl et InternetReadFile.

enfin, il y a beaucoup de choses en commentaire dans ton code... mais ca aide pas a la comprehension. Essai de nettoyer ton code avant de le poster la prochaine fois

J'espere que t'es pas trop degouté apres ce long long commentaire... en tout cas, j'aime bien l'idee... j'attend avec impatience des mises a jours ;)
Rejoignez-nous