![]() |
![]() |
![]() |
![]() |
![]() |
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
|
|||
|
|||
Buenos días chicos,
Lo de strtofloat y .AsCurrency lo puse porque buscando alternativas, probé también eso y veo que de esa forma me sigue asignando un 0. Vuelvo a hacerlo con más calma aclarando las variables, quizás como dice Casimiro, al hacerlo rápido no fui muy limpio.
Todo eso, me asigna todo el rato un 0 salvo sPrecio, que me guarda un 105; Para buscar alternativas, he hecho lo de guardar el valor en un campo de una tabla y luego recogerlo de nuevo. El campo de la tabla es money Me lo guarda correctamente, y al recuperarlos, me sigue guardando un 0 salvo en la variable string que me lo guarda correctamente:
He revisado lo que comenta movorack por si acaso y no existe otra función en el programa y al seguirla me lleva correctamente a SysUtils. Como estoy guardando el valor en las variables de varias formas, tanto usando los métodos de sysutils como los del ADOQuery y con todos me guarda un 0, pues por eso os decía lo de que creía que había algún problema al guardar. No se, estoy bastante despistado. He usado mas veces en otros sitios estas conversiones y no he tenido problemas salvo la otra vez hace tanto tiempo que os comenté. He probado a hacer un Clean del proyecto, pero nada. Edito**: Había insertado imágenes con la watch list desde delphi pero se ve que no me lo ha cogido |
#2
|
|||
|
|||
Hola chicos,
Creo que he dado con la clave, el problema está en el ámbito de las variables o algo de eso. Cuando hago la asignación a cualquier variable que declaro dentro del procedimiento, me las deja a 0, salvo las de tipo string, pero si declaro una variable global, en esa si que me guarda bien el dato. El procedimiento lo tengo declarado dentro de la clase del formulario principal, pero he probado a declarar el procedimiento en distintos sitios, incluso global y nada. Solo me asigna bien el valor si lo meto en una variable global. |
#3
|
||||
|
||||
Quizás tengas el mismo nombre de variable gobal y de procedimiento y eso te esté confundiendo...
Si utilizas varables globales la recomendación es ponerles un prefijo para no mezclarlas con otras de ámbito más restringido Por ejemplo "GLB_Precio".
|
#4
|
|||
|
|||
Hola!!!
Al final lo he solucionado usando variables globales. Las variables globales siempre les pongo otro prefijo para distinguirlas y no hay otra con ese nombre, igualmente, el valor se lo asigno dentro de la función y la uso dentro de la función, es una variable local y lo que hace es que no me deja asignarle ningún valor, se queda a 0. Me pasa con las tipo numérico no con las string, asique debe ser algo de acceso a memoria o yo que se jeje. |
#5
|
||||
|
||||
Cita:
Pon tu proyecto, o un ejemplo de tu proyecto, para que le demos un vistazo, así lo solucionamos "de verdad", |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Errores en la conversión usando StrToFloat | juggern | Varios | 2 | 07-09-2020 02:30:37 |
StrToFloat en Delphi 2010 y windows 7 | edgwin | Varios | 5 | 11-10-2010 18:32:38 |
Listview Problema en StrToFloat | pablonill | OOP | 3 | 01-08-2008 13:01:17 |
StrtoFloat | mjjj | Varios | 2 | 27-12-2007 18:32:06 |
Problemas con StrToFloat | MaMu | Varios | 1 | 08-07-2007 09:25:10 |
![]() |
|