Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > OOP
Register FAQ Members List Calendar Guía de estilo Today's Posts

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 27/09/2007
modulay modulay is offline
Miembro
 
Join Date: Feb 2006
Posts: 46
Poder: 0
modulay Va por buen camino
Pasar TMemorystream a string

Hola amigos.
Tengo un TMemorystream cuyos bytes contienen los valores ascii de una cadena de texto que quiero poder volcar sobre un memo.
He probado con pchar y alguna cosa de estas pero no me rula bien,no se si estaré haciendo algo mal.
¿cómo sería la forma adecuada de conseguir un tipo string con el contenido de dicho stream?
Gracias
Reply With Quote
  #2  
Old 27/09/2007
seoane's Avatar
[seoane] seoane is offline
Miembro Premium
 
Join Date: Feb 2004
Location: A Coruña, España
Posts: 3,717
Poder: 26
seoane Va por buen camino
¿Y el metodo LoadFromStream del TMemo?
Reply With Quote
  #3  
Old 27/09/2007
Mick Mick is offline
Miembro
 
Join Date: May 2003
Posts: 405
Poder: 24
Mick Va por buen camino
Code:
// A un String
SetLength(Str,MemoryStream.Size);
MemoryStream.Write( PChar(Str)^, MemoryStream.Size);
Code:
// A un memo
Memo1.Lines.LoadFromStream(MemoryStream);

Saludos

Last edited by Mick : 27/09/2007 at 18:30.
Reply With Quote
  #4  
Old 28/09/2007
modulay modulay is offline
Miembro
 
Join Date: Feb 2006
Posts: 46
Poder: 0
modulay Va por buen camino
Gracias amigos.
El volcado directo sobre el string no me funciona...al representar el contenido de dicho string,a veces muestra los valores ascii en hexadecimal,a veces muestra la cadena "true" ,a veces no muestra nada...

El volcado sobre el memo mediante el método LoadfromStream anda perfecto,asi que dado que necesitaba impepinablemente la trama en un string he volcado primero sobre el memo y después he accedido a éste y he copiado su contenido sobre el string.Así anda bien.

Código Delphi [-]

memoaux : TMemo;
clcd1linea1: TRasterlab;

procedure TForm1.procesasysex (const sysexbufferaux: TMemoryStream);
var
           cadena : string;
begin
           sysexbufferaux.Position := 0;
           memoaux.Clear;
           memoaux.Lines.LoadFromStream(sysexbufferaux);
           setlength(cadena,sysexbufferaux.size);
           cadena := Copy(memoaux.Lines.Strings[0],0, sysexbufferaux.size);
           clcd1linea1.Text := cadena;
end;

Saludo
Reply With Quote
  #5  
Old 29/09/2007
modulay modulay is offline
Miembro
 
Join Date: Feb 2006
Posts: 46
Poder: 0
modulay Va por buen camino
Esta solución va de lujo para el volcado directo sobre el string

Código Delphi [-]
SetString(cadena, pchar(sysexbufferaux.Memory), sysexbufferaux.size);
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
pasar un DateTimePicker a String jmlifi Varios 1 18/01/2006 11:43
Pasar string a char Sayuri Varios 3 09/08/2005 16:35
Pasar de string a float joanajj Varios 3 04/11/2004 20:29
Pasar de String a Word DarkByte Varios 4 09/08/2004 19:05
pasar double a string ???? chele Varios 2 01/06/2004 16:54


All times are GMT +2. The time now is 08:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi