PDA

Ver la Versión Completa : Sumar el contenido de un Memo


RoyTan
01-02-2008, 10:14:16
Saludos.

Tengo una base de datos Dbf.
Y en ella un campo Memo que contiene números.
Mi pregunta es… ¿Se pueden sumar esos números?
Y si es así ¿Cómo?

Gracias.

Neftali [Germán.Estévez]
01-02-2008, 11:13:32
Puedes acceder a las líneas del meno con:


memo.Lines[0]
memo.lines[1]
....


Eso te devolverá strings.

Para convertirlos a enteros puedes hacer:


i := StrToInt(memo.lines[0]);
....



Por lo tanto podrías sumar las líneas usando...


result :=
StrToInt(memo.lines[0]) +
StrToInt(memo.lines[1]) +
StrToInt(memo.lines[2]) +
...


Esto te puede servir de guía; Deves tener en cuenta cuantas líneas hay en el memo; Que relamente sean números (sino la conversion con StrToInt fallará),...

RoyTan
01-02-2008, 14:55:50
Gracias Neftali por contestar.

El problema es que nunca sé cuantos registros tengo en el memo.
Lo mismo tengo 5 que 100 y no se como recorrerlos para sumarlos.

Gracias y perdona mi torpeza, pero es que llevo 3 horas dándole vueltas.

Saludos.

Ivanzinho
01-02-2008, 15:14:36
Con la propiedad TMemo.Lines.Count puedes saber cuantas líneas tiene el componente TMemo, luego solo tienes que recorrelas como te comento neftali y aplicar el algoritmo conveniente.

Un saúdo.

Delphius
01-02-2008, 15:16:48
Hola RoyTan,

Una manera de recorrerlo es emplear for:

suma := 0;
for i:= 0 to Memo1.Lines.Count - 1 do
inc(suma, StrToInt(Memo1.Lines[i]);

Lo puse de memoria, no tengo Dephi a mano en estos momentos.

Ivan.... no se vale... yo estaba respondiendo al chico... XD.

Saludos,

RoyTan
02-02-2008, 01:05:20
Perfecto, gracias a todos.

Y perdonad mi tardanza a la hora de contestar, pero he tenido que ausentarme y no he podido hacerlo antes.


Gracias de nuevo.