FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Et encore un éditeur...
par Minibug Aujourd'hui à 23:07

» Crash récurent de l'éditeur
par Fredisland Aujourd'hui à 19:55

» Demande de correction de la commande instr_right.
par Klaus Aujourd'hui à 19:13

» Recherche de texte AVANT/ARRIERE dans un SYNEDIT
par silverman Aujourd'hui à 18:51

» molette de la souris
par Fredisland Aujourd'hui à 17:57

» Plusieurs fonctions pour la souris
par Fredisland Aujourd'hui à 17:47

» resulta incomplet
par Marc Aujourd'hui à 13:33

» Make_exe
par JL35 Hier à 20:10

» [RÉSOLU] MESSAGE_ERROR_YES_NO idem à deux autres
par Fredisland Hier à 14:29

» Logiciel de traduction: dernières avancées.
par pascal10000 Hier à 9:43

» Convertir un fichier BAS panoramic en fichier EXE
par Klaus Sam 21 Avr 2018 - 23:16

» Astuce dans un string
par Marc Sam 21 Avr 2018 - 18:42

» TRACE_ON problème
par Oscaribout Sam 21 Avr 2018 - 17:55

» [RÉSOLU] Priorité affichage des objets : comment la définir?
par Minibug Sam 21 Avr 2018 - 17:43

» FLAT Design
par Klaus Sam 21 Avr 2018 - 13:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2018
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
30      
CalendrierCalendrier

Partagez | 
 

 2.01: ajout fonction SearchPatternInBinaryFile

Aller en bas 
AuteurMessage
Klaus

avatar

Nombre de messages : 10963
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: 2.01: ajout fonction SearchPatternInBinaryFile   Lun 4 Mar 2013 - 16:09

Nouvelle version:
KGF.dll V2.01 du 4 Mars 2013

J'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.pdf


Grâ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:
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5911
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: 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 Wink
Pratique. Merci Klaus
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10963
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: 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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé




MessageSujet: Re: 2.01: ajout fonction SearchPatternInBinaryFile   

Revenir en haut Aller en bas
 
2.01: ajout fonction SearchPatternInBinaryFile
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Ajout de smiley toujours à la fin du texte !
» Ajout carte sur carte mémoire SD
» Ajout de nicotine dans cartouches
» [Résolu] Fenêtres publicitaires intempestives
» Ajout d'un nouveau type d'objet dans une form Panoramic !

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: