FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Rechercher une séquence dans un fichier texte Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Rechercher une séquence dans un fichier texte Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Rechercher une séquence dans un fichier texte Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Rechercher une séquence dans un fichier texte Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Rechercher une séquence dans un fichier texte Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Rechercher une séquence dans un fichier texte Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Rechercher une séquence dans un fichier texte Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Rechercher une séquence dans un fichier texte Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Rechercher une séquence dans un fichier texte Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Rechercher une séquence dans un fichier texte Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Rechercher une séquence dans un fichier texte Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Rechercher une séquence dans un fichier texte Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Rechercher une séquence dans un fichier texte Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Rechercher une séquence dans un fichier texte Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Rechercher une séquence dans un fichier texte Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
Boutique Nike : -25% dès 50€ sur TOUT le site Nike avec le code ...
Voir le deal

 

 Rechercher une séquence dans un fichier texte

Aller en bas 
2 participants
AuteurMessage
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Rechercher une séquence dans un fichier texte Empty
MessageSujet: Rechercher une séquence dans un fichier texte   Rechercher une séquence dans un fichier texte EmptyLun 6 Sep 2010 - 16:57

Le problème est de rechercher toutes les occurences d'une séquence donnée dans un fichier texte.
Grâce à FILE_READBUF, on fait une seule lecture disque de l'intégralité du fichier dans un String, et ensuite la recherche se fait uniquement en mémoire, avec INSTR, ce qui est très rapide et très simple par rapport à des lectures disque successives et beaucoup plus compliquées.
Code:
' Recherche des occurences d'une séquence donnée dans un fichier TEXTE
DIM f$, a$, b$, seq$, sz, x, k, noc
LABEL rr, Instrx

f$ = "C:\TEXTES\Monfichier.txt": ' ***** à ajuster ********
seq$ = "Au clair de la lune": ' ******** idem ***********

FILEBIN_OPEN_READ 1, f$: sz = FILEBIN_SIZE(1): FILEBIN_CLOSE 1
FILE_OPEN_READ 1, f$: FILE_READBUF 1, a$, sz: FILE_CLOSE 1
x = 1: noc = 0
rr:
GOSUB Instrx
IF k > 0
    PRINT "Trouvé en: " + STR$(k): noc = noc + 1
    x = k + LEN(seq$): GOTO rr
END_IF
PRINT STR$(noc) + " occurences trouvées, recherche terminée !"
END

Instrx:
' Recherche de seq$ dans a$ à partir de x -> position k
b$ = a$: IF x > 1 THEN b$ = MID$(a$, x, LEN(a$)-x+1)
k = INSTR(b$, seq$): IF k > 0 THEN k = x + k - 1
RETURN

A partir de là, il est facile de peaufiner en cherchant soit tel quel (comme ici), soit indifféremment en majuscules/minuscules en mettant des Upper$ aux bons endroits.

Ça ne marche pas pour faire la même chose avec un fichier binaire, dommage, le File_ReadBuf boucle sur le premier caractère '1A' rencontré.

PS il y a déjà eu des sujets du même genre, du moins pour le s/p Instrx (exemple: https://panoramic.1fr1.net/vos-sources-vos-utilitaires-a-partager-f2/chercher-un-string-dans-un-autre-avec-un-offset-t1028.htm ), à comparer...
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Rechercher une séquence dans un fichier texte Empty
MessageSujet: +++   Rechercher une séquence dans un fichier texte EmptyMar 7 Sep 2010 - 0:07

Cela ouvre la voie à des recherches à vitesse fantastique !
jocolor
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Rechercher une séquence dans un fichier texte Empty
MessageSujet: Re: Rechercher une séquence dans un fichier texte   Rechercher une séquence dans un fichier texte EmptyMar 7 Sep 2010 - 18:20

Il est facile également de combiner avec le post contigü (remplacer un article dans un fichier texte) pour faire une recherche/remplacement rapide d'un élément dans une série de fichiers texte (pour un seul fichier, n'importe quel éditeur fait ça très bien !).
Revenir en haut Aller en bas
Contenu sponsorisé





Rechercher une séquence dans un fichier texte Empty
MessageSujet: Re: Rechercher une séquence dans un fichier texte   Rechercher une séquence dans un fichier texte Empty

Revenir en haut Aller en bas
 
Rechercher une séquence dans un fichier texte
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Rechercher une chaîne de caractère dans un fichier.
» Rechercher un fichier donné dans tout le disque C:
» Recherches dans un fichier texte
» Rechercher une séquence dans une série de fichiers
» Remplacer un article dans un fichier texte

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: