Página 1 de 1

Tipos de campos para todos los RDD en xHarbour

Publicado: Jue Ene 04, 2007 11:54 am
por ignacio
Alguien tiene información acerca de todos los tipos de nuevos campos para
ficheros DBF que soporta xHarbour y para que RDDs están disponibles cada uno
de ellos.
Gracias de antemano.
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com

Tipos de campos para todos los RDD en xHarbour

Publicado: Vie Ene 05, 2007 9:53 am
por Thefull
Ignacio Ortiz de Zúñiga escribió:
> Alguien tiene información acerca de todos los tipos de nuevos campos para
> ficheros DBF que soporta xHarbour y para que RDDs están disponibles cada uno
> de ellos.
>
> Gracias de antemano.
>
Ostras, no sabia que habia nuevos tipos de campos....
Me encanta la información que existe en xHarbour sobre ello.( modo irónico )
Al igual en los Changelog existe alguna info.
Lo que si se es lo de los indices autocontenidos, que se abren
automaticamente , porque en la cabecera DBF se lo indica. (mas o menos)
Seria interesante si descubres alguna cosa, reportarla.
Saludos
Rafa Carmona

Tipos de campos para todos los RDD en xHarbour

Publicado: Vie Ene 05, 2007 11:16 am
por ignacio
Rafa,
En una antigua documentación de xHarbour se indica lo siguiente:
xHarbour RDD
Listing of the features and behaviour of database files in xHarbour:
- the maximum file size of the database file is calculated as follows:
'record size' * 2^32, which clearly removes the 2GB file size limit. Note
that FAT32 systems have a maximum file size of 4GB.
- locking schemes can be set at runtime by the user and are bound to a
specific work area. This makes it possible to share data with different
xBase compilers at the same time. All clipper locking schemes are supported
(including VFP) and additional new 64bit locking schemes for files over 4GB.
- additional field types are suported:
- "D", 3, 0: compressed binary date.
- "B", 8, <n>: binary IEE754 double where the 'n' parameter is the default
number of decimals.
- "I", <n>, 0: binary integer stored in 'n' bytes. The value of 'n' can be
set to 1, 2, 3, 4 or 8.
- "M", 4, 0: binary pointer to memo fields stored in 4 bytes and which can
be used with any memo driver.
- "8", 8, <n>: same as""B", 8, <n>.
- "1", 1, 0: the same as "I", 1, 0.
- "2", 2, 0: the same as "I", 2, 0.
- "1", 4, 0: the same as "I", 4, 0.
- "F", <n>, <n>: like "N" fields.
Also, additional options to 'dbInfo()', 'dbRecordInfo()', 'dbFieldInfo()',
'dbOrderInfo()' and the possibility to alter some values (which are fixed in
clipper
Además se que se soportán tambien los campos varifield típicos de SIX:
- V3: fechas empaquetadas en tres bytes, supongo que igual que D3
- V4: Integer de 32 bits, supongo que igual que I4
- V>6: Con este tipo de campo se supone que lo que excede de la longitud se
guarda automaticamente en un campo MEMO. Además este tipo de campo admite
cualquier valor, incluso NIL.
Pero no se cuales tipos funcionan con que RDDs, ni tampoco se si pueden
hacer índices basados en dichos campos.
La verdad es que sería un fantástico artículo para un blog. No miro a
nadie.;-)
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"thefull" <thefull@wanadoo.es> escribió en el mensaje
news:[email=459e11ef@news.xailer.com...]459e11ef@news.xailer.com...[/email]
> Ignacio Ortiz de Zúñiga escribió:
>> Alguien tiene información acerca de todos los tipos de nuevos campos para
>> ficheros DBF que soporta xHarbour y para que RDDs están disponibles cada
>> uno de ellos.
>>
>> Gracias de antemano.
>>
> Ostras, no sabia que habia nuevos tipos de campos....
>
> Me encanta la información que existe en xHarbour sobre ello.( modo
> irónico )
> Al igual en los Changelog existe alguna info.
>
> Lo que si se es lo de los indices autocontenidos, que se abren
> automaticamente , porque en la cabecera DBF se lo indica. (mas o menos)
>
> Seria interesante si descubres alguna cosa, reportarla.
>
> Saludos
> Rafa Carmona

Tipos de campos para todos los RDD en xHarbour

Publicado: Vie Ene 05, 2007 1:11 pm
por Thefull
Como siempre, gracias Ignacio.
Saludos
Rafa Carmona

Tipos de campos para todos los RDD en xHarbour

Publicado: Vie Ene 05, 2007 4:29 pm
por Manu
La mejor manera de enterarse de los tipos de datos soportados es ir a
verlos al corazón de xHarbour, mira esto:
case DBS_TYPE:
switch( pField->uiType )
{
case HB_IT_STRING:
hb_itemPutC( pItem, "C" );
break;
case HB_IT_LOGICAL:
hb_itemPutC( pItem, "L" );
break;
case HB_IT_MEMO:
hb_itemPutC( pItem, "M" );
break;
case HB_IT_ANY:
hb_itemPutC( pItem, "V" );
break;
case HB_IT_DATE:
hb_itemPutC( pItem, "D" );
break;
case HB_IT_LONG:
hb_itemPutC( pItem, "N" );
break;
case HB_IT_INTEGER:
hb_itemPutC( pItem, "I" );
break;
case HB_IT_DOUBLE:
hb_itemPutC( pItem, "B" );
break;
default:
hb_itemPutC( pItem, "U" );
break;
}
break;
Es parte de la función hb_waFieldInfo() en el fuente WorkArea.c ;-)
Saludos y que los Reyes Magos te traigan muchas cosas :-)
thefull escribió:
> Como siempre, gracias Ignacio.
>
> Saludos
> Rafa Carmona

Tipos de campos para todos los RDD en xHarbour

Publicado: Mar May 22, 2007 12:16 am
por Miguel Angel Marchuet
Los nuevos tipos son los siguientes:
P Picture Se almacena como un memo (foxpro compatible)
G General Se almacena como un memo (foxpro compatible y dbase V)
en windows se usa para almacenar loas datos de los objetos OLE y su clase
@ TimeStamp Almacena un dato tipo datetime y no hace falta informar su
valor se graba automaticamente al añadir el registro, aunque es del tipo
set/get
T DateTime Almacena valores datetime, y como el anterior es
compatible con (foxpro)
en poco tiempo tengo pensado subir autoincrementales para campos de tipo I
enteros
los campos autoincrementales no se setearan como hasta ahora, sino como un
flag extended, todavia estoy dudando como hacerlo
pues la idea es soportar en poco tiempo todos los formatos DBF existentes.
Cualquier otra cosa me podeis preguntar directamente,
Saludos,
Miguel Angel Marchuet