In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Tipos de campos para todos los RDD en xHarbour

Lenguaje de progamación XBase en español
Responder
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Tipos de campos para todos los RDD en xHarbour

Mensaje 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
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Thefull
Mensajes: 70
Registrado: Lun Oct 11, 2004 4:44 pm

Tipos de campos para todos los RDD en xHarbour

Mensaje 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
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Tipos de campos para todos los RDD en xHarbour

Mensaje 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
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Thefull
Mensajes: 70
Registrado: Lun Oct 11, 2004 4:44 pm

Tipos de campos para todos los RDD en xHarbour

Mensaje por Thefull »

Como siempre, gracias Ignacio.
Saludos
Rafa Carmona
Manu
Mensajes: 108
Registrado: Dom Sep 24, 2006 2:28 pm

Tipos de campos para todos los RDD en xHarbour

Mensaje 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
Miguel Angel Marchuet
Mensajes: 8
Registrado: Jue Dic 21, 2006 6:39 pm

Tipos de campos para todos los RDD en xHarbour

Mensaje 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
Responder