Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5678 connectés 

 


Dernière réponse
Sujet : Une erreur bien génante en C++
LetoII :lol:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
LetoII :lol:
remixgame Je suis encore collegien je risque pas d'utiliser mes cours LOL  :pt1cable:
LetoII Elle est bien pour apprendre l'api windows.
Sin non pour le C t'as Le language C de Kernigham et Ritchie
 
Pour le C++ je sais pas (j'utilise mes cours :) )
remixgame Ouai tu me conseille quoi j'ai bien la bible du c c++ mais c'est pas terible ?
LetoII T'as fait du C avant? Vraiment? Nan, c une blague?
 
Je serai toi je commencerai par me payer un bon bouquin sur le C et un autre sur le C++.
 
C normal que ça marche pas, tu fais nimporte quoi.
 

Code :
  1. char  buffer[256];
  2. char *cool  = buffer+1;
  3. char *textd = cool;


 

remixgame heu desole d'encore vous embetez  
mais
char buffer[256];
char cool[] = buffer+1;
char textd[] = cool;
 
pourquoi j'ai comme message d'erreur  
[C++ Error] Unit1.cpp(31): E2034 Cannot convert 'char *' to 'char[]'
[C++ Error] Unit1.cpp(32): E2034 Cannot convert 'char *' to 'char[]'
 
remixgame MErci ca marche
remixgame En faite je commence en c++ je fasais du c
LetoII change les long en unsigned long!
T'as déja fais un peu de programation?
remixgame 5 erreurs  

Code :
  1. LPCTSTR textd = "CHAINE";
  2.     {
  3.     static HANDLE FICHIER;
  4.      char textd[] = "CHAINE";
  5.    
  6.         HANDLE fichier;
  7.         char          buffer[4];
  8.         long          read;
  9.    
  10.         fichier = CreateFile( "PROTECT.RXT", GENERIC_READ | GENERIC_WRITE,0, NULL, OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL, NULL );
  11.         long written;
  12.         WriteFile( FICHIER, textd,3,&written, NULL );
  13.         SetFilePointer( FICHIER, 0, NULL, FILE_BEGIN );
  14.         ReadFile( fichier, buffer, 3,&read, NULL );
  15.        
  16.         Edit1->Text = buffer;
  17.              
  18.         CloseHandle( fichier);
  19.     }
  20. }


[C++ Error] Unit1.cpp(32): E2034 Cannot convert 'long *' to 'unsigned long *'
[C++ Error] Unit1.cpp(32): E2342 Type mismatch in parameter 'lpNumberOfBytesWritten' (wanted 'unsigned long *', got 'long *')
[C++ Error] Unit1.cpp(35): E2034 Cannot convert 'long *' to 'unsigned long *'
[C++ Error] Unit1.cpp(35): E2342 Type mismatch in parameter 'lpNumberOfBytesRead' (wanted 'unsigned long *', got 'long *')

LetoII

Code :
  1. void __fastcall TForm1::FormCreate(TObject *Sender)
  2.   {
  3.     char textd[] = "CHAINE";
  4.     HANDLE fichier;
  5.     char          buffer[4];
  6.     long          read;
  7.     fichier = CreateFile( "PROTECT.RXT", GENERIC_READ | GENERIC_WRITE,0, NULL, OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL, NULL );
  8.     long written;
  9.     WriteFile( FICHIER, textd,3,&written, NULL );
  10.      
  11.     SetFilePointer( FICHIER, 0, NULL, FILE_BEGIN );
  12.     ReadFile( fichier, buffer, 3,&read, NULL );
  13.      
  14.    
  15.     Edit1->Text = buffer;
  16.    
  17.        
  18.     CloseHandle( fichier);
  19.      
  20. }

remixgame Ca marche toujours pas  :ouch:  
Ca ne marque rien  
il a juste supprimé le text de edit  

Code :
  1. void __fastcall TForm1::FormCreate(TObject *Sender)
  2. {
  3. LPCTSTR textd = "CHAINE";
  4.     {
  5.     static HANDLE FICHIER;
  6.       char  szBuf[4];
  7.       DWORD dwRead;
  8.       FICHIER = CreateFile( "PROTECT.RXT", GENERIC_READ | GENERIC_WRITE,
  9.                                            0, NULL, OPEN_ALWAYS,
  10.                                            FILE_ATTRIBUTE_NORMAL, NULL );
  11.                                            DWORD dwWritten;
  12.                                                   WriteFile( FICHIER, textd,3,
  13.                                   &dwWritten, NULL );
  14.       SetFilePointer( FICHIER, 0, NULL, FILE_BEGIN );
  15.        ReadFile( FICHIER, szBuf, 3,
  16.                                                 &dwRead, NULL );
  17.                                                if(Edit1->Text.Length() < 4)
  18.   {
  19.         strcpy(szBuf,Edit1->Text.c_str());
  20.   }
  21.   else
  22.   {
  23.        szBuf[0] = '\0';
  24.   }
  25.                                            Edit1->Text = szBuf;
  26.                                              CloseHandle( FICHIER );
  27.     }
  28. }
  29. //---------------------------------------------------------------------------

