Copier Edit dans fichier TXT (...sans Dialog) [Résolu]

Signaler
Messages postés
44
Date d'inscription
vendredi 22 avril 2005
Statut
Membre
Dernière intervention
6 mars 2009
-
Messages postés
44
Date d'inscription
vendredi 22 avril 2005
Statut
Membre
Dernière intervention
6 mars 2009
-
Bonjour,


Lorsque je copie le contenu de l'Edit dans le fichier texte:
- 1ère fois... pas de problèmes.
-2ème fois... 3ème... etc... (chaque fois, avant de copier le nouveau texte, je supprime le fichier TXT et le remplace par un autre du même nom ). Si je fais 10 changements de texte, en bout de ligne j'ai une sorte de 0 (rectangulaire) qui s'affiche 10 fois dans le fichier TXT.
Lorsque je récupère tous çà,:
- dans l'Edit... j'ai des I en bout de chaque ligne.
- dans une MessageBox... j'ai des intervales (qui correspondent à chaques I ) entre chaque ligne.
- dans un Static... idem à MessageBox.

Si vous aviez quelque chose à me proposer... Merci.
Ne me demandez pas trop d'explications... vous savez... je ne suis pas trop...!

J'ai DEV-C++ 4.9.9.2
Merci encore.

Papi2

Je mets le code :

//Action du début du bouton : dBouton.
        {
  // Va contenir le texte du EditBox
       char *LeText = NULL;
   // Va contenir le nombres de caractères dans le EditBox
         unsigned int TextLen = 0;
   // Récupère le nombres de caractères dans le EditBox
   TextLen = GetWindowTextLength(EditHandle);
     // S'il n'est pas vide
          if (TextLen)
           {
          // Alloue de la mémoire pour stocker le texte
            LeText = new char[(TextLen + 2)];
               // Récupère le texte
               TextLen = GetWindowText(EditHandle, LeText, (TextLen + 1));
             // Si aucune erreur et le EditBox écrit
                 if (TextLen)
                 {       
              // Affiche le texte
               MessageBox(hwnd, LeText, "Voilà le texte", MB_OK);         
              // Détruit le fichier "Tte1.tx"
             DeleteFile("Tte1.txt");
              //  Crée et copie le texte dans le fichier : "Tte1.txt"
                FILE *fichier;
                 fichier=fopen("Tte1.txt","a");
                 fputs(LeText, fichier);
                 fclose(fichier);
         ShellExecute(NULL, "open", "Tte1.txt", 0, 0, SW_SHOWNORMAL);                       
                    }
                  else
                    {
           // Erreur lors de la récupération du texte
                MessageBox(hwnd, "Erreur lors de la récupération du texte", "Erreur", MB_OK);
                        }
                // Libère la mémoire
                    delete [] LeText;
                    }
                  else
                     {
                // Le EditBox est vide
                MessageBox(hwnd, "Le EditBox est vide!", "Edit Vide", MB_OK);
                        }
                   return 0;
                 }
        

2 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
DeleteFile est inutile.


HANDLE hfl;
DWORD v;
TextLen = GetWindowText(EditHandle, LeText, (TextLen + 1));
if(!TextLen) goto delTEXT;
hfl = CreateFile("Tte1.txt", GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0);
if(hfl == INVALID_HANDLE_VALUE) goto delTEXT; // C'EST FOUTU
WriteFile(hfl, LeText, TextLen, &v, 0);
CloseHandle(hfl);
delTEXT:
delete [] LeText;

ciao...
BruNews, MVP VC++
Messages postés
44
Date d'inscription
vendredi 22 avril 2005
Statut
Membre
Dernière intervention
6 mars 2009

Bonsoir,

Merci encore et encore...Brunews.
Pour moi tout ceci est une activité de loisir et bien que complètement nul en programmation, à l'image du bricoleur du dimanche, chaque fois qu'un programme (aussi lourd et mal écrit qu'il soit) fonctionne... c'est du plaisir !
Par la suite j'essaie e les améliorer mais... je n'ai pas trop les capacités pour celà.


En tous cas... merci encore (j'essaie de vous ennuyer le moins possible!).


C'est vraiment dommage que nous n'ayions pas la possibilité de nous rencontrer... mais bon... c'est comme çà, c'est Internet !

Bonne continuation.

Papi2