DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / Gestion des fichiers xBase
  • Présentation
  • Utilisation du Connecteur Natif xBase/FoxPro
  • Importation de la structure des tables
  • Les étapes de l'importation
  • Prendre en compte les évolutions des tables xBase/FoxPro
  • Les points importants concernant la programmation
  • Nouveautés pour la gestion des tables xBase/FoxPro
  • Description dynamique d'une table xBase
  • Ouverture de tables décrites dynamiquement
  • Ouverture d'index décrits dynamiquement
  • Liaisons entre les tables xBase ou FoxPro
  • Utilisation du Connecteur Natif xBase/FoxPro avec des alphabets non latin
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Connecteur Natif xBase/FoxPro
Connecteurs Natifs (Accès Natifs)Disponible uniquement avec ce type de connexion
Présentation
WINDEV et WEBDEV proposent un module Connecteur Natif xBase/FoxPro (également appelé Accès Natif xBase/FoxPro). Ce Connecteur Natif permet de manipuler des tables xBase/FoxPro sans drivers externes depuis un programme en WLangage.
Configuration nécessaire: Les fichiers suivants sont livrés en standard avec WINDEV et WEBDEV: wd300db.dll. Ce fichier est nécessaire au Connecteur Natif sur des fichiers xBase/FoxPro pour un fonctionnement avec un schéma des données HFSQL Classic.
Utilisation du Connecteur Natif xBase/FoxPro
Pour utiliser le Connecteur Natif xBase/FoxPro dans vos applications WINDEV ou WEBDEV:
  1. Importer si nécessaire les descriptions des tables xBase/FoxPro dans le schéma des données WINDEV ou WEBDEV.
  2. Programmer avec les fonctions HFSQL du WLangage.
La gestion des tables xBase/FoxPro est similaire à celle des tables HFSQL à l'exception des points évoqués dans cette page d'aide.
Importation de la structure des tables

Les étapes de l'importation

  1. Sous l'éditeur de schémas des données, lancez l'assistant d'importation: sous le volet "Schéma des données", dans le groupe "Création", déroulez "Importer" et sélectionnez "Importer des descriptions de fichiers/tables".
  2. Sélectionnez le type de la base de données: xBase. Une connexion à la base de données xBase/FoxPro est automatiquement créée et associée aux tables importées dans le schéma des données. Cette connexion devra être utilisée pour manipuler la table xBase/FoxPro par programmation.
  3. Spécifiez si les données doivent être conservées au format actuel (option nécessaire pour utiliser le Connecteur Natif xBase/FoxPro).
  4. Sélectionnez le mode d'accès aux tables (Connecteur Natif xBase pour WINDEV) et indiquez le répertoire des tables.
  5. Sélectionnez les tables à importer dans le schéma des données WINDEV. Ces tables pourront être manipulées par programmation grâce aux fonctions HFSQL de WINDEV. Ces tables apparaîtront en bleu sous l'éditeur de schémas des données.
    Remarque: les bases de données FoxPro (extension .dbc) ne sont pas gérées. Il est nécessaire d'importer individuellement chaque table (extension .dbf) dans le schéma des données.
  6. Validez. Les tables sont importées dans le schéma des données. Dans la description des tables, vous retrouvez le sous-type xBase de la table importée (dBase3+, dBase4, FoxPro/FoxBase, Clipper5, Clipper87).
Remarques:
  • Une rubrique définie en Numérique sous FoxPro peut être importée en tant que monétaire sous WINDEV et WEBDEV (si la taille de la rubrique dépasse par exemple la taille d'un réel).
  • Les rubriques de type Logique en xBase/FoxPro sont importées en type Texte. En effet, pour un booléen en xBase, il est possible d'indiquer Vrai et Faux avec les chaînes 'T' et 'F'.

Prendre en compte les évolutions des tables xBase/FoxPro

Pour prendre en compte les évolutions des tables importées sous l'éditeur de schéma des données, sous le volet "Schéma des données", dans le groupe "Schéma des données", déroulez "Synchronisation" et sélectionnez "Mettre à jour le schéma des données depuis les bases de données externes".
Un assistant se lance et permet au choix:
  • soit d'analyser les différences pour les tables importées,
  • soit d'analyser les différences pour toutes les tables xBase/FoxPro.
Les points importants concernant la programmation

Nouveautés pour la gestion des tables xBase/FoxPro

La gestion des tables xBase/FoxPro est similaire à celle des tables HFSQL à l'exception des points évoqués dans cette page d'aide.
Nouveautés pour la gestion des tables xBase depuis WINDEV 5.5:
  • Gestion d'un identifiant automatique.
  • Possibilité d'utiliser la fonction HRéindexe.
  • Gestion des expression dans la fonction HFiltre.
  • Possibilité d'utiliser la fonction HChangeRep.
  • Utilisation de l'accès natif xBase avec des alphabets non latin.
Gestion des tables FoxPro:
  • Support des mémos au format VFP.
  • Tous les formats d'index sont supportés (y compris les index au format VFP correspondants à l'extension .CDX). Les index sont lus et modifiés.
  • Gestion d'un identifiant automatique.
  • Gestion des expressions dans la fonction HFiltre.
  • Possibilité d'utiliser la fonction HChangeRep.
  • Limitation: il n'est pas possible de réindexer un fichier FoxPro.
  • Limitation: il n'est pas possible de créer un fichier FoxPro.

Description dynamique d'une table xBase

Une table xBase peut être décrite par programmation à l'aide des fonctions suivantes:
HDBCréeTermine la description dynamique de la structure de la table. La table qui vient d'être décrite est créée sur le disque dans le chemin indiqué dans HDBDécritTable. Les tables, mémos et d'index sont créés sur le disque.
HDBDécritIndexDécrit dynamiquement les différents fichiers d'index qui seront créés. Un fichier d'index doit être décrit pour chaque clé de recherche. Le fichier d'index créé sera au format dBase 3.
HDBDécritRubriqueDécrit dynamiquement chaque rubrique de la structure d'une table xBase décrit avec HDBDécritTable.
HDBDécritTableDécrit dynamiquement une table au format dBase 3 (format le plus répandu). Cette fonction permet d'indiquer le nom, l'abréviation et le chemin d'accès à la table xBase.
Exemple:
// Description d'une table xBase avec les rubriques suivantes:
// NOM, chaîne de 20 caractères
// PRENOM, chaîne de 20 caractères
// AGE, entier sur 3 chiffres
// SOLDE, réel sur 10 chiffres et 2 décimales
// MARIE, booléen
// DATNAISS, date
// INFOS, mémo texte

HDBDécritTable("CLIENTDB", "CD", "C:\FIC\CLIENT.DBF")
HDBDécritRubrique("NOM,C,20")
HDBDécritRubrique("PRENOM,C,20")
HDBDécritRubrique("AGE,N,3,0")
HDBDécritRubrique("SOLDE,N,10,2")
HDBDécritRubrique("MARIE,L")
HDBDécritRubrique("DATNAISS,D")
HDBDécritRubrique("INFOS,M")
HDBCrée()
Remarque: il n'est pas possible de décrire dynamiquement des tables FoxPro. Seul le format dBase 3 est géré.

Ouverture de tables décrites dynamiquement

Une table xBase n'est pas automatiquement ouverte: il faut ouvrir cette table avec la fonction HDBOuvre avant sa première utilisation, sauf si elle a été créée avec la fonction HDBCrée (qui crée et ouvre la table).

Ouverture d'index décrits dynamiquement

La fonction HDBOuvre ouvre la table mais pas le ou les fichiers d'index. Il faut donc ouvrir toutes les tables d'index nécessaires à l'utilisation de la table avec la fonction HDBIndex.
Si le ou les fichiers d'index ne sont pas ouverts, ils ne seront pas mis à jour après une suppression, une modification ou une adjonction d'un enregistrement.

Liaisons entre les tables xBase ou FoxPro

Les liaisons ne sont pas gérées automatiquement par WINDEV et WEBDEV. Il faut les gérer par programmation. Ainsi, pour accéder à un enregistrement d'une table liée, il faut rechercher l'enregistrement correspondant selon la clé de liaison (fonction HLitRecherche).
Une fenêtre affiche les commandes d'un client, la table "COMMANDE" contient le numéro du produit, la table "PRODUIT" contient le libellé du produit et le numéro du produit. Le traitement d'initialisation de la fenêtre est par exemple:
// Lecture des commandes
HLitPremier(COMMANDE, Date_Cde)
SI HEnDehors() = Faux ALORS
	// Recherche du produit correspondant
	HLitRecherche(PRODUIT, NumPro, COMMANDE.NumPro)
	DonnéesVersFenêtre()
FIN

Utilisation du Connecteur Natif xBase/FoxPro avec des alphabets non latin

Pour utiliser le Connecteur Natif xBase avec des alphabets non latin, il est nécessaire de demander au Connecteur Natif d'effectuer une conversion OEM/ANSI standard. Il suffit pour cela de spécifier dans les informations étendues la chaîne suivante:
OEMTOANSI=WINDOWS;
Exemple:
  1. Ajouter dans le code d'initialisation du projet, le code permettant de modifier l'alphabet:
    ChangeAlphabet(alphabetChinois)
  2. Créer une connexion xBase:
    HDécritConnexion("CnxXBase", "", "", fRepExe(), "", hAccèsNatifXBase, ...
    		hOLectureEcriture, "OEMTOANSI=WINDOWS;")
    HChangeConnexion("*", "CnxXBASE")
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/03/2025

Signaler une erreur ou faire une suggestion | Aide en ligne locale