[MFC] pb SetDlgItemText()

pb SetDlgItemText() [MFC] - C++ - Programmation

Marsh Posté le 04-12-2002 à 19:30:35    

Hello,
 
Voilà je me sers de cette fonction pour afficher le contenu d'un ficher dans un champ CEdit, mais lorsque je charge des fichiers exécutables par exemple ça ne m'affiche que les 1ers caractères (à cause du caractère EOF), donc comment contourner ce pb ?
 
et comment charger des fichiers > 64 ko ?
 
merci d'avance  :hello:


---------------
The N·Zone New Formation Official Website
Reply

Marsh Posté le 04-12-2002 à 19:30:35   

Reply

Marsh Posté le 05-12-2002 à 18:06:06    

Reply

Marsh Posté le 06-12-2002 à 00:55:18    

Pour les fichiers exécutables, la seule solution que je voie est de lire ton fichier à l'avance et de remplacer tous les caractères problématiques (EOF notamment) par un caractère quelconque. Par contre, je ne vois pas trop l'intérêt d'afficher un fichier exécutable tel quel...
Pour les fichiers supérieurs à 64ko, il me semble que le problème ne se pose plus sur Windows 2000 et XP. Par contre, pour les autres il faut gérer ça manuellement (càd n'afficher qu'une partie du fichier dans ton edit).
Un petit conseil : essaie d'utiliser des memory-mapped files, ça évite d'avoir à charger le fichier complètement avant de l'utiliser et permet d'économiser de la mémoire. Par contre, c'est bien évidemment plus compliqué à programmer.


---------------
each day I don't die is cheating
Reply

Marsh Posté le 06-12-2002 à 08:14:34    

Pour les fichiers > 64Ko, tu peux utiliser un RichEdit et c'est bon :-)

Reply

Marsh Posté le 06-12-2002 à 17:16:38    

gatorette a écrit :

Pour les fichiers exécutables, la seule solution que je voie est de lire ton fichier à l'avance et de remplacer tous les caractères problématiques (EOF notamment) par un caractère quelconque. Par contre, je ne vois pas trop l'intérêt d'afficher un fichier exécutable tel quel...


c paske j'essaie de faire un petit éditeur hexadécimal (je découvre les MFC en ce moment  ;))
 

Citation :

Pour les fichiers supérieurs à 64ko, il me semble que le problème ne se pose plus sur Windows 2000 et XP. Par contre, pour les autres il faut gérer ça manuellement (càd n'afficher qu'une partie du fichier dans ton edit).
Un petit conseil : essaie d'utiliser des memory-mapped files, ça évite d'avoir à charger le fichier complètement avant de l'utiliser et permet d'économiser de la mémoire. Par contre, c'est bien évidemment plus compliqué à programmer.


ok merci, mais euh, c koi les "memory-mapped files" ?  :)


Message édité par [ ZeD ] le 06-12-2002 à 17:19:22

---------------
The N·Zone New Formation Official Website
Reply

Marsh Posté le 06-12-2002 à 18:54:07    

Oublie les "Memory Mapped Files" pour l'instant, c'est juste un truc un peu avancé qui permet de lire un fichier comme si c'était une zone de mémoire.
 
Pour ce que tu veux faire, tu peux peut être t'inspirer de ceci : http://www.codeproject.com/editctrl/hexedit.asp.


---------------
each day I don't die is cheating
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed