Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Crear Campo Float Determinando Tamaño y Decimales en DBF (https://www.clubdelphi.com/foros/showthread.php?t=18961)

AGAG4 28-02-2005 17:44:20

Crear Campo Float Determinando Tamaño y Decimales en DBF
 
Lo que pasa es que ya tengo el codigo para crear una tabla(DBF-dBase) con sus respectivos campos pero no encuentro la forma de que cuando se crea un campo de tipo DataType := ftFloat; de especificarle cuandos enteros y Decimales va a contener sin tener que modificarle MANUALMENTE después en el Databse DeskTop..

Agradezco cualquier sugerencia.

marcoszorrilla 28-02-2005 18:31:34

Sino recuerdo mal había que elegir el campo del tipo Decimal y así te permitía al estilo Dbase decir cuantos dígitos decimales iba a tener, al menos en SQL.

Un Saludo.

AGAG4 28-02-2005 19:02:31

No me explique
 
Lo que pasa es que tengo este codigo en Delphi para Crear una Tabla DBF con sus respectivos campos:
Código Delphi [-]
    with Table do begin
      Active := False;
      DatabaseName := ExtractFileDir(edRutadbf.text);
      TableType := ttDBase;
      TableName := ExtractFileName(edRutadbf.text);
      if not Table.Exists then begin
        with FieldDefs do begin
          Clear;
          if Campo1.Text<>'' then begin
            with AddFieldDef do begin
              Name := Campo1.text;
              DataType := ftString;
              Size := 15;
    //          Required := True;
            end;
          end else begin
            ShowMessage('Para Importar, Debe de Escribir Nombre a Campo1');
            abort;
          end;
          if Campo2.Text<>'' then begin
            with AddFieldDef do begin
              Name :=Campo2.text;
              DataType := ftFloat;
            Size := 14;
            end;
          end else begin
            ShowMessage('Para Importar, Debe de Escribir Nombre a Campo2');
            abort;
          end;
          if Campo3.Text<>'' then begin
            with AddFieldDef do begin
              Name :=Campo3.text;
              DataType := ftFloat;
//              Size:=12;
            end;
          end;
        end;
        CreateTable;
....
Lo que quiero es especificar de cuantos ENTEROS y de Cuantas DECIMALES se conforman los campos de tipo ftFloat , es lo unico que ando investigando... no lo quiero hacer MANUALMENTE, si le pongo SIZE:=15 después de asignarle el tipo de dato me marca error "Invalid Field SIZE" solamente puedo asignarle un TAMAÑO a un Campo de tipo STRING.

Que tenga buen día ... y gracias por su respuesta.

roman 28-02-2005 19:39:51

Cita:

Empezado por AGAG4
si le pongo SIZE:=15 después de asignarle el tipo de dato me marca error "Invalid Field SIZE" solamente puedo asignarle un TAMAÑO a un Campo de tipo STRING.

Pues sí, como seguramente ya habrás leído en la ayuda de Delphi, Size únicamente vale para campos de tipo ftString, ftBCD, ftBytes, ftVarBytes, ftBlob, ftMemo o ftGraphic.

Sin embargo, al menos con DBase III+, si en lugar de usar ftFloat usas ftBCD, puedes crear un campo de tipo NUMERIC poniendo en Size el número de decimales y en Precision el número total de dígitos (creo que esto incluye el punto decimal, no estoy seguro).

// Saludos

AGAG4 28-02-2005 19:51:48

ok....
 
Muchas Gracias Roman, voy a probarlo de seguro va a funcionar....
Que tenga buen día.


La franja horaria es GMT +2. Ahora son las 21:40:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi