Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-02-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
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.
Responder Con Cita
  #2  
Antiguo 28-02-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: 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
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 28-02-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
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.

Última edición por AGAG4 fecha: 28-02-2005 a las 19:06:36. Razón: Corrección
Responder Con Cita
  #4  
Antiguo 28-02-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: 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
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

Última edición por roman fecha: 28-02-2005 a las 19:42:10.
Responder Con Cita
  #5  
Antiguo 28-02-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
ok....

Muchas Gracias Roman, voy a probarlo de seguro va a funcionar....
Que tenga buen día.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 06:01:40.


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
Copyright 1996-2007 Club Delphi