PDA

Ver la Versión Completa : campo numerico en KBM


Viky
28-01-2013, 19:00:08
Hola, como puedo hacer para que un campo de un kbm que tiene valores numericos me muestre con punto de mil y 2 lugares decimales??

ejemplo 6058 que me muestre 6.058,00

Gracias
Viky

movorack
28-01-2013, 19:05:56
Hola viky,

Puedes usar Format (http://www.delphibasics.co.uk/RTL.asp?Name=Format)



var
text : string;
begin
// Just 1 data item
ShowMessage(Format('%s', ['Hello']));

// A mix of literal text and a data item
ShowMessage(Format('String = %s', ['Hello']));
ShowMessage('');

// Examples of each of the data types
ShowMessage(Format('Decimal = %d', [-123]));
ShowMessage(Format('Exponent = %e', [12345.678]));
ShowMessage(Format('Fixed = %f', [12345.678]));
ShowMessage(Format('General = %g', [12345.678]));
ShowMessage(Format('Number = %n', [12345.678]));
ShowMessage(Format('Money = %m', [12345.678]));
ShowMessage(Format('Pointer = %p', [addr(text)]));
ShowMessage(Format('String = %s', ['Hello']));
ShowMessage(Format('Unsigned decimal = %u', [123]));
ShowMessage(Format('Hexadecimal = %x', [140]));
end;


Hello
String = Hello

Decimal = -123
Exponent = 1.23456780000000E+004
Fixed = 12345.68
General = 12345.678
Number = 12,345,68
Money = ?12,345.68
Pointer = 0069FC90
String = Hello
Unsigned decimal = 123
Hexadecimal = 8C

Viky
29-01-2013, 12:56:42
El valor que quiero formatear esta dentro de un campo en un kbm, como coloco esto valor dentro del arreglo que pide como argumento el format ??
En el ejemplo que se muestra es con arreglo de constantes.

movorack
29-01-2013, 13:32:52
Debí hacer primero la pregunta ¿Que es un kbm?

TOPX
29-01-2013, 15:56:08
¿Que es un kbm?
Como a veces tengo ataques de OCD (http://en.wikipedia.org/wiki/Obsessive%E2%80%93compulsive_disorder) y algo de tiempo libre, me puse a buscar en los comentarios publicados por Viky y encontré en este hilo del 2008 (http://www.clubdelphi.com/foros/showthread.php?t=56631) que posiblemente un kbm se refiera a un TkbmMemTable (descendiente de TDataSet).

Siendo así, supongo que para dar formato al valor de un campo numérico, se podrá utilizar la propiedad DisplayFormat del (descendiente de) TField respectivo.

-

Viky
29-01-2013, 16:42:58
si, perdon por no aclarar, un kbm es un TkbmMemTable

Casimiro Notevi
29-01-2013, 16:45:51
si, perdon por no aclarar, un kbm es un TkbmMemTable

Menos mal, porque nuestra bola de cristal no funciona.