afficher un fichier .txt dans une messagebox . possible ?

afficher un fichier .txt dans une messagebox . possible ? - C - Programmation

Marsh Posté le 02-06-2009 à 16:11:09    

Bonjour a tous,
je suis débutant et j'aimerai savoir si il est possible d'afficher un fichier .txt dans une messagebox
 
je m'explique :
ce logiciel doit afficher la licence GNU quand j'appuie sur 1 et continuer son fonctionnement si j'appuie sur toute autre touche
seulement le texte est trop long pour l'ajouter dans la fonction

Code :
  1. MessageBox(NULL, "texte", "GNU General Public Licence", MB_OK);


alors je me suis dit que je pouvait ajouter ce fichier texte comme une simple constante

Code :
  1. MessageBox(NULL, "%ld", "GNU General Public Licence", MB_OK, &E:\Dev-Cpp\0.1b\terms.txt);


mais ça marche pas, faut il indiquer autrement le chemin d'accès ? ou c'est tout simplement impossible ?
merci d'avance pour votre aide :)


Message édité par coca-cola zero le 02-06-2009 à 16:12:20
Reply

Marsh Posté le 02-06-2009 à 16:11:09   

Reply

Marsh Posté le 02-06-2009 à 17:28:12    

Il n'existe pas de cinquième paramètre pour cette API qui serait un nom de fichier. D'ailleurs, il s'agit ici du langage C, et dans ce langage, contrairement au C++, chaque fonction a toujours le même nombre de paramètres (en l'occurence 4), sauf dans le cas du va_arg , mais qui n'est pas présent ici.
 
Mais, il est assez facile de charger le contenu du fichier dans une variable et de donner cette variable en deuxième paramètre de l'API. Il faut juste ne pas dépasser 32 KO. Les sauts de lignes se font avec des "\n" donc il ne devrait même pas y avoir de transcodification à faire si le fichier d'origne contient déjà des "\n" pour séparer chaque ligne.


Message édité par olivthill le 02-06-2009 à 17:29:35
Reply

Marsh Posté le 02-06-2009 à 18:02:51    

Heu désolé je suis un grand débutant,
je n'ai pas tout compris :sweat:
pourrais-tu me donner un exemple ?
sinon si j'ai le fichier texte en HTML, je ne pourrai pas l'ajouter à partir d'un fichier de ressources .rc ?


Message édité par coca-cola zero le 02-06-2009 à 18:05:19
Reply

Marsh Posté le 03-06-2009 à 13:13:17    

Citation :

je n'ai pas tout compris

Quelle partie ?
Quand je dis que le cinquième paramètre n'existe pas, il n'y a rien à comprendre. C'est un fait. Il faut l'admettre.
Quand je dis qu'il faut charger le fichier dans une variable, cela signifie faire fopen(), fread(), et fclose().

Citation :

pourrais-tu me donner un exemple ?

Faire le travail à ta place. C'est du C. Il faut se bouger un peu pour mériter le titre de programmeur C.

Citation :

si j'ai le fichier texte en HTML, je ne pourrai pas l'ajouter à partir d'un fichier de ressources .rc ?

Non. Le format "rc" n'a rien à voir avec le format HTML. Cela dit, il serait possible de mettre le texte dans une resource. Mais, il faudrait ensuite charger cette resource dans une variable et la passer en deuxième paramètre de MessageBox(). Donc, ce ne serait pas plus facile, ni beaucoup plus compliqué.
 
Pour vous aider, je vais proposer une troisième solution qui est la plus simple à mon avis. Ecrire ceci dans votre programme :

Messagebox(NULL,
"Première ligne du GNU GPL\n"
"Deuxième ligne du GNU GPL\n"
"Troisième ligne du GNU GPL\n"
...
"Dernière ligne du GNU GPL",
"GNU General Public Licence", MB_OK);

N.B. Attention a ne pas mettre de virgule entre deux lignes. Il ne faut mettre la virgule qu'à la fin de la dernière ligne du texte, comme je l'ai fait.

Reply

Marsh Posté le 03-06-2009 à 14:00:35    

ok
merci de m'avoir aidé, j'apprends le langage C petit à petit en faisant des petits logiciels(et avec des cours bien sur ^^,même si on apprend pas ça en 3eme :D )
je pensait mettre d'abord le fichier dans un fichier ressource car le fichier fait au moins 200/300 lignes  :sweat:
bref, je vais faire ce que tu m'a dit puis essayer de modifier ça ^^

Reply

Sujets relatifs:

Leave a Replay

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