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

Delphi Discussion :

Probleme avec tstringlist


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de petitprince
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juillet 2006
    Messages : 322
    Par défaut Probleme avec tstringlist
    Voila, j'ai un problème avec les StringLists...
    J'ai 2 stringlist: la première contient le text suivant:
    vitesse du véhicule
    force du vent
    masse du véhicule
    résistance au sol

    La deuxième contient:
    force du vent
    masse du véhicule

    Je voudrait remplacer le text de la première stringlist par <aucune info> en fonction de la deuxième.

    Je fais donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StringList1.text:=AnsiReplaceStr(Text,Stringlist2.Text, ' <aucune info> ')
    Et là rien ne marche!!! Mais si je passe par un mémo intermédiaire, là ca marche !!!
    Mais moi ce que je veux, c'est traiter ceci en mémoire et pas avec un mémo !!!
    Merci d'avance.....

  2. #2
    Membre éclairé
    Avatar de OutOfRange
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 533
    Par défaut
    Salut
    Citation Envoyé par aide(D6)
    Appelez AnsiReplaceStr pour analyser la chaîne spécifiée par AText et remplacer toutes les occurrences de la chaîne spécifiée par AFromText par la chaîne spécifiée par AToText. Les occurrences de AFromText sont identifiées par une comparaison tenant compte de la casse. L'identification des sous-chaînes n'est pas récursive : si la substitution de AToText aboutit à une nouvelle correspondance de AFromText, celle-ci n'est pas remplacée.
    Citation Envoyé par petitprince
    Je fais donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StringList1.text:=AnsiReplaceStr(Text,Stringlist2.Text, ' <aucune info> ')
    Sauf erreur de ma part, ton code fait ça :
    Remplacer dans Text, toutes les occurences de Stringlist2.Text par ' <aucune info> '

    Compte tenu de ce que tu décris, ça ne peut pas fonctionner
    Les occurences à remplacer ne sont pas Stringlist2.Text

    Si ?

  3. #3
    Membre éclairé Avatar de petitprince
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juillet 2006
    Messages : 322
    Par défaut
    Mon code remplace dans stringlist1 par <aucune info> les occurence contenu par stringlist2
    Je fais: Stringlist1.Add.......
    Si Si, elles sont bien présente !!

  4. #4
    Membre éclairé
    Avatar de OutOfRange
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 533
    Par défaut
    Citation Envoyé par aide D6 TStrings.Text
    Enumère les chaînes de l'objet TStrings sous forme d'une seule chaîne où les chaînes individuelles sont séparées par des séquences retour chariot, passage à la ligne.

    property Text: string;

    Description

    La propriété Text permet de définir ou d'obtenir toutes les chaînes d'un objet TStrings à l'aide d'une seule chaîne délimitée par des séquences retour chariot, passage à la ligne.
    es tu sûr que Stringlist2.Text constitue une occurence à remplacer, sachant que ce string contient l'ensemble de tes chaines (stringlist2[0]+stringlist2[1]+stringlist2[2]...) séparées par des séquences retour chariot ?

  5. #5
    Membre éclairé Avatar de petitprince
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juillet 2006
    Messages : 322
    Par défaut
    euh ...........
    ben voila mon code, mais en effet ce que tu me dit me fait réfléchir
    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
    procedure TForm1.Button3Click(Sender: TObject);
    var
    Streaming:TMemoryStream;
    StringList1,StringList2: TStringList;
    i:integer;
    begin
    Streaming:=TMemoryStream.Create;
    RxRichEdit1.Lines.SaveToStream(streaming);
    Streaming.Position := 0;
    Res := TResourceStream.Create(0,'MONTEXT','TEXT');
    StringList2 := TStringList.Create;
    memo3.Lines.LoadFromStream(Res);
     
    StringList1 := TStringList.Create;
      try
        with StringList1 do begin
          LoadFromStream(Streaming);
          Text := AnsiReplaceStr(Text,memo3.Lines.Text, ' <aucune info> ');
          end;
        with memo2 do begin
          Lines.Assign(StringList1);
        end;
      finally
        StringList1.free;
        StringList2.Free;
    Streaming.Free;
    Res.Free;
      end;
     
     
    end;
    Note que dans mon exemple la Stringlist2 est là en touriste, et remplacé par memo3 (comme j'ai que ca marchais qu'avec le memo)
    Et je charge dans stringlist1 un text issu d'un richedit, et dans la stringlist2 (enfin dans le memo3 !!!!) un text issu de mes ressources...
    Voila...
    En effet, ca doit merder au niveau des retours chariot

  6. #6
    Membre éclairé Avatar de petitprince
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juillet 2006
    Messages : 322
    Par défaut
    Alor, personne n'a de solution pour mon problème ?
    En tout cas merci OutOfRange...

Discussions similaires

  1. Probleme avec TStringList
    Par apprenti0859 dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/03/2009, 14h35
  2. Probleme avec une TStringList
    Par davos56 dans le forum Delphi
    Réponses: 10
    Dernier message: 12/04/2007, 11h03
  3. Réponses: 5
    Dernier message: 25/09/2006, 11h06
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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