Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Obtener valor de una linea determinada de un memo (https://www.clubdelphi.com/foros/showthread.php?t=64144)

marareta 19-03-2009 03:43:39

Obtener valor de una linea determinada de un memo
 
Hola y disculpen, solo que ya busque y no e encontrado nada,
tengo un memo donde en cada linea se guardan valores, y en un edit pongo el número de linea que quiero borrar del memo, si logro borrarla pero el problema es que tengo un total, y no me resta la linea eliminada al total, entonces lo que quiero es obtener el valor de la linea del memo para poder borrarsela al total que tengo aparte.
Les pido y porfavor me ayude, esque me urge para un trabajo de la escuela :(

Caro 19-03-2009 04:04:44

Hola, no te entiendo muy bien, ese total es el total de líneas supongo, si no es así explicanos un poco mas.

Código Delphi [-]
 //Para borrar
 Memo1.Lines.Delete(StrToInt(Edit1.Text));
 
 //Para obtener el total digamos en otro edit
 Edit2.Text := IntToStr(Memo1.Lines.Count);

Saluditos

marareta 19-03-2009 04:29:27

ok y gracias por contestar rapido, mira, no quiero contar las lineas, digamos que en el memo tengo 4 lineas,
la linea 1 es igual a 4
la linea 2 es igual a 2
la linea 3 es igual a 5
la linea 4 es igual a 1
el total de la suma de las lineas es 12, este resultado lo tengo en un edit, entonces con el ejemplo que me diste de borrar, por ejemplo borro la linea 2, y solo me quedarian la 1,3 y 4, y la suma de las 3 es 10. pero solamente se borraria la linea mas no el total que tengo en el edit, ese total se quedaria como 12 y no como 10.
lo que quiero es obtener el valor de la linea 2 para poder restarselo al total.
ojala y me entiendas con este ejemplo que te puese, y una vez mas muchas gracias por contestar rapido, espero tu respuesta :)

Caro 19-03-2009 04:42:39

Hola de nuevo, para obtener la cantidad de caracteres que tienes en una línea lo puedes hacer así, claro que tienes que obtenerlo antes de eliminar la línea.

Código Delphi [-]
 CantLinea := Length(Memo1.Lines[StrToInt(Edit1.Text)]);
 Memo1.Lines.Delete(StrToInt(Edit1.Text));
 
 //Y CantLinea lo restas de tu total
 Total := Total - CantLinea;

También tienes otra forma, es obtener el Length de todo el Texto del memo, pero ahí toma en cuenta también #10 #13 que es el salto línea por lo que deberas restar también eso o quitarlo antes.

Código Delphi [-]
 Edit2.Text := IntToStr(Length(Memo1.Text));

Saluditos

marareta 19-03-2009 05:11:59

muchas gracias,
es justamente lo que estaba buscando, y gracias una vez mas por la rapidez :)


La franja horaria es GMT +2. Ahora son las 06:50:10.

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