Précédent   Forum des professionnels en informatique > Général Développement > Programmation système > Windows
Windows Forum d'entraide sur la programmation Windows. Tutoriel API Windows
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/01/2012, 15h50   #1
Candidat au titre de Membre du Club
 
Stéphane Fervant
Étudiant
Inscription : juin 2010
Messages : 43
Détails du profil
Informations personnelles :
Nom : Stéphane Fervant

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 43
Points : 13
Points : 13
Par défaut C avec du Winapi help (EDITBOX + TXT)

salut a tous , j'ai un soucis avec mon code qui est du C , j'ai fait une interface en winapi C et dedans j'ai un EDITBOX multiline dans lequel je veux faire apparaitre le contenu d'un fichier txt .
Le probleme c est que j'arrive bien a lire le contenu de mon fichier mais dans le EDITBOX y'a que la derniere ligne qui apparait comment faire pour que tout le texte du txt soit affiché et non la derniere ligne .?

Code :
1
2
3
4
5
6
7
8
9
10
11
void Ftxt() {
int nombre1 = 20000 ;
char chainetotal[MAX_PATH];
FILE* fichier1 =  NULL;
fichier1 = fopen("C:\\test.txt","r");
if(fichier1 != NULL)
   {
     While (fgets(chainetotal , nombre1, fichier1) != NULL) 
      {
         SendMessage( Editbox1 , chainetotal); 
....
Editbox1 = c est le handle de mon controle editbox .
Shark9 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 15h53   #2
Membre éclairé
 
Avatar de hariman
 
Homme Luc Hariman RANDRIANOMENJANAHARY
Développeur Java
Inscription : janvier 2008
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Luc Hariman RANDRIANOMENJANAHARY
Localisation : Ile Maurice

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2008
Messages : 175
Points : 349
Points : 349
Envoyer un message via MSN à hariman Envoyer un message via Skype™ à hariman
Bonjour,

Mets d'abord tous le contenu du fichier dans une variable.

Code :
1
2
3
4
5
6
...
While (fgets(chaine, nombre1, fichier1) != NULL)
        strcat(chainetotal, chaine);
SendMessage( Editbox1 , chainetotal);
...
__________________
Les boutons et adorent être cliqués, donc ne les oubliez pas
hariman est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/01/2012, 15h57   #3
Membre éclairé
 
Avatar de hariman
 
Homme Luc Hariman RANDRIANOMENJANAHARY
Développeur Java
Inscription : janvier 2008
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Luc Hariman RANDRIANOMENJANAHARY
Localisation : Ile Maurice

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2008
Messages : 175
Points : 349
Points : 349
Envoyer un message via MSN à hariman Envoyer un message via Skype™ à hariman
Sinon, qu'est-ce que Editbox1 fait quand il reçoit le message ?
__________________
Les boutons et adorent être cliqués, donc ne les oubliez pas
hariman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 16h16   #4
Candidat au titre de Membre du Club
 
Stéphane Fervant
Étudiant
Inscription : juin 2010
Messages : 43
Détails du profil
Informations personnelles :
Nom : Stéphane Fervant

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 43
Points : 13
Points : 13
rien le message est afficher dans le editbox c est tout , mais biensur le message c est le texte d'un .txt

j'ai essayé avec ton code mais le programme bug directement , :s enfin a la place de ton sendmessage j'ai laissé mon setwindowtext car la syntaxe de sendmessage est pas bonne


EDIT : En recopiant j'ai ecrit Sendmessage mais c est SetwindowText (Editbox1 , chainetotal);

Code :
1
2
3
4
5
6
7
8
9
10
11
void Ftxt() { 
int nombre1 = 20000 ; 
char chainetotal[MAX_PATH]; 
FILE* fichier1 =  NULL; 
fichier1 = fopen("C:\\test.txt","r"); 
if(fichier1 != NULL) 
   { 
     While (fgets(chainetotal , nombre1, fichier1) != NULL)  
      { 
         SetwindowText( Editbox1 , chainetotal);  
....
si quelqu'un a un bout de code pour lire un txt dans un editbox je suis preneur coder autrement que mon code
Shark9 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 09h34   #5
Expert Confirmé Sénior
 
Avatar de Médinoc
 
Homme
Développeur informatique
Inscription : septembre 2005
Messages : 21 481
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2005
Messages : 21 481
Points : 28 760
Points : 28 760
Envoyer un message via MSN à Médinoc
Il y a une astuce pour ajouter une chaîne à la fin d'une editbox:
  1. Utiliser EM_SETSEL pour positionner le curseur tout à la fin de l'EditBox (avec une sélection de longueur nulle)
  2. Utiliser EM_REPLACESEL pour ajouter le texte.
__________________
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone.
-- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Médinoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h23.


 
 
 
 
Partenaires

Hébergement Web