Lire des tables foxpro .dbf avec c++

Signaler
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
-
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
-
bonjour,
je cherche a faire une petite application en c++ (je veux pas avoir au framework .net , je voudrais que celle-ci puisse tourner egalement sur win98 sans avoir a ajouter plein de trucs autres que mon exe)
Donc cette application lirait des infos dans des fichiers .dbf (d'un foxpro qui fonctionne sous dos , pas visual foxpro)
J'y connais pas grd chaose en c++ et les ide et autres rad non plus...
En c# ca marche tres bien avec le framework et ODBC mais je trouc ec a trop lourd fo telecharger le framework l'installer sous win98 ya les MDAC et tout le bordel.

DOnc j'aimerais qque chose qui me permette de faire un tri dans une table .dbf
je veux faire ce tri grace a des radiobouttons par exemple (donc je veux une interface graphique [assez simple qques boutons et groupbox, combobox])
ensuite faire un dessin a partir des elements triés et l'imprimer

Voila jene sais pas quel est le meilleur compilateur ou IDE a utiliser
J'attend vos reponses

J'ai essayé avec wxdev (gratuit) maisje n'ai aps réussi a obtenir ce que je voulais coté lecture et tri des fichiers .dbf

Ceci est assez urgent  Merci d'avance pour votre aide

7 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Visual C++ tuto ici:
http://www.cppfrance.com/code.aspx?ID=38359

Chaine de connection:
http://www.connectionstrings.com/?carrier=dbffoxpro

ciao...
BruNews, MVP VC++
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
1
merci pour cette reponse rapide
mais je n'arrive toujours pas asavoir quelle librairie ou quel include faire et ensuite comment manipuler tout cela ?
(a part la chaine de connection apparemment)
et oui je suis nul en cpp (je sais pas ou trouver les librairies ni comment les traiter apres
je rappelle que je ne veux pas  utiliser le framework .net
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
ouh là, faudrait alors commencer par apprendre le C sinon au plaisir...

Exemple ODBC:
ODBC CONNEXION MDB ET CREATION TABLE (WIN32)
http://www.cppfrance.com/code.aspx?ID=27746

Exemples ADO:
ADO GESTION FILMS(2) (WIN32)
http://www.cppfrance.com/code.aspx?id=18942
ADO GESTION FILMS(1) (WIN32)
http://www.cppfrance.com/code.aspx?id=18733
ADO : LECTURE DANS TABLEAU (WIN32)
http://www.cppfrance.com/code.aspx?id=23130
ADO: MDB VERS TXT STRUCTURE PAR TAB (WIN32)
http://www.cppfrance.com/code.aspx?id=11201

ciao...
BruNews, MVP VC++
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Je pense que la meilleure solution est d'utiliser ADO contenu dans Windows 98 et supérieur. Je ne l'ai jamais utilisé avec les fichiers dbf mais il me semble que c'est faisable. Voici un exemple que je viens de trouver avec google:
http://www.codeproject.com/useritems/dbf_connection.asp

Il existe aussi une librairie permettant l'utilisation des dbf en C/C++. Voici le lien pour la télécharger:
ftp://ftp.simtel.net/pub/simtelnet/msdos/database/cdbfile.zip

Voilà, je pense que maintenant tu as suffisamment de liens pour avoir une idée de ce que tu peux faire. Il te faudra donc juste assez de temps pour comprendre certains concepts de programmation C/C++ avant de mettre tout ça en pratique.
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
1
je sais manipuler le c et le c++ mais je n'ai jamais fais autre chose que des apllications consoles ou systeme et n'ai jamais utilisé d ebase de données.
J'ai des notions quoi et c assez vieux


c juste la documentation qui me manque et je n'ai pas reussi a trouver sur google merci pour l'aide racpp

par contre j'avais trouvé le premier lien mais si je fais
#include je crois que mon compilo ne le connais pas
mon probleme est bien de trouver comment inclure ces p... de librairie

Comment faire?
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Avec ADO, aucun besoin de fichier .h. On utilise la directive #import. Voici un exemple:
#import "C:\Program Files\Fichiers communs\System\ADO\msado15.dll" no_namespace rename("EOF", "EndOfFile")

Il faudra aussi lier le projet avec comsuppw.lib ou comsuppwd.lib pour pouvoir gérer les exceptions.

J'utilise Visual C/C++ Express et ça marche parfaitement. Regarde le premier lien proposé par BruNews. Tu trouveras dans ce tutorial comment télécharger, configurer et utiliser VC Express. Il est gratuit et parfait.
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
1
euh ok je vais voir ca
parc ontre g essayé d'utiliser cdbfile (tant bien que mal)
je l'ai donc ajouter a mon projet
parc ontre j'obtiens des erreurs a la compilation

on me dit que deleting void* n'est pas defini
(en fait c un warning)

void CDBFile::DeleteVoidPointer(void* Pointer, CField* Field)
// This function should be used to delete the void pointers allocated and
// returned by GetFieldValue(). It detects the type of the pointers.
{
 switch (Field->GetType())
 {
 case 'N' :
 case 'L' :
   delete Pointer;
   break;
 case 'D' :
 case 'C' :
 default  :
   delete []Pointer;
 }

pour le reste merci je vais regarder cela