Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Récupérer image de la BDD [ Divers / Débutant(e) ] (atar64)

mercredi 16 janvier 2008 à 09:55:11 | Récupérer image de la BDD

atar64

Bonjour,

Ayant récupérer un existant projet sous foxpro, je cherche à extraire des fichiers bmp de la base foxpro. Mais je n'y arrive pas pouvez vous m'indiquez une source ou une procédure à mettre en place.

Merci par avance

mercredi 16 janvier 2008 à 13:18:40 | Re : Récupérer image de la BDD

Mike Gagnon

Membre Club
Est-ce que ces images sont dans un champ General? Ou Blob?

Mike Gagnon

mercredi 16 janvier 2008 à 13:30:50 | Re : Récupérer image de la BDD

Mike Gagnon

Membre Club
Si les images sont dans un champs General voici le concept.
1. Faire un select sur la table pour créer une table temporaire qui contient seulement le record qui te préoccupe.
2. L'image est contenue dans le fichier fpt, donc pas besoin des deux autres fichier (dbf et cdx)
3. Utiliser FILETOSTR() sur ton fichier fpt pour en faire une chaine charactère.
4. L'image techniquement commence a peu près au 599 ième charactère (ce qui est avant est l'information de l'association du fichier image avec le programme qui va ouvrir l'image sur ton ordinateur. Donc utilise la fonction RIGHT() pour enlever les premiers 599 charactere.
5. Ce qui te reste est ton image, utilise STRTOFILE () pour créer un fichier image

Mike Gagnon

vendredi 1 février 2008 à 15:53:17 | Re : Récupérer image de la BDD

atar64

Et t'on obliger de faire un select avec un seul record.

J'utilise un autre langage(.Net), j'accède à la base via ODBC. Puis je retirer les 599 caractères du champ qui est en général.

Merci
Dsl pour avoir mis autant de temps à répondre.

vendredi 1 février 2008 à 22:06:45 | Re : Récupérer image de la BDD

Mike Gagnon

Membre Club
>>>Et t'on obliger de faire un select avec un seul record.

Pour y retirer une seule image, oui .    Tu dois savoir utilise SELECT from.....en .net?

>>>J'utilise un autre langage(.Net), j'accède à la base via ODBC. Puis je retirer les 599 caractères du champ qui est en général.

Alors tu pose la question dans le mauvais forum. Je ne connais pas l'équivalent de FILETOSTR() en .net (qui n'est pas un language en soi), mais peut-etre poser la question sur un forum .net

Mike Gagnon

samedi 2 février 2008 à 00:33:40 | Re : Récupérer image de la BDD

atar64

>>>> Pour y retirer une seule image, oui .    Tu dois savoir utilise SELECT from.....en .net?

L'entête n'est donc pas lié au champs même, mais à un ensemble de résultat? Sinon je pourai les parcourir un par un avec un SELECT général, non ?
Oui je sais utiliser un select, j'ai déjà récuperer toutes les info en dehors de l'image qui est contenu dans un champs général.

>>>> Alors tu pose la question dans le mauvais forum
Non car la bdd est Foxpro, et le problème tient à l'encapsulation de l'image dans la bdd Foxpro (A ma connaissance il y a pas de forum spécifique à la bdd, d'ou l'utilisation de ce forum).

