IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

modifier un champs d'un ligne selectionner dans une fichier texte


Sujet :

C++Builder

  1. #1
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 279
    Points : 71
    Points
    71
    Par défaut modifier un champs d'un ligne selectionner dans une fichier texte
    salut a tous j'ai juste une petite question je voudrais simplement modifier un champs d'un ligne selectionné dans un fichier texte

  2. #2
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Salut,
    peut tu nous dire avec quoi tu ouvre ton fichier, dans quoi tu l'affiche, comment tu sélectionne ta ligne ?
    N'oublie pas d'être précis pour avoir des réponses

    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    void TForm1::FMenu()
    {
    // cette fonction sert à modifier les Menus dont on ne trouve
    // qu une seule occurence pour un fichier .txt
    TReplaceFlags Flags; // Ici AVEC tout et casse
    String E =Memo4->Text;
    String N =Memo5->Text;
    String S = Memo3->Text;
    Flags >>rfReplaceAll>>rfIgnoreCase; // Remplace exactement
    Memo6->Text = StringReplace(S, E, N, Flags);
    Memo6->Lines->SaveToFile(chemin);
    }


    tiens voilà une fonction qui remplace une occurence , çà fait partie d un petit programme que j avais commencé , à toi de l utiliser comme il faut

  4. #4
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 279
    Points : 71
    Points
    71
    Par défaut
    voici ce que j'ai pu faire pour avoir deja mais information

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    //Declaration de variable
            int i,val1=-1;
            AnsiString ligne3,ligne4,application,rechercher,login,password;
            TStringList *file = new TStringList() ;
            TStringList *li = new TStringList() ;
     
            //Enregistrement de l'application dans la variable
            application=Edit1->Text;
     
            //Lecture du fichier
            file->LoadFromFile("C:\\Documents and Settings\\30.09.07\\Mes documents\\fichier.txt");
            for( i=0; i< file->Count; i++)
            {
                    //Lecture de chaque ligne
                    rechercher = file->Strings[i];
     
                    //Teste sur chaque ligne la valeur application
                    if(rechercher.Pos(application))
                    {
                           //Enregistre la valeur dans val1
                           val1=i;
                    }
            }
     
            //Recuperation de ligne selectionner
           if(val1 != -1)
            {
              ligne3 = file->Strings[val1] ;
              ligne4 = "";
              while(ligne3.Pos(",") != 0)
              {
                ligne4 += "\"";
                ligne4 += ligne3.SubString(1,ligne3.Pos(",")-1);
                ligne3.Delete(1,ligne3.Pos(","));
                ligne4 += "\",";
              }
              if(ligne3.Length() != 0)
              {
                ligne4 += "\"";
                ligne4 += ligne3;
                ligne4 += "\"";
              }
     
              //Decoupage de la ligne a chaque virgule
              li->Delimiter = ',' ;
              li->DelimitedText = ligne4 ;
     
              //Enregistrement du champs dans le login
              login=li->Strings[1];
     
              //Enregistrement du champs dans password
              password=li->Strings[2];
     
              //Affichage du login
              Edit2->Text=login;
     
              //Affichage du password
              Edit3->Text=password;
     
              Edit2->Visible=true;
              Edit3->Visible=true;
              Label2->Visible=true;
              Label3->Visible=true;
              }
              delete li;

  5. #5
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    C'est bien, mais quel champs veut tu modifier, et tu veut le remplacer par quoi ?
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  6. #6
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 279
    Points : 71
    Points
    71
    Par défaut
    ben par exemple le champs password pour changer le mot de passe car sa peut arriver de changer de mot de passe !!!

  7. #7
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Ok, dans ce cas, on va reprendre le code de lecture, et au lieu de mettre les infos dans les TEdit, on les prend des TEdit pour les mettres dans le fichier puis le sauver :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    //Declaration de variable
            int i,val1=-1;
            AnsiString ligne3,ligne4,application,rechercher,login,password;
            TStringList *file = new TStringList() ;
            TStringList *li = new TStringList() ;
     
            //Enregistrement de l'application dans la variable
            application=Edit1->Text;
     
            //Lecture du fichier
            file->LoadFromFile("C:\\Documents and Settings\\30.09.07\\Mes documents\\fichier.txt");
            for( i=0; i< file->Count; i++)
            {
                    //Lecture de chaque ligne
                    rechercher = file->Strings[i];
     
                    //Teste sur chaque ligne la valeur application
                    if(rechercher.Pos(application))
                    {
                           //Enregistre la valeur dans val1
                           val1=i;
                    }
            }
     
            //Recuperation de ligne selectionner
           if(val1 != -1)
            {
              ligne3 = file->Strings[val1] ;
              ligne4 = "";
              while(ligne3.Pos(",") != 0)
              {
                ligne4 += "\"";
                ligne4 += ligne3.SubString(1,ligne3.Pos(",")-1);
                ligne3.Delete(1,ligne3.Pos(","));
                ligne4 += "\",";
              }
              if(ligne3.Length() != 0)
              {
                ligne4 += "\"";
                ligne4 += ligne3;
                ligne4 += "\"";
              }
     
              //Decoupage de la ligne a chaque virgule
              li->Delimiter = ',' ;
              li->DelimitedText = ligne4 ;
     
              //Enregistrement du champs dans le login
              li->Strings[1]=Edit2->Text;
     
              //Enregistrement du champs dans password
              li->Strings[2]=Edit3->Text;
     
              ligne4 = li->DelimitedText;//je suis pas sur pour cette ligne
              file->Strings[val1] = ligne4;
              //Lecture du fichier
              file->SaveToFile("C:\\Documents and Settings\\30.09.07\\Mes documents\\fichier.txt");
     
              Edit2->Visible=false;
              Edit3->Visible=false;
              Label2->Visible=false;
              Label3->Visible=false;
              }
              delete li;
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  8. #8
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 279
    Points : 71
    Points
    71
    Par défaut
    Merci sa marche niquel bonne journée

  9. #9
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    De rien, bonne journée
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Supprimer ligne blanche dans un fichier texte
    Par willytito dans le forum VBA Access
    Réponses: 4
    Dernier message: 02/11/2007, 15h52
  2. Renvoyer la ligne selectionnée dans une table
    Par vallgui dans le forum WinDev
    Réponses: 3
    Dernier message: 21/06/2007, 12h42
  3. Réponses: 4
    Dernier message: 01/10/2006, 15h37
  4. Réponses: 2
    Dernier message: 18/05/2006, 13h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo