Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Bases de datos > Tablas planas
Register FAQ Members List Calendar Guía de estilo Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 28/02/2005
AGAG4's Avatar
AGAG4 AGAG4 is offline
Miembro
 
Join Date: Aug 2004
Location: Los Mochis, Sinaloa, México
Posts: 1,420
Poder: 24
AGAG4 Va por buen camino
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.
Reply With Quote
  #2  
Old 28/02/2005
marcoszorrilla's Avatar
marcoszorrilla marcoszorrilla is offline
Capo
 
Join Date: May 2003
Location: Cantabria - España
Posts: 11,221
Poder: 10
marcoszorrilla Va por buen camino
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.
__________________
Guía de Estilo de los Foros
Quote:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Reply With Quote
  #3  
Old 28/02/2005
AGAG4's Avatar
AGAG4 AGAG4 is offline
Miembro
 
Join Date: Aug 2004
Location: Los Mochis, Sinaloa, México
Posts: 1,420
Poder: 24
AGAG4 Va por buen camino
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.

Last edited by AGAG4 : 28/02/2005 at 19:06. Reason: Corrección
Reply With Quote
  #4  
Old 28/02/2005
roman's Avatar
roman roman is offline
Moderador
 
Join Date: May 2003
Location: Ciudad de México
Posts: 20,269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Quote:
Originally Posted by 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

Last edited by roman : 28/02/2005 at 19:42.
Reply With Quote
  #5  
Old 28/02/2005
AGAG4's Avatar
AGAG4 AGAG4 is offline
Miembro
 
Join Date: Aug 2004
Location: Los Mochis, Sinaloa, México
Posts: 1,420
Poder: 24
AGAG4 Va por buen camino
ok....

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



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 23:07.


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