EDITEUR HEXADÉCIMAL

Taron31 Messages postés 199 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 28 février 2008 - 13 avril 2006 à 19:36
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008 - 16 avril 2006 à 14:05
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/37028-editeur-hexadecimal

MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
16 avril 2006 à 14:05
Jocky: Moi le mien était un agenda électronique en qbasic(chacun son truc lol).
dmp32 Messages postés 7 Date d'inscription jeudi 13 avril 2006 Statut Membre Dernière intervention 20 avril 2006
14 avril 2006 à 23:40
thanks, je suis justement entrin de bosser sur une nouvelle version avec les offsets, un dialog pr selection de fichier et la possibilité de sélectionner sur le hexa.
A_keona Messages postés 1 Date d'inscription dimanche 26 mars 2006 Statut Membre Dernière intervention 14 avril 2006
14 avril 2006 à 22:09
Chapeau, ca c'est un truc pratique que je vais ajouter dans mes favoris, parcont je doute que ca soit possible d'améliorer le prog, en ajoutant une colonne d'adresse, genre ca va faire une colonne d'adresse, une colonne de caractere ascii et une derniere ou on a les valeurs hexa :
adr caract. hex
0000-000F XXXXXXXXXXXXXXXX xx xx xx xx xx xx xx xx - xx xx xx..
.
.

je sais pas si c'est possible d'apporter des améliorations du genre un scroll ou un explorer pour parcourir un fichier, ca doit être faisable en si c'est de la POO...mais franchement c'est du bon! surtout le fait qu'on peut insérer dans le fichier.je t'encourage pour la suite ^^
dmp32 Messages postés 7 Date d'inscription jeudi 13 avril 2006 Statut Membre Dernière intervention 20 avril 2006
14 avril 2006 à 17:27
Merci a tous pour vos commentaires, je vais améliorer la source et la mettre en ligne dès que c'est faitr, j'ajouterai aussi des commentaires.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 avril 2006 à 22:23
Exact, il doit y avoir un DeleteObject() correspondant à chaque Createxxx() réussi.
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
13 avril 2006 à 21:54
Bon bé je trouve ça quand même assez difficile à lire.
Pas de commentaires, donc forcément ça aide pas.

Enfin c'est quand même pas mal ;)
Moi mon premier prog calculait juste le poids d'un atome lol
cs_max12 Messages postés 1491 Date d'inscription dimanche 19 novembre 2000 Statut Modérateur Dernière intervention 7 juillet 2014
13 avril 2006 à 19:44
Pas besoin de toujours spécifier votre âge, les débutants on connait ça et on a pas de problème avec ça :) Pas besoin d'attirer la pitier, ceux qui sont pas respectueux ils sont bootés c'est pas long.

Bon disons juste que c'est assez spécial la façon d'éditer, mais on voit qu'il y a du travail derrière.

Sur ce, bonne prog et bonne continuation.
Taron31 Messages postés 199 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 28 février 2008
13 avril 2006 à 19:36
Lorsque tu utilises une ressource (HPEN, HFONT ou autre...) et que tu fais le SelectObject, tu gardes la valeur de retour comme tu as fait mais tu n'as pas besoin de le supprimer à la fin avec DeleteObject puisque tu ne l'as pas crée du moins il me semble(?) tu dois juste refaire un SelectObject pour sélectionner l'ancien object (en l'occurence un HFONT dans ton cas) dans ton DC actuel, par exemple tu fais ça :

HGDIOBJ cra = SelectObject(hdc,CreatePen(PS_NULL, 0, 0));
Puis DeleteObject(cra);

Mais à mon avis (je dis bien à mon avis) c'est pas top puisque comme tu places directement en second paramètre la valeur de retour de CreatePen, tu récupères pas son HANDLE donc tu ne pourras pas le delete plus tard donc une perte de ressource et de performance au niveau du système, nan ??

Moi je ferais plutôt ceci :

HPEN hNewPen, hOldPen;
hNewPen = CreatePen(PS_NULL, 0, 0);
hOldPen = SelectObject(hDC, hNewPen);
/* ... */
SelectObject(hDC, hOldPen);
DeleteObject(hNewPen);

Je ne suis loin d'être un pro de l'API mais à mon avis y'a une perte de ressource dans la fonction h_draw()... J'aimerais bien qu'on confirme ce que j'ai dit, merci.
Rejoignez-nous