LetoII normal:

Code :
  1. Edit1->Text = szBuf;


 

remixgame Oui merci ya pu d'erreur mais il n'affiche toujours rien dans edit ?? :eek2:  
Le fichier est bien ecrit  

Code :
  1. void __fastcall TForm1::FormCreate(TObject *Sender)
  2. {
  3. LPCTSTR textd = "CHAINE";
  4.     {
  5.    static HANDLE FICHIER;
  6.       char  szBuf[4];
  7.       DWORD dwRead;
  8.       DWORD dwWritten;
  9.       FICHIER = CreateFile( "PROTECT.RXT", GENERIC_READ | GENERIC_WRITE,0, NULL, OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL, NULL );
  10.       WriteFile( FICHIER, textd,3,&dwWritten, NULL );
  11.       SetFilePointer( FICHIER, 0, NULL, FILE_BEGIN );
  12.        ReadFile( FICHIER, szBuf, 3,&dwRead, NULL );       if(Edit1->Text.Length() < 4)
  13.        {
  14.         strcpy(szBuf,Edit1->Text.c_str());
  15.        }
  16.         else
  17.        {
  18.        szBuf[0] = '\0';
  19.        }
  20.       CloseHandle( FICHIER );
  21. // OPERATION SUR FICHIER
  22. // CONDITION
  23. // VARIABLE


PAs d'erreur rien  :sweat:  
   
     
 

LetoII Ben justement, c bien ça que je leur reproche :)
antp

letoII a écrit a écrit :

oups pour une fois qu'ils respectent les concepts objet...




 
ils les repectent souvent, mais en général c'est avec des "property" (un truc venant de Delphi), c'est-à-dire un "truc" qui permet d'associer une méthode de lecture et une méthode d'écriture.
Donc on accède pas directement à l'attribut (puisqu'on passe par les méthodes Set/Get), mais ça s'utilise comme un attribut.

LetoII oups pour une fois qu'ils respectent les concepts objet...
 

Code :
  1. if(Edit1->Text.Length() < 128)
  2. {
  3.     strcpy(szBuf,Edit1->Text.c_str()); 
  4. }
  5. else
  6. {
  7.    szBuf[0] = '\0';
  8. }

remixgame

Code :
  1. if(Edit1->Text.Length < 128)
  2. {
  3.     strcpy(szBuf,Edit1->Text.c_str()); 
  4. }
  5. else
  6. {
  7.    szBuf[0] = '\0';
  8. }


Un nouveau message d'erreur
[C++ Error] Unit1.cpp(36): E2235 Member function must be called or its address taken
Pk ca amrche pas  :cry:

LetoII

Code :
  1. if(Edit1->Text.Length < 128)
  2. {
  3.      strcpy(szBuf,Edit1->Text.c_str());
  4. }
  5. else
  6. {
  7.     szBuf[0] = '\0';
  8. }

kayasax mets un theme a ton topic plizz
remixgame Rien
remixgame

Code :
  1. //---------------------------------------------------------------------------
  2. void __fastcall TForm1::FormCreate(TObject *Sender)
  3. {
  4. LPCTSTR textd = "CHAINE";
  5.     {
  6.     static HANDLE FICHIER;
  7.       char  szBuf[128];
  8.       DWORD dwRead;
  9.       FICHIER = CreateFile( "PROTECT.RXT", GENERIC_READ | GENERIC_WRITE,
  10.                                            0, NULL, OPEN_ALWAYS,
  11.                                            FILE_ATTRIBUTE_NORMAL, NULL );
  12.                                            DWORD dwWritten;
  13.                                                   WriteFile( FICHIER, textd,3,
  14.                                   &dwWritten, NULL );
  15.       SetFilePointer( FICHIER, 0, NULL, FILE_BEGIN );
  16.        ReadFile( FICHIER, szBuf, 3,
  17.                                                 &dwRead, NULL );
  18.                                              szBuf=Edit1->Text.c_str();
  19.                                              CloseHandle( FICHIER );
  20.      
  21.     }
  22. }
  23. //---------------------------------------------------------------------------


Avec comme erreur  
[C++ Error] Unit1.cpp(36): E2277 Lvalue required  
POur  
szBuf=Edit1->Text.c_str();
Aidez moi svp merci


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)