Ver Mensaje Individual
  #3  
Antiguo 30-10-2011
Kalondro Kalondro is offline
Registrado
NULL
 
Registrado: nov 2010
Ubicación: Barcelona - España
Posts: 5
Reputación: 0
Kalondro Va por buen camino
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.
Responder Con Cita