>>>> .net (qui n'est pas un language en soi)
Oui, mais je maitrise C# et vb.Net donc n'importe quel exemple est compréhensible, de plus les méthodes sont identiques dans tout le framework donc pas spécifique à un langage.

Résumé :
1. Je fais un SELECT sur un enregistrement particulier
2. J'optiens une chaine de charactère, à la quelle j'ote les 598 premiers caractères.
3. J'optiens un fichier image.

C'est sa?

Merci d'avance pour le temps que tu m'accorde.

samedi 2 février 2008 à 14:06:01 | Re : Récupérer image de la BDD

Mike Gagnon

Membre Club
Je ne sais pas vraiment si la technique fonctionne en C# ou VB.net mais voici comment on fait en VFP, avec des fonctions de bas-niveau
COPY TO temp FIELDS photo NEXT 1 && Copier le champs que l'on désire dans une table

handlein = FOPEN(temp.fpt) && ouvrir le fichier fpt qui contient l'image
handleout = FCREATE(temp.bmp) && créer un fichier bmp temporaire
gnEnd = FSEEK(handlein,0,2) && trouver la fin du fichier
gnTop = FSEEK(handlein,0) && commencer au début du fichier
str1 = FREAD(handlein, gnEnd) && rammasser l'information binaire d'image
stop=AT('BM',str1) && trouver le début de l'image, normallement au 599 charctère
str2 = RIGHT(str1, LEN(str1)-stop+1) && retirer le restant des charactères
x = FWRITE(handleout, str2) && copier ce qui reste dans le fichier BMP

=FCLOSE(handlein) && fermer le fichier
=FCLOSE(handleout)


Mike Gagnon

lundi 25 février 2008 à 17:58:03 | Re : Récupérer image de la BDD

atar64

Je suis toujours sur mon probleme.
Je souhaite passer d'une base foxpro à une SQL Server 2005.
La table ressemble à ceci :
+-------+--------+--------+
|   Nom  | Prenom | Photo   |
+-------+--------+--------+
| Dupont | Albert  |              |

L'image est dans un champs général.
J'arrive très bien à extraite les données que ce soit en ODBC, OLEDB, ...sauf les images. Je n'arrive à les extraire qu'en utilisant cet exemple : http://support.microsoft.com/kb/894819/fr
(J'ai également réussi en utilisant OLEDB mais j'ai un  gros tot de perte (30%) pour une raison qui m'échape)

Cependant maintenant je n'arrive pas a relier les 2 parties de l'information (Nom et Photo) car sur des tables volumineuses, un décalage se créer (Du au fait que certaines fiches n'ont pas de photos)

Et t'il possible de rajouter un numero auto à la table. Puis de nommer les images, par ce numero?

Merci
Mike Gagnonmais vu que tu part sur le .fpt je ne pense pas pouvoir relier le tout.

J'ai beaucoup de mal, à trouver une doc complête, si il n'est pas possible de répondre à ma question, pouvez vous m'indiequer vos sources.

Merci d'avance, un développeut qui galère bcp.

mardi 26 février 2008 à 17:50:33 | Re : Récupérer image de la BDD

atar64

Réponse acceptée !
Problème résolu.
J'ai utilisé OLEDB/.Net et méthode de porc équivalent à la soluce du lien microsoft.



Cette discussion est classé dans : récupérer, image, bdd, foxpro


Répondre à ce message

Sujets en rapport avec ce message

Visual foxpro et access [ par steboy ] Bonjour, Je dois récupérer dans une table DBF des données d'une table access. <P class=MsoNo image et documentation [ par jee0404 ] Bonjour,        J'ai deux problèmes : 1er Problème :    J'ai un programme de foxpro en Dos et il faut que je migre en Visualet je voudrais être de gén api de foxpro [ par jee0404 ] bonjour a tous,                 j'ai un problème pour l'affichage de mes menus en window sur un screen de foxpro. J,ai cherché dans l'aide pour tradui Recherche planning en foxpro [ par reefounet ] Bonjour à tous, Quelqu'un a-t-il cela dans ses tablettes ?MerciBenoît decouverte de foxpro [ par cudenetf ] Bonjour, je n'ai jamais programmé sous foxpro... PAr contre , j'ai un programme developpé sous foxpro 2 (DOS) a "convertir" . J'aimerais savoir s'il e rechrche initiation foxpro [ par REDA25 ] bonsoir les pro,je suis un débutant de foxpro que je cherche à comprendre.Mérci de m'envoyer un petit code pour que je puisse me familiariser avec.cre Ordre dans une liste déroulante (foxpro 2.6) [ par ebol ] Bonjour Que dois- je rajouter dans  mon programme pour voir  à l’écran une liste dérou Tutorial FoxPro [ par the_smurf ] Bonjour à tousJeune développeur, je dois reprendre le développement et la maintenance de logiciels écrit en FoxPro 6.0 et 8.0.Je cherche un tutorial q bug dans Foxpro ????? [ par Datadis ] Bonjour à vous tous...Peut-être quelqu'un va t'il trouver une réponse à ce bug lié aux décimales dans Foxpro (testé en version 7, 8 et 9).par exemple? imprimer en foxpro [ par jee0404 ] Bonjour, J'ai un problème , je fais une application en foxpro et j'aimerais configurer l'imprimante manuellement (c'est-à-dire par des lign


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.