Ver Mensaje Individual
  #21  
Antiguo 13-07-2005
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Reputación: 24
Mick Va por buen camino
Cita:
Empezado por Crandel
El problema es que con Add, lo agrega en una sóla linea a todo el texto.
Dentro de un ratito lo pruebo y te comento
En lugar de Add, se puede hacer algo tan sencillo como:
Código:
List.Text:= List.Text + TextoRecibido.
Aunque esto es computacionalmente mas costoso,
ya que se producen muchas conversiones de cadenas innecesarias.

Es preferible ir concatenando el texto en un String normal, y una vez
recibido todo el texto asignarlo una unica vez al TStringlist con un simple:
Código:
List.Text:= TextoRecibidoCompleto;
Tambien se pueden utilizar dos objetos TStringList uno para guardar los
textos parciales recibidos y otro para acumular el total usando AddStrings.
Código:
ListParcial.Text:= Socket.ReceiveText;
ListTotal.AddStrings(ListParcial);
Aunque no lo parezca este ultimo metodo (usando 2 strings) es el mas rapido
de todos y el que consume menos memoria (no lo he comprobado en la
practica, pero por la forma en que maneja delphi los strings y stringlists a
priori es el metodo que menos conversiones y reasignaciones de memoria
deberia usar).

Saludos
Responder Con Cita