Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como almacenar datos de un memo (https://www.clubdelphi.com/foros/showthread.php?t=68039)

rufo 20-05-2010 22:04:44

Como almacenar datos de un memo
 
Hola amigos aqui de nueva cuenta consultandolos para una duda que me tiene algo atoradillo resulta que tengo un memo que contiene datos numericos pero al darle la instruccion para que me lo guarde en mi base de datos en el campo seleccionado me marca error, quiero indicarles que el campo tiene como tipo numerico ya que tengo un reporte en el cual hago una suma y me es necesario tenerlo asi el campo, les anexo parte de mi codigo para que me echen una mano.

Código:

fieldbyname('cant').Asinteger := StrToInt(memo1.Lines[x]);
Este es el codigo para ver en que estoy mal, de antemano gracias.

DarkMan 20-05-2010 22:08:15

¿Qué error te marca? ¿List index out of bounds?

El código está bien, si se produce el error que te he mencionado, quiere decir que estas intentando acceder a un elemento que no existe, esto es, (x < 0) ó (x > memo1.lines.count-1). En otro caso, se me ocurre que tal vez la línea contenga espacios o caracteres antes, entre o después de los datos numéricos.

Un saludo.

rufo 20-05-2010 22:14:00

No el error que me sale es este "exception class EconvertError with message "600,00' is not a valid integer value', en el cual me indica que hay un error al convertir el valor ya que el objeto memo tiene datos de texto y yo quiero convertir a datos numericos para que me almacene en el campo y en la cuestio de x es una variable que la tengo ya declarada, espero que me ayuden a decirme como convertir un dato del objeto memo a numero y almacenarlo y gracias de nuevo.

DarkMan 20-05-2010 22:16:49

El dato numérico no es un entero por lo que veo, es real. Debes utilizar un conversor a real: StrToFloat en lugar de StrToInt.
Edito:
Si lo que quieres es extraer solo la parte entera, utiliza la función Trunc(x: Real):


Cita:

fieldbyname('cant').Asinteger := Trunc(StrToFloat(memo1.Lines[x]));

rufo 20-05-2010 23:43:43

No amigo sigue en el mismo error ya lo intente de las dos que me expones pero nada.


La franja horaria es GMT +2. Ahora son las 04:30:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi