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

Composants VCL Delphi Discussion :

Stream & string


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Décembre 2004
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 188
    Par défaut Stream & string
    Bonjour à tous. Juste un petit conseil.

    Pour récuprer du texte à partir d'un TStream, j'ai fait comme cela. Mais j'ai l'impression qu'il y aurait moyen de faire mieux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
       Result := '';
       for i := 1 to Stream.Size do
       begin
          Stream.Read(lChar,1);
          Result := Result + lChar;
       end;

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 298
    Par défaut
    Cela dépend ce que tu veux faire mais tu peux utiliser les tstringlist: dans ce cas tu as une ligne par entrée de tstringlist.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    slist.LoadFromStream(stream);

  3. #3
    Membre très actif
    Inscrit en
    Décembre 2004
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 188
    Par défaut
    Merci pour ta réponse.

    En allant regarder le source du TString, un meilleur moyen est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       SetString(Result,nil,Stream.Size);
       Stream.Read(Pointer(Result)^,Stream.Size);
    Par contre je ne vois pas quelle est la différence entre Pointer(Result)^ et Result.

  4. #4
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Result retourne un ensemble de char alors que pointer(Result)^ retourne un pointeur vers le 1er byte en mémoire de la chaine.

Discussions similaires

  1. Conversion d'un stream en string.
    Par Kloss123 dans le forum Langage
    Réponses: 1
    Dernier message: 30/10/2014, 09h48
  2. détection de l'encodage d'un Stream ou d'un String?
    Par wiztricks dans le forum Documents
    Réponses: 3
    Dernier message: 25/07/2009, 19h32
  3. HttpClient Cast Stream en String
    Par saturn1 dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 19/07/2009, 15h22
  4. [IO][stream] Opérateur >> et string
    Par adiGuba dans le forum SL & STL
    Réponses: 10
    Dernier message: 07/06/2006, 11h49
  5. [InputStream]Convertir un String en Stream
    Par maximus001ma dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 28/12/2005, 18h21

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