Hola
ecfisa, gracias por la respuesta.
Uso tablas
Paradox y las creo de la siguiente forma
Código:
#include <memory>
...
std::auto_ptr<TTable> Temporal1(new TTable(NULL));
Temporal1->DatabaseName = "";
Temporal1->TableType = ttParadox;
Temporal1->TableName = "TmpArticulos";
Temporal1->FieldDefs->Add("Contador", ftAutoInc, 0, False);
Temporal1->FieldDefs->Add("Paso", ftInteger, 0, False);
Temporal1->FieldDefs->Add("TipoPaso", ftInteger, 0, False);
Temporal1->FieldDefs->Add("ReferenciaInterna", ftString, 20, False);
Temporal1->FieldDefs->Add("Referencia", ftString, 20, False);
Temporal1->FieldDefs->Add("Denominacion", ftString, 50, False);
Temporal1->FieldDefs->Add("TipoMaterial", ftFloat, 0, False);
Temporal1->FieldDefs->Add("Lote", ftFloat, 0, False);
Temporal1->FieldDefs->Add("Peso", ftFloat, 0, False);
Temporal1->FieldDefs->Add("Unidades", ftFloat, 0, False);
Temporal1->FieldDefs->Add("Almacen", ftString, 10, False);
Temporal1->FieldDefs->Add("Seleccionado", ftBoolean, 0, False);
Temporal1->IndexDefs->Add("", "Contador", TIndexOptions() << ixPrimary);
Temporal1->IndexDefs->Add("TmpReferencia", "ReferenciaInterna;Referencia", TIndexOptions() << ixCaseInsensitive);
Temporal1->CreateTable();
Esto me lo hace sin problemas y me la crea en el directorio del ejecutable.
Después asigno la tabla a un componente
TTable de la siguiente manera.
Código:
tbTmpArticulos->DatabaseName = "";
tbTmpArticulos->TableName = "TmpArticulos.db";
tbTmpArticulos->IndexName = "TmpReferencia";
tbTmpArticulos->Active = true;
Y por último más adelante es cuando quiero aplicar el
DisplayFormat a cualquier campo del tipo
Float de la siguiente manera
Código:
static_cast<TFloatField>(tbTmpArticulos->FieldByName("Lote"))->DisplayFormat = "#,##0.00;;#"
El ejemplo que has puesto tu (si no me equivoco) es para añadir un nuevo campo a una tabla ya creada, y lo he probado de la siguiente manera y no me funciona
Código:
TFloatField *NewField = new TFloatField(tbTmpArticulos->FieldByName("Peso"));
NewField->DisplayFormat = "#,##0.00;;#";
Un saludo.