titre_site.jpg (51607 octets)

dBase et Foxpro

(En cours d'écriture)

Histoire
Exemple de code Foxpro / dBase
Conversion dBase -> FoxPro

 

1) Histoire
Foxpro et dBase sont des cousins dans les versions DOS. Foxpro a été racheté par Microsoft dans les années 1990, qui a lancé Visual Foxpro 3.0 mais l'a abandonné depuis 2007, la dernière version est la 9.0.

Le groupe de discussion Microsoft Microsoft.public.fr.fox est aussi officiellement fermé. Dommage car les contributeurs étaient très intéressants et très réactifs. Heureusement Google le conserve en archive. Mais des utilisateurs français résistent. Voir pour cela le message de Jean lors de la fermeture en juin 2010 qui donne des liens vers d'autres sites. On ne peut que recommander l'excellent site Atout Fox.

2) Exemple de code Foxpro / dBase

3) Conversion dBase -> FoxPro

Les programmeurs dBase et Foxpro ont parfois besoin de passer de l'un à l'autre.

Microsoft a indiqué en 2005 les indications pour convertir des fichiers dBase en Foxpro. Afin de ne pas perdre cette information (les pages sur Foxpro ont tendance à disparaître des sites de Microsoft depuis 2011), le texte de la page de Microsoft est copiée ci-dessous. Son intérêt est aussi de fournir des informations aux utilisateurs dBase sur les extensions des fichiers foxpro et des rapports entre les deux logiciels.

 

 

Les informations ci-dessous expliquent comment convertir des fichiers dBASE en fichiers FoxPro.

Dans FoxPro 2.x pour Windows, cette information figure également dans la rubrique «Changement à partir de dBASE» FoxPro version 2.6 aide. Pour atteindre directement cette rubrique dans FoxPro, choisissez dBASE aide à partir du menu Aide.

Plus d'informations

FoxPro version 2.6 a de nouveaux outils, ainsi que des commandes nouvelles et améliorées et des fonctions, pour optimiser la compatibilité de dBASE.

Le Gestionnaire du catalogue et la technologie AutoMigrate facilitent conversion des fichiers dBASE vers FoxPro. Le Gestionnaire du catalogue Active AutoMigrate et vous permet d'ouvrir et de manipuler des catalogues de dBASE existants et les fichiers. AutoMigrate fonctionne en arrière-plan pour convertir automatiquement vos fichiers dBASE pour une utilisation immédiate dans FoxPro en modifiant les tables dBASE et création de nouveaux écrans, états, étiquettes et requêtes basées sur le format des fichiers dBASE existants FoxPro. Conversion ne prend aucun effort de votre part et ne vous empêche pas d'utiliser les fichiers à nouveau dans dBASE.

À l'exception des tables avec des champs Mémo, tous vos fichiers dBASE d'origine restent intacts lorsqu'ils sont convertis pour une utilisation dans FoxPro. Si votre table comporte un index, AutoMigrate le reconstruit.

Dans FoxPro pour Windows, AutoMigrate transporte également automatiquement les fichiers à partir de MS-DOS à Windows. Pour plus d'informations sur le transport, consultez fichiers Transporting. requêtes de dBASE et programmes s'exécutent sans conversion. Ils sont automatiquement recompilés dans FoxPro.

Remarque : Programmes compilés dBASE (fichiers .QBO .FMO, .FRO, .LBO et .DBO) ne peut pas être exécutés dans FoxPro, sauf si le code source (.PRG) ou le fichier de conception (.QBE, .scr, .FRG, .lbl) est disponible.

Conversion des fichiers dBASE individuels vers FoxPro :

AutoMigrate convertit automatiquement dBASE fichiers lorsque vous :

Utiliser une table avec index existants ou d'un champ Mémo.
Utilisez ou choisir de modifier une requête.
Exécuter ou de modifier un écran.
Exécuter ou modifier un rapport.
Exécuter ou de modifier une étiquette.

Effets de la conversion :

Tables
(Databases)     AutoMigrate converts dBASE tables when you use them.
                See Converting Tables for details.

Queries         AutoMigrate converts dBASE queries when you modify
                them. See Converting Queries for details.

Screens (Forms) AutoMigrate converts dBASE forms to FoxPro screens
                when you modify or run them. Information about
                objects, fields, and so on is contained in a design
                file in dBASE. FoxPro copies the information in the
                dBASE file to a FoxPro .SCX file. Because of
                differences between MS-DOS and Windows, the appearance
                of your converted screens may need to be adjusted a
                little bit.

Reports
and Labels      AutoMigrate converts dBASE reports and labels when you
                modify or print them. See Converting Reports and
                Labels for details.

Programs        In most cases, no changes need to be made to dBASE
                programs. They are recompiled in FoxPro when you run
                them. See Converting Programs and Applications for
                details.
				

Conversion de tables

les tables dBASE qui ont des champs Mémo et/ou les index sont convertis lorsque vous les utilisez.

Tableaux crypté :

Si votre table est cryptée, vous devrez décrypter dans dBASE avant conversion peut avoir lieu.

Index :

FoxPro utilise un algorithme différent indexation que dBASE, par conséquent, si la table convertie possède un dBASE associé .MDX ou .NDX index, FoxPro automatiquement crée un index FoxPro .cdx ou .idx pour la table.

Pour utiliser une table dBASE IV avec un index et sans un champ Mémo dans dBASE après que FoxPro a été converti, ouvrez le fichier dans dBASE et de réindexation. Cette étape est nécessaire uniquement si vous avez modifié les données.

Tables avec des fichiers de Mémo :

Si une table dBASE a un ou plusieurs champs Mémo, FoxPro convertit automatiquement le fichier Mémo pour qu'il soit compatible avec FoxPro. Vous pouvez utiliser une table III dBASE ou une table dBASE IV avec un champ Mémo dans dBASE après que qu'il a été convertie en FoxPro.

Pour utiliser une table dBASE une fois qu'il a été converti en un format FoxPro :

  1. Dans le menu données, choisissez exporter... pour ouvrir la boîte de dialogue Exporter.
  2. Dans la boîte de dialogue Exportation, choisissez dBASE III/IV avec Mémo à partir du fichier type de fenêtre contextuelle.
  3. Choisissez Enregistrer sous... bouton pour entrer un nouveau nom pour la table.
  4. Choisissez Exporter.

Avertissement : Les champs Mémo de grande taille peuvent être tronqués lorsque reconverties en un format dBASE, après avoir utilisé cette procédure de conversion.

Conversion des rapports et des étiquettes

Lorsque FoxPro convertit des étiquettes et des rapports, FoxPro crée un fichier .FRx avec les informations à partir du fichier .frm dBASE et un fichier .LBX avec les informations à partir du fichier .lbl dBASE.

Ce qui convertit FoxPro :

FoxPro convertit toutes les bandes, les champs, les champs calculés, les champs masqués, image modèles et les fonctions pour les champs. FoxPro convertit également les attributs de style tels que gras, italique, souligné et couleurs. Polices ne sont pas convertis.

Bandes de retour automatique à la ligne sont convertis en une série de champs de texte d'une ligne dans les rapports de FoxPro. Informations de l'espacement et le pas de bande ne sont pas converties. FoxPro n'utilise pas une règle globale ou une règle de paragraphe retour automatique à la ligne, afin que ces informations ne sont pas conservées. Rapports convertis aura une marge droite égale à la largeur de l'état. La marge de gauche n'est pas modifiée, mais peut être définie dans le Générateur de rapport FoxPro

Rapports avec des caractères de tabulation peuvent doivent avoir leurs champs réorganisés afin d'obtenir l'apparence souhaitée.

Différences après la conversion :

Dans la mesure où les bandes de rapport vide s'imprime dans dBASE, FoxPro ajoute les caractères null à ces bandes afin qu'ils sont également imprimées dans FoxPro.

rapports dBASE ne stockent pas d'informations sur l'environnement complet, alias de base de données uniquement. Par conséquent, à l'ouverture d'un rapport converti, vous obtiendrez une erreur telle que «Customer.dbf introuvable». Rapports de FoxPro peuvent enregistrer les noms de base de données, les relations, les ignore et les informations d'index. Une fois dans le Générateur de rapports, configurer l'environnement de la façon dont vous le souhaitez, puis enregistrez ces informations avec ce rapport. Plus ce type d'erreur s'affiche.

Résolution des problèmes de rapports codés en dur :

Si l'état est codé en dur, plutôt que créé par le biais de l'outil de création de rapport de dBASE, vous souhaiterez peut-être garder à l'esprit les points suivants :

Intercalant??? contrôle direct imprimante commandes avec... SAY commandes peut provoquer un problème avec la sortie.
Si le rapport utilise @ commandes PROW() SAY pour diriger la sortie à l'imprimante, EJECT peut entraîner l'imprimante alimenter une nouvelle page avant que la totalité du @... SAY champs ont été envoyés à l'imprimante. Vous pouvez éviter ce problème en remplaçant EJECT avec @ 0,0 SAY "».
Assurez-vous que la commande SET imprimante TO est incluse à la fin de la boucle d'impression pour forcer la sortie à l'imprimante.

Conversion des requêtes

FoxPro vous permet de travailler avec trois types de requêtes : les requêtes SQL, requêtes pouvant être mis à jour (.FPQ) et, dans l'Édition Professionnel, pour les requêtes client-serveur (.CSQ). Lorsque vous modifiez une requête .QBE dBASE dans l'Assistant requête pouvant être mis à jour, FoxPro crée un fichier .FPQ.

Si vous ajoutez une fonction d'agrégation, telle que SUM() ou AVG() pour une requête de dBASE ou une requête .FPQ, FoxPro crée un fichier .QPR équivalent, à l'aide de SQL pour gérer la requête plus complexe.

Conversion des programmes et applications

En général, dBASE IV programmes et les applications s'exécutent inchangées dans FoxPro. Lorsque vous choisissez d'exécuter un programme de dBASE, FoxPro recompile le fichier .PRG dans un fichier .FXP et exécute le .FXP.

En raison des différences dans l'implémentation SQL, dBASE IV .PRS programmes ne peuvent pas être exécutées dans FoxPro.

Erreurs d'exécution :

Si un programme de dBASE génère une erreur d'exécution ou des résultats inattendus, vous pouvez déboguer le programme en utilisant l'outils, la trace et Debug de débogage de FoxPro.

La fenêtre de trace vous permet à l'étape à l'aide de votre code une ligne à la fois. La Fenêtre de débogage a deux panneaux. Dans le panneau gauche, vous pouvez saisir les variables ou des fonctions de FoxPro. Le volet droit affiche les valeurs de runtime assignée aux variables ou renvoyés par les fonctions. Pour plus d'informations sur le débogage dans FoxPro, consultez le chapitre «Menu de programme» de la FoxPro «Guide de l'utilisateur» et le chapitre «Débogage de votre application» de la FoxPro «Guide du développeur».

Erreurs de syntaxe :

Si une erreur de syntaxe se produit lorsque vous exécutez un programme, FoxPro met en surbrillance la ligne d'erreur dans une fenêtre de modification. Vous pouvez utiliser le fichier d'aide pour vérifier la syntaxe correcte et l'utilisation de la commande ou une fonction qui a provoqué l'erreur.

Conseils de débogage :

Assurez-vous que le programme n'inclut pas une des six commandes non pris en charge et les fonctions répertoriées dans non pris en charge dBASE IV commandes et fonctions.
Vérifiez que le programme dBASE n'est pas une procédure, fonction, variable ou un tableau nommé avec n'importe lequel des mots réservé de FoxPro.

Remarque : dBASE est fabriqué par un fournisseur indépendant de Microsoft ; nous n'offrons aucune garantie, implicite ou autre, concernant les performances ou la fiabilité de ce produit.

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
Microsoft Visual FoxPro 3.0 Édition Standard
Microsoft FoxPro 2.6 Édition standard
Microsoft FoxPro 2.6 pour MS-DOS
Mots-clés : 
kbmt kb3rdparty KB113942 KbMtfr

Traduction automatiqueTraduction automatique

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 113942  (http://support.microsoft.com/kb/113942/en-us/ )

 

retour

Sources :

Aide Visual dbase V5.5

http://www.dbase.com/Knowledgebase/INT/xb2vdb7oodml/x2oodml.htm

Dernière modification : samedi 05 novembre 2011

Si vous voyez des erreurs, n'hésitez pas à le signaler

Retour à l'accueil

©  M.A.