dBase a connu de nombreuses versions (et icônes !) et 4
versions de format de tables..
Ci-dessous des informations sur les améliorations ou modifications apportées d'une
version à l'autre.
Cela peut vous aider pour comprendre pourquoi une fonction ne fonctionne pas ou plus
comme vous le pensiez. Vous pouvez aussi déterminer quel apport vous procure une nouvelle
version par rapport a celle que vous utilisez.
Ces informations sont issues de la documentation de dBase Inc.
Ne cherchez pas une quelconque version 6.x de dBase.
Annoncée en 1996, elle est née en fait sous le nom de 7.0, comme le format des
tables dBase, il y a bien 3, 4, 5 et 7 mais pas de 6.
D'autres informations en français sur les versions de dBase : le bulletin Riff News
Dans sa vie, dBase a utilisé
différentes icônes en fonction de ses versions. Ci-dessous leur correspondance avec les
versions
dBase DOS 5.O
(dernière
version Dos avant l'arrivée en 2012 des dBase
Pro pour permettre d'utiliser les vieux
programmes
Dos dans les nouveaux environnements matériels et logiciels)
L'approche orientée objet a été introduite avec la version Visual 5.0
Visual dBase 5.5 à 5.7 (dernière version pour
processeurs 16 bits)
Visual dBase 7.0 à 7.5
dB2K (sortie en janvier 2001)
dBase Plus
dBase Plus 2.5 à 2.7
dBase Plus 2.8
(2012)
dBase Plus 8 (2013)
Dernières versions fonctionnanat aussi sous XP
dBase Plus 9
(2014) Versions Vista 32 bits et ultérieurs 32 et 64 bits
- Spécifications
Ce n'est pas une icône de dBase, mais cette image est
utilisée dans ce site pour les versions Dos jusqu'à dBase IV 2.0
Evolution des formats des tables dbf.
Il est possible de configurer dBase pour qu'il travaille avec une version antérieure.
Si la description des fichiers dBase vous intéresse des documents en anglais : un fichier, un lien.
AUTOINCREMENT
Le type autoincrement fais l'objet de discussions, certains le jugeant peu fiable et
s'appuient pour cela sur une mise en garde effectuée par Borland, concepteur du BDE,
d'autres l'utilise sans aucune difficulté particulière.
Vous pouvez consulter
l'ajout de JP Martel à l'article sur les tables du N°12 du dBulletin.
Le fil du Newsgroups:
dbase.programming débuté le 22 mars 2010 et ayant pour sujet : Autoincrement field
peut vous intéresser.
Comment changer un niveau de table pour une version inférieure.
Voir cette page.
Travailler avec des tables dbase III et le "bug de l'an 2000".
Ce
fil de discussion peut peut-être vous éclairer.
Ci-dessous, la fin de ce fil, afin que le code ne soit pas perdu si le lien était
rompu:
La fonction MDXbyte que j'ai mentionné et qui suit, a été conçue pour mettre
l'octet 28 dans l'en-tête à 0 ou 1 = off ou on. Dans votre cas, vous voudrez mettre
l'octet 1 à une valeur qui représente la partie année de la date depuis 1900 - 100 pour
satisfaire dBASE III +. Vous devriez être en mesure d'utiliser chr(year(date ()) - 1900
-100) pour y parvenir.
La fonction affiche le processus d'obtention d'un handle pour un fichier en mode
lecture/écriture en utilisant la fonction fopen(). Utilisation de fseek() pour passer à
l'octet cible. Et puis en utilisant fwrite() pour écrire une valeur sur l'octet cible.
Vous devrez être en mesure de modifier facilement en fonction de vos besoin. N'oubliez
pas que le décompte des octets est basé sur zéro de sorte que le premier octet du
fichier est l'octet zéro et le second dans le fichier que vous voulez travailler est
numéro 1.
Or toutes les erreurs de capture de code, vous pouvez l'exécuter ainsi à partir de la
fenêtre de commande de dBase Plus.
nHandle = fOpen("g:\data\db3plus\testing\bytetest.dbf","RW") |
fSeek(nHandle,1) |
fWrite(nHandle,chr(year(date()) - 1900 -100 )) |
fClose(nHandle) |
Vous pouvez également utiliser la classe File en OODML pour accomplir la même chose.
Gerald
FUNCTION MDXbyte |
*----------------------------------------------------------------------
|
*-- Programmer..: Bowen Moursund (CIS: 72662,436) |
*-- Date........: 05/21/1992 |
*-- Notes.......: Sets the MDX byte in a DBF header ON or OFF. |
*-- The DBF must not be open when the function is called. |
*-- Written for.: dBASE IV v1.5 |
*-- Rev. History: 05/21/1992 -- Original |
*-- Calls.......: dBASE low level file functions |
*-- Called by...: Any |
*-- Usage.......: MDXbyte(<cDBFpath>,<cOnOff>) |
*-- Example.....: lByteSet =
MDXbyte("mydbf.dbf","OFF") |
*-- Returns.....: .T. if successful |
*-- Parameters..: cDBFpath = the [path]filename.ext of the DBF |
*-- cOnOff = "ON" or "OFF" |
*----------------------------------------------------------------------
|
|
|
parameters cDBFpath,cOnOff |
private all |
|
|
cOnOff = upper(m->cOnOff) |
* check the validity of the parameters |
lSuccess = ( pcount() = 2 .AND. m->cOnOff $ "ON|OFF" .AND. ; |
file(m->cDBFpath) ) |
if lSuccess |
nHandle = fopen(m->cDBFpath,"RW") |
if m->nHandle > 0 |
if fseek(m->nHandle, 28) = 28 |
lSuccess = ( fwrite(m->nHandle,
iif(m->cOnOff="OFF",; |
chr(0),chr(1))) = 1 ) |
else |
lSuccess = .F. |
endif |
lClosed = fclose(m->nHandle) |
else |
lSuccess = .F. |
endif |
endif |
|
|
RETURN m->lSuccess |
*-- Eof() MDXbyte |
Groupes de discussion : dbase.programming
De : Gerald Lightsey <glights...@cox.net>
Date : Thu, 5 Feb 2004 01:30:46 -0800
Date/heure locale : Jeu 5 fév 2004 11:30
Objet : Re: dBase 3 plus tables |
Avec la modification des règles de sécurité de Microsoft pour ces logiciels
d'exploitations, des consignes particulières sont à respecter pour un fonctionnement des
versions antérieures à dBase Plus 2.70. Voir la
page sur ce point.
Si vous voyez des erreurs, si vous avez des compléments à apporter, n'hésitez pas à le signaler.
Retour à l'accueil
Dernière mise à jour :vendredi 29 août 2014 19:25
|