<html><head><style type="text/css">body {word-wrap: break-word; background-color:#ffffff;}</style></head><body><div style="font-family: sans-serif; font-size: 16px">Hola Pao, el string puede almacenar hasta 255 caracteres.<br>Pone la consulta en el componente y usá parámetros.<br><br>Saludos,<br><br><br><font color="#333333"><i><span style="font-size: 14px"><font face="sans-serif">Conectado por MOTOBLUR™</font></span></i></font></div><br><br>-----Mensaje original-----<br><blockquote style="; border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><div style="font-family: sans-serif; font-size: 14px"><b>De: </b>lazarus-es-request@lists.lazarus.freepascal.org<b><br>Para: </b>lazarus-es@lists.lazarus.freepascal.org<b><br>Enviado: </b>mar, 19 feb 2013 16:23:00 GMT-03:00<b><br>Asunto: </b>Resumen de Lazarus-es, Vol 65, Envío 10<br><br></div>Envíe los mensajes para la lista Lazarus-es a<br>    lazarus-es@lists.lazarus.freepascal.org<br><br>Para subscribirse o anular su subscripción a través de la WEB<br>    <a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br><br>O por correo electrónico, enviando un mensaje con el texto "help" en<br>el asunto (subject) o en el cuerpo a:<br> lazarus-es-request@lists.lazarus.freepascal.org<br><br>Puede contactar con el responsable de la lista escribiendo a:<br>      lazarus-es-owner@lists.lazarus.freepascal.org<br><br>Si responde a algún contenido de este mensaje, por favor, edite la<br>linea del asunto (subject) para que el texto sea mas especifico que:<br>"Re: Contents of Lazarus-es digest...". Además, por favor, incluya en<br>la respuesta sólo aquellas partes del mensaje a las que está<br>respondiendo.<br><br><br>Asuntos del día:<br><br>   1. TStringList (Omar D. González R.)<br>   2. Re: TStringList (Carlos Enrique Rodriguez)<br>   3. Re: TStringList (José Mejuto)<br>   4. Re: TStringList (Maxi)<br>   5. string, error raro (Paola Bruccoleri)<br><br><br>----------------------------------------------------------------------<br><br>Message: 1<br>Date: Tue, 19 Feb 2013 08:46:53 -0300<br>From: "Omar D. González R."      <omar.gonzalez@novacomp.cl><br>Subject: [Lazarus-es] TStringList<br>To: lazarus-es@lists.lazarus.freepascal.org<br>Message-ID: <5123662D.30907@novacomp.cl><br>Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br><br>Hola amigos,<br>Me gustaría saber si el TStringList tiene un límite de filas, que está <br>dado por las características del componente o está limitado por el <br>programa del equipo donde se usa.<br>Estoy intentando leer un archivo de texto de 3.100.000 registros y se <br>cae por problemas de memoria. Lo pregunto para ver si resuelvo el <br>problema disponibilizando mas memoria para la aplicación.<br><br><br><br><br>------------------------------<br><br>Message: 2<br>Date: Tue, 19 Feb 2013 09:24:34 -0300<br>From: Carlos Enrique Rodriguez <cer@racss.com.ar><br>Subject: Re: [Lazarus-es] TStringList<br>To: Spanish version of Lazarus List<br>        <lazarus-es@lists.lazarus.freepascal.org><br>Message-ID: <51236F02.4040403@racss.com.ar><br>Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br><br>El 19/02/13 08:46, "Omar D. González R." escribió:<br>> Hola amigos,<br>> Me gustaría saber si el TStringList tiene un límite de filas, que está <br>> dado por las características del componente o está limitado por el <br>> programa del equipo donde se usa.<br>> Estoy intentando leer un archivo de texto de 3.100.000 registros y se <br>> cae por problemas de memoria. Lo pregunto para ver si resuelvo el <br>> problema disponibilizando mas memoria para la aplicación.<br><br>TstringList hereda de Tlist, que es lo más parecido a "listas enlazadas <br>(con punteros de memoria)"  que hay, así que si, es un tema de memoria <br>el tuyo.<br>Ahora una pregunta. Si bien se que la tendencia actual es volcar todo en <br>memoria, no son muchos elementos? No es más conveniente tenerlos en <br>algún archivo y levantar a memoria el subgrupo con el que vas a <br>trabajar? De curioso nomás pregunto.<br><br><br>Nos vemos<br>Carlos<br><br><br><br><br><br>------------------------------<br><br>Message: 3<br>Date: Tue, 19 Feb 2013 14:06:42 +0100<br>From: José Mejuto <joshyfun@gmail.com><br>Subject: Re: [Lazarus-es] TStringList<br>To: Spanish version of Lazarus List<br>      <lazarus-es@lists.lazarus.freepascal.org><br>Message-ID: <512378E2.2040708@gmail.com><br>Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br><br>El 19/02/2013 12:46, "Omar D. González R." escribió:<br>> Hola amigos,<br>> Me gustaría saber si el TStringList tiene un límite de filas, que está<br>> dado por las características del componente o está limitado por el<br>> programa del equipo donde se usa.<br>> Estoy intentando leer un archivo de texto de 3.100.000 registros y se<br>> cae por problemas de memoria. Lo pregunto para ver si resuelvo el<br>> problema disponibilizando mas memoria para la aplicación.<br>><br><br>Hola,<br><br>Técnicamente 2000 millones de lineas, pero eso es imposible de alcanzar <br>en un equipo de 32 bits ya que cada linea (con contenido) ocupa el <br>contenido de la linea, más la configuración de los bloques de memoria <br>para cada string, más la información de control de las lineas y lo peor, <br>la fragmentación que genera en la memoria.<br><br>Si las lineas son todas de la misma longitud mejor leerlas todas en un <br>solo bloque de memoria.<br><br>Si no tienen longitud fija y necesitas acceder a todas en memoria, <br>cargas todas las lineas en un bloque de memoria, luego haces un array <br>dinámico de "pointer" o "integer" (según convenga) que vas haciendo <br>crecer en bloques de 1000 o 10000 elementos y buscas donde empieza cada <br>linea y lo apuntas en ese array.<br><br>En el sistema todo dependerá de que necesitas hacer con las lineas una <br>vez cargadas, leerlas, reordenarlas, borrar, añadir, insertar....<br><br>-- <br><br><br><br><br>------------------------------<br><br>Message: 4<br>Date: Tue, 19 Feb 2013 10:50:26 -0300<br>From: Maxi <maximiliano.duarte@gmail.com><br>Subject: Re: [Lazarus-es] TStringList<br>To: Spanish version of Lazarus List<br>  <lazarus-es@lists.lazarus.freepascal.org><br>Message-ID:<br>  <CAOL=nAp_xMfPAi=naimXG4+XLj68mKTHWpksb6s4DvC92VO5cg@mail.gmail.com><br>Content-Type: text/plain; charset="utf-8"<br><br>El 19 de febrero de 2013 08:46, "Omar D. González R." <<br>omar.gonzalez@novacomp.cl> escribió:<br><br>> Hola amigos,<br>> Me gustaría saber si el TStringList tiene un límite de filas, que está<br>> dado por las características del componente o está limitado por el programa<br>> del equipo donde se usa.<br>> Estoy intentando leer un archivo de texto de 3.100.000 registros y se cae<br>> por problemas de memoria. Lo pregunto para ver si resuelvo el problema<br>> disponibilizando mas memoria para la aplicación.<br>><br>><br>> ______________________________**_________________<br>> Lazarus-es mailing list<br>> Lazarus-es@lists.lazarus.**<a href="freepascal.org">freepascal.org</a><Lazarus-es@lists.lazarus.freepascal.org><br>> http://lists.lazarus.**<a href="freepascal.org/mailman/**listinfo/lazarus-es">freepascal.org/mailman/**listinfo/lazarus-es</a><<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a>><br>><br><br>y cuanta memoria tiene el equipo en cuestion? tamaño habilitado para<br>memoria virtual y temporales?<br><br>-- <br>El que pregunta aprende, y el que contesta aprende a responder.<br><br>No a la obsolecencia programada:<br><a href="http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html">http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html</a><br><br>Linux User #495070<br><a href="http://domonetic.com/blog">http://domonetic.com/blog</a><br>------------ próxima parte ------------<br>Se ha borrado un adjunto en formato HTML...<br>URL: <<a href="http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130219/91204b9b/attachment-0001.html">http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130219/91204b9b/attachment-0001.html</a>><br><br>------------------------------<br><br>Message: 5<br>Date: Tue, 19 Feb 2013 17:22:00 -0200<br>From: Paola Bruccoleri <pbruccoleri@adinet.com.uy><br>Subject: [Lazarus-es] string, error raro<br>To: Lista Lazarus <lazarus-es@lists.lazarus.freepascal.org><br>Message-ID: <5123D0D8.8010107@adinet.com.uy><br>Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"<br><br>Hola todos..<br><br>hace rato que estoy con esto y me está enloqueciendo.<br>Tengo una variable csql: string a la que le asigno esto:<br><br>          cSql:= 'select <a href="c.id">c.id</a>, c.numero, c.idinquilino, c.idinmueble, <br>c.finicio,';<br>          cSql+= ' c.ffin, c.meses, c.importe, c.acuerdo, c.idformapago, <br>c.idtipopago,';<br>          cSql+= ' c.comision, c.idagenteretencion, c.comisionagente,';<br>          cSql+= ' c.fechaajuste, c.porcentajeajuste, c.activo, <br>c.idmoneda,';<br>          cSql+= ' c.ultmespago, c.ultanopago, c.detalle,';<br>          cSql+= ' c.nomgarantia1, c.dirgarantia1, c.telgarantia1,';<br>          cSql+= ' c.nomgarantia2, c.dirgarantia2, c.telgarantia2,';<br>          cSql+= ' c.librecontratacion,';<br>          cSql+= ' i.nombre as inqnom, <a href="i.id">i.id</a> as inqid, i.direccion as <br>inqdireccion,';<br>          cSql+= ' <a href="inm.id">inm.id</a>, inm.direccion as inmdireccion, inm.localidad, <br>inm.iddepartamento,';<br>          cSql+= ' inm.barrio, inm.cp, inm.ose, inm.ute, inm.idtipo,';<br>          cSql+= ' inm.idzona, inm.padrones, <a href="inm.ph">inm.ph</a>, inm.idpais, ';<br>          cSql+= ' m.nombre as nommoneda, ';<br>          cSql+= ' a.nombre as nomagenteretencion, ';<br>          cSql+= ' tp.nombre as nomtipopago,';<br>          cSql+= ' fp.nombre as nomformapago ';<br>          cSql+= 'from contratos c ';<br>          cSql+= 'inner join inquilinos i on c.idinquilino = <a href="i.id">i.id</a> ';<br>          cSql+= 'inner join inmuebles inm on c.idinmueble = <a href="inm.id">inm.id</a> ';<br>          cSql+= 'inner join agentes_retencion a on c.idagenteretencion <br>= <a href="a.id">a.id</a> ';<br>          cSql+= 'inner join monedas m on c.idmoneda = <a href="m.id">m.id</a> ';<br>          cSql+= 'inner join tipos_pago tp on c.idtipopago = <a href="tp.id">tp.id</a> ';<br>          cSql+= 'inner join formas_pago fp on c.idformapago = <a href="fp.id">fp.id</a> ';<br>          cSql+= 'where activo = '+ QuotedStr('S');<br>          cSql+= ' order by inqnom';<br><br>pues cuando hago un showmessage(csql) para corroborar (ya que me estaba <br>dando error de sintaxis la consulta), SOLO queda con una partecita...<br><br><br><br>es de locos... esa misma consulta la uso en otro form, por tanto, copié <br>y pegué... en el otro form hago un showmessage y se ve toda completa..<br><br>o estoy ciega y no veo que es lo que está mal, o no sé que pasa...<br><br>(no coloqué la consulta en el mismo componente tzquery porque es un form <br>donde tengo un filtro, por tanto, la consulta es diferente según lo que <br>se elija)<br><br>agradezco alguna pista..<br>byeeeeeeeee<br><br><br><br>------------ próxima parte ------------<br>Se ha borrado un adjunto en formato HTML...<br>URL: <<a href="http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130219/6731b888/attachment.html">http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130219/6731b888/attachment.html</a>><br>------------ próxima parte ------------<br>A non-text attachment was scrubbed...<br>Name: moz-screenshot-5.png<br>Type: image/png<br>Size: 8220 bytes<br>Desc: no disponible<br>URL: <<a href="http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130219/6731b888/attachment.png">http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130219/6731b888/attachment.png</a>><br><br>------------------------------<br><br>_______________________________________________<br>Lazarus-es mailing list<br>Lazarus-es@lists.lazarus.freepascal.org<br><a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br><br><br>Fin de Resumen de Lazarus-es, Vol 65, Envío 10<br>**********************************************<br></blockquote></body></html>