![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
He provado con mas de 25 lineas existentes y siempre me aparece lo mismo![]() |
|
#2
|
||||
|
||||
|
yo me equivoque, cambia la linea
por
te estaba agregando una sóla linea, por eso el error.
__________________
[Crandel] |
|
#3
|
|||
|
|||
Hola otra vez!!!![]() ¿Tendría que quedar más o menos asi? Es que me sale un error: "Incompatible types: 'TStrings' and 'String' " Código PHP:
P.D.: Y pensaba que se solucinaría facil todo este problema...... ![]() |
|
#4
|
||||
|
||||
|
Mmmmm... AddStrings requiere que el parámetro pasado sea un TStrings, por lo que Add es el método apropiado para el resultado de la función AdjustLineBreaks.
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
|
|
#5
|
|||
|
|||
|
Solo comentar que usar AdjustLineBreaks antes de asignar los
textos a un TStrings es marear la perdiz, una perdida de ciclos de cpu ya que no es necesario. Un objeto TStrings o derivado de él como un TStringList o el mismo Lines de un TMemo, entiende perfectamente y separa las lineas de los textos que tengan solo el caracter #10 o solo el caracter #13. De modo que basta asignar el contenido al TStrings (con Add por ejemplo) y listo. Saludos |
|
#6
|
||||
|
||||
|
El problema es que con Add, lo agrega en una sóla linea a todo el texto.
El memo lo reconoce perfectamente, pero no se porque el StringList no. Dentro de un ratito lo pruebo y te comento
__________________
[Crandel] |
|
#7
|
||||
|
||||
|
Cita:
Otra es armando una funcioncita para poder usar AddStrings
Cita:
![]() Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
|
|
#8
|
|||
|
|||
|
Cita:
Código:
List.Text:= List.Text + TextoRecibido. 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; textos parciales recibidos y otro para acumular el total usando AddStrings. Código:
ListParcial.Text:= Socket.ReceiveText; ListTotal.AddStrings(ListParcial); 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 |
|
#9
|
||||
|
||||
|
Bueno KamiKaze,
aca con la ayuda de nuestros amigos delphi.com.ar y Mick, ya tenemos nuestra solución, proba entonces este código final:
Segun te entendí, recibís todo el texto de una sóla vez, o lo haces por partes?, si es por partes puedes probar la última alternativa de Mick. Termino siendo mas facíl de lo imaginado , lo que es ahogarse en un vaso de agua vacio , tantas vueltas por un simple fin de línea ![]()
__________________
[Crandel] |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|