Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: 2.01: ajout fonction SearchPatternInBinaryFile Lun 4 Mar 2013 - 16:09 | |
| Nouvelle version: KGF.dll V2.01 du 4 Mars 2013J'ai ajouté une fonction qui peut chercher une chaîne de caractères binaire dans un fichier binaire: KGF.dll: res% = dll_call3("SearchPatternInBinaryFile",adr(nom$),adr(pattern$),offset%) KGF_SUB.bas: SearchPatternInBinaryFile(nom$,pattern$,start%) La doc est à jour. Modules modifiés: KGF.dll KGF_SUB.bas KGF.chm, KGF.doc, KGF.pdfGrâce au paramètre start%, cette fonction peut être utilisée en cascade pour trouver toutes les occurrences d'une chaîne binaire. Voici une démo qui montre comment trouver les 1à premiers CR LF dans un fichier: - Code:
-
' recherche_dans_fichier_binaire.bas
label ouvrir
dim i%, offset%, nom$, chaine$
open_dialog 1 button 100 : top 100,10 : left 100,10 : caption 100,"Ouvrir" : on_click 100,ouvrir memo 101 : top 101,40 : left 101,10 : width 101,400 : height 101,400 font_name 101,"Courier"
KGF_initialize("KGF.dll")
end
ouvrir: nom$ = file_name$(1) if nom$="_" then return clear 101
item_add 101,nom$ item_add 101," " item_add 101,"Les 10 premiers CR LF:" chaine$ = chr$(13) + chr$(10) offset% = 0 for i%=1 to 10 SearchPatternInBinaryFile(nom$,chaine$,offset%) if SearchPatternInBinaryFile=0 then exit_for item_add 101,"Offset "+str$(SearchPatternInBinaryFile) offset% = SearchPatternInBinaryFile + 1 next i% return
#INCLUDE "KGF_SUB.bas"
Et voici une vue sur la liste des fonctions disponibles, dans le fichier KGF.chm, concernant l'accès aux fichiers binaires: | |
|
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: 2.01: ajout fonction SearchPatternInBinaryFile Lun 4 Mar 2013 - 18:44 | |
| Là, ça ouvre des possibilité pour l'éditeur hexa de JL35 par exemple Pratique. Merci Klaus | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: 2.01: ajout fonction SearchPatternInBinaryFile Lun 4 Mar 2013 - 19:19 | |
| Oui, c'est une application possible.
Et il faut toujours garder en vue (c'est d'ailleurs bien expliqué dans la doc), qu'on peut utiliser ces fonctions de deux manières: 1. directement sans traitement préalable: le fichier sera alors ouvert et fermé automatiquement à chaque appel d'une fonction 2. ouvrir le fichier par OpenBinaryFile(...), puis faire tous les appels de fonctions nécessaires, puis permer le fichier par CloseBinaryFile(...). Les fonctions individuelles ne feront alors plus d'ouvertures/fermetures intermédiaires, mais utiliseront le canal interne ouvert pour le fichier. On peut ouvrir simultanément autant de fichiers binaires qu'on veut - le programme gère ses canaux de façon interne dans un tableau dynamique, et seul le nom de fichier sert de référence pour retrouver le fichier ouvert dans les tables. On n'a pas besoin de réserver des canaux - c'est géré de façon interne.
Ce deuxième mode est fortement conseillé lorsqu'on veut gérer de multiples opérations sur un même fichier, pour des raisons de performance. Le premier mode est conçu pour faciliter un accès ponctuel. | |
|
Contenu sponsorisé
| Sujet: Re: 2.01: ajout fonction SearchPatternInBinaryFile | |
| |
|