bonjour,
je souhaite enregistrer un fichier binaire. quel est le type de donnée à sélectionner?
merci
bonjour,
je souhaite enregistrer un fichier binaire. quel est le type de donnée à sélectionner?
merci
Qu'entends-tu par "Fichier binaire" ?
Un exemple de donnée serait sympa !
bonjour,
c'est un fichier qui de n'importe quel format est transformé en binaire.
pour les exemples je n'en ai pas.
merci
Bonjour.
Je ne sais pas si ça répond à ta question, mais pour manipuler des fichiers en binaire, on peut passer par les commandes relatives aux fichiers texte, notamment la bibli IWSH (Windows Script Host Object Library).
Mais comme bernardmichel, je n'ai pas compris ce que tu demandais;
Bon courage,
PGZ
bonjour,
suite a une question du forum que je souhaite mettre en place.Ce sont les éléments que j'ai.Comment stocker une image dans une base de données ?
Avant toute chose, il faut savoir qu'il est totalement déconseillé de stocker des images dans une base de données. C'est très lourd, absolument inutile et cela peut même ralentir le serveur de données. Il ne faut pas perdre de vue que le but premier d'une base de données est de stocker des données à des fins de recherches, d'indexages ou de calculs. Ce qui n'a absolument aucune application dans le cas d'images. En bref, mieux vaut toujours stocker à la place le chemin (relatif, absolu, distant, ...) de l'image.
Néanmoins, si vous désirez quand même stocker une image dans une base de données, nous allons passer en revue les différentes techniques.
Tout d'abord, prenons le cas particulier d'Access qui permet, par le biais d'un champ de type OLE, de stocker des images. Cette solution, très pratique au sein même d'Access, l'est nettement moins lorsqu'il s'agit de récupérer les images dans Visual Basic. En effet, il vous sera impossible de lier ce champ à un contrôle "Image" ou "PictureBox". Tout simplement car on n'a plus affaire à une image, mais bien à un objet OLE. Remarquez au passage qu'il ne faut pas s'étonner si la taille de l'image stockée est supérieure à la taille de l'image d'origine, l'interface OLE rajoutant toute une série d'en-têtes (cfr. 123151 - ACC : Pourquoi les objets OLE font augmenter la taille des bases de données). Comment faire donc pour récupérer les images encapsulées dans un objet OLE. Deux solutions. La première est d'employer le contrôle "OLE" (livré en standard avec VB). Malheureusement, celui-ci ne peut être lié qu'à une source de données utilisant la technologie DAO. Si vous employer ADO, c'est râpé. La deuxième solution consiste à extraire, de l'objet OLE, l'image encapsulée. Pour ce faire, vous pouvez vous baser sur l'exemple décrit dans la fiche suivante : 119395 - How to Extract the Metafile from an OLE Control.
Vous l'aurez donc compris, OLE n'est pas vraiment la solution pour stocker des images. L'idéal est en fait de stocker les images sous forme binaire. Et cela vaut non seulement pour Access, mais aussi pour tout les autres types de base de données (Oracle, SQL Server, ...). Pour cela il faudra employer les méthodes AppendChunk et GetChunk qui permettent de lire et écrire des données binaires dans un champ de type binaire (équivalent au type "OLE" pour Access et "blob" pour SQL Server). Vous trouverez plusieurs exemples sur la MSDN et le site du support :
AppendChunk and GetChunk Methods Example
194975 - HOWTO: Read and Write BLOBs Using GetChunk and AppendChunk
153238 - HOWTO: Use GetChunk and AppendChunk Methods of RDO and ADO Object
185958 - HOWTO: Use ADO GetChunk/AppendChunk with Oracle for BLOB Data
103257 - ACC: Reading, Storing, & Writing Binary Large Objects (BLOBs)
Enfin, si vous utiliser une version d'ADO supérieure ou égale à 2.5, vous pouvez employer l'objet Stream qui facilite grandement les opérations de lectures et écritures sur des champs binaires. Ce code permet, par exemple, d'écrire le contenu d'un fichier dans un champ binaire :
Ensuite, pour récupérer cette image et l'afficher dans Visual Basic, le plus simple consiste à lier un contrôle Image à ce champ (en passant par un contrôle ADODC ou bien en liant un recordset par le code).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Option Explicit Private Sub Form_Load() Dim rs As ADODB.Recordset Dim stm As ADODB.Stream Set rs = New ADODB.Recordset Set stm = New ADODB.Stream rs.Open "Table1", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Mes Documents\MyDataBase.mdb", adOpenStatic, adLockOptimistic, adCmdTable stm.Type = adTypeBinary stm.Open stm.LoadFromFile "C:\Mes Documents\Photo.bmp" rs.AddNew rs!Nom = "Pierre Alexis" rs!Photo = stm.Read rs.Update rs.Close stm.Close Set rs = Nothing Set stm = Nothing End Sub
merci
Hello !
A priori pour moi, un fichier binaire - comme son nom l'indique - est composé de "mots" de 32 bits et uniquement composés de "0" ou de "1"
Donc, pour travailler avec un fichier de ce type dans Access, je prendrais toutes les fonctions "Texte". Quant aux formats des champs que j'utiliserais, ce serait, soit tu texte, soit du mémo en fonction de la longueur.
Voilà, en fonction de ce que je comprends de ta question, le début de réponse que je peux te faire...
Sinon, autre suggestion (à le re,re,re,re lecture de ta question) est-ce simplement le ".bin" comme format de fichier que tu désires ?
Non, excuses-moi, ma suggestion ".bin" est une connerie.
Voici ce que j'ai trouvé sous "Wikipedia" :
Ainsi que petit document sympa sur les différents formats de fichiers, iciFichier binaire
Un article de Wikipédia, l'encyclopédie libre.
Aller à : Navigation, Rechercher
Un fichier binaire (binary file en anglais), est un fichier informatique qui n'est pas assimilable à un fichier texte.
Pour décrire cette organisation, on parle de format de fichier.
But [modifier]
Au début des années 1980, les formats de fichiers binaires se systématisent dans les environnements micro-informatiques, où l'encombrement mémoire est critique. En effet, un format binaire est souvent plus compact qu'un format de fichier texte (il occupe moins d'espace dans la mémoire vive et sur le périphérique de stockage). L'encombrement mémoire n'est pas suffisant à lui seul pour expliquer ce foisonnement.
Fichiers propriétaires [modifier]
Un format de fichier binaire peut être libre (exemple le format de fichier de Gimp XCF), Mais, comme il est difficile d'en comprendre la signification, il est nécessaire de lui appliquer des méthodes d'ingénierie inverse, ce qui en ralentit la compréhension. Par son format de fichier binaire tenu secret (format fermé), un éditeur de logiciels propriétaires peut garder la mainmise sur ses clients en limitant l'interopérabilité de ses fichiers, car il est peu probable que ses concurrents réussissent à réaliser un logiciel équivalent qui exploiterait son format de fichier binaire aussi bien que son propre logiciel.
Sous les systèmes d'exploitation de type Unix, en revanche, la culture était beaucoup plus orientée vers des formats en texte brut. Ceci reste vrai : les fichiers de configurations, notamment, sont quasi-systématiquement lisibles par n'importe quel éditeur de texte.
Les fichiers binaires les plus courants sont les fichiers d'images et les formats propriétaires des logiciels de bureautique (traitements de texte, tableurs...).
Bonjour,
il est donc possible que ce soit le champs OLE meme si ce n'est pas sa fonction première
Bonjour à tous,
tout d'abord merci pour ces explications. Par contre en ce qui me concerne j'ai besoin d'aide, en effet je ne suis pas programmeur, je connais que tres peu de chose en VBAet donc est ce que quelqu un pourrait m'expliquer comment mettre en application la citation de CBLEAS? ce que je veux dire c'est ou tapper le code? ou comment a t il fait pour créer une application pour stocker les images? comment dois je m y prendre pour faire la meme chose?
d avance merci![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager