| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
JesúsGandia Master


Registrado: 17 Jul 2004Mensajes: 403Ubicación: Gandia, Valencia
|
Publicado: Jue 18 Jun, 2009 7:40 pm Asunto: Acceder a DisplayFormat en tiempo de Ejecución |
|
|
| Código: |
IBQuery->Close();
IBQuery->Fields->Clear();
IBQuery->SQL->Clear();
IBQuery->SQL->Add("SELECT * FROM tabla;");
IBQuery->Open();
//Forfar el campo a un tipo numerico y ya puedes utilizar
//la propiedad DisplayFormat como te plazca
//Naturalmente se puede acceder al campo por Fields[Numero Campo] o
//FieldByname("Nombre Campo")
static_cast<TFloatField>(IBQuery->Fields->Fields[0])->DisplayFormat = "#,0.00 Euros" ;
static_cast<TFloatField>(IBQuery->Fields->Fields[1])->DisplayFormat = "#,0.00 Euros" ;
|
_________________ Muchos hombres no se equivocan jamás porque no se proponen nada razonable. |
|
| Volver arriba |
|
 |
juanma Cmdr

Registrado: 17 Nov 2005Mensajes: 127Ubicación: Almeria - España
|
Publicado: Vie 19 Jun, 2009 9:59 am Asunto: |
|
|
Hola Jesus,
No se si preguntas o aclaras algo, pero el motivo de responder aqui es porque en principio pensaba que la mascara del formato que usas no era correcta, yo siempre he usado "#,##0.00" para lo mismo.
Así que ante mi duda la he probado.
| Código: | lbMsk->Caption = FormatFloat("#,0.00 Euros", 12.3); // Ok. 12,3 Euros
lbMsk->Caption = FormatFloat("#,0.00 Euros", 3012.3); //Ok. 3.012,3 Euros |
Este mensaje es para confirmar a los que como yo creian que la mascara correcta era "#,##0.00", pueden usar esta mas corta "#,0.00"
Gracias, siempre se aprende algo nuevo.
Saludos |
|
| Volver arriba |
|
 |
JesúsGandia Master


Registrado: 17 Jul 2004Mensajes: 403Ubicación: Gandia, Valencia
|
Publicado: Vie 19 Jun, 2009 4:54 pm Asunto: |
|
|
El post anterior era una ACLARACION sobre como utilizar DisplayFormat en tiempo de Ejecución sobre campos que se creen dinamicamente.
Nada tiene que ver con FormatFloat() para salidas con formato. De todos modos vienvenido sea tu post. _________________ Muchos hombres no se equivocan jamás porque no se proponen nada razonable. |
|
| Volver arriba |
|
 |
Ricardo_Bcn Cdt

Registrado: 22 Dic 2010Mensajes: 3Ubicación: Barcelona (España)
|
Publicado: Sab 29 Oct, 2011 7:29 pm Asunto: |
|
|
Hola Jesus,
He usado tu codigo tal como lo pones arriba de la siguiente forma:
| Código: |
static_cast<TFloatField>(Temporal->FieldByName("Campo"))->DisplayFormat = "#,##0.00;;#";
|
Pero el compilador me da los siguientes errores:
[BCC32 Error] Modulo1.cpp(358): E2459 VCL style classes must be constructed using operator new
[BCC32 Error] Modulo1.cpp(358): E2288 Pointer to structure required on left side of -> or ->*
¿ Estoy haciendo algo mal ?
Uso el Builder 2009
Un saludo. |
|
| Volver arriba |
|
 |
JesúsGandia Master


Registrado: 17 Jul 2004Mensajes: 403Ubicación: Gandia, Valencia
|
Publicado: Lun 31 Oct, 2011 4:38 pm Asunto: |
|
|
El objeto IBQuery tiene que estar creado en el formulario o crearlo dinamicamente antes de poder utilizarlo. _________________ Muchos hombres no se equivocan jamás porque no se proponen nada razonable. |
|
| Volver arriba |
|
 |
|