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
» Projet de planétarium virtuel.
par Pedro Alvarez Hier à 17:29

» Quantité de mémoire utilisée par un exe
par Navigateur Hier à 14:52

» Problème avec 'file_load'.
par Pedro Alvarez Hier à 8:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 14:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 19:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 19:14

» PanExpress : l'éditeur Panoramic avec création d'objet
par Jean Claude Ven 15 Juin 2018 - 7:52

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 20:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 20:52

» Cadre pour image
par Jean Claude Mar 12 Juin 2018 - 16:31

» Créateur d'objets Panoramic
par Minibug Mar 12 Juin 2018 - 14:02

» Planétarium gratuit.
par Jean Claude Sam 9 Juin 2018 - 18:50

» Comment afficher une image sans fond.
par JL35 Sam 9 Juin 2018 - 14:16

» image_width(n) et image_height(n)
par silverman Sam 9 Juin 2018 - 11:22

» Site sur la programmation sympa
par Jean Claude Jeu 7 Juin 2018 - 11:20

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2018
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Recherches dans un fichier texte

Aller en bas 
AuteurMessage
JL35



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

MessageSujet: Recherches dans un fichier texte   Dim 20 Mai 2018 - 9:38

Il est beaucoup plus facile de lire le fichier entier dans une variable unique, et de faire dans cette variable les recherches, remplacements, suppressions, insertions, etc. avec les fonctions de traitement de chaînes.
C'est vraiment simple et rapide, grâce à la commande 'type':
Code:
FileToString("C:\TEXTES\Lorem.txt"): ' un fichier quelconque
message str$(len(buf$)): ' pour voir
END
' -----
SUB FileToString(f$)
  ' Copie d'un fichier de type texte f$ dans une chaîne buf$
  IF VARIABLE("buf$") = 0 THEN DIM buf$
  EXECUTE_WAIT "cmd.exe /c type "+CHR$(34)+f$+CHR$(34)+" | clip"
  buf$ = CLIPBOARD_STRING_PASTE$
END_SUB

On peut ensuite réécrire éventuellement la chaîne modifiée dans un fichier texte résultat, en une seule fois (File_Writeln'. (noter que l'écriture ajoute un retour chariot interligne à la fin)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 643
Age : 46
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: Re: Recherches dans un fichier texte   Dim 20 Mai 2018 - 10:21

Je confirme puisque c'est ainsi que je procède Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Oscaribout



Nombre de messages : 166
Date d'inscription : 29/12/2016

MessageSujet: Re: Recherches dans un fichier texte   Dim 20 Mai 2018 - 15:50

Juste une remarque.

Si on veut lire le contenu entier d'un memo:

Code:
FileToString("C:\TEXTES\Lorem.txt"): ' un fichier quelconque
message str$(len(buf$)): ' pour voir
' autre posssibilité:
memo 10 : full_space 10:file_load 10,"z:\prg_teste_debog.txt"
message str$(len(text$(10)))
END
' -----
SUB FileToString(f$)
   ' Copie d'un fichier de type texte f$ dans une chaîne buf$
   IF VARIABLE("buf$") = 0 THEN DIM buf$
   EXECUTE_WAIT "cmd.exe /c type "+CHR$(34)+f$+CHR$(34)+" | clip"
   buf$ = CLIPBOARD_STRING_PASTE$
END_SUB

La fonction TEXT$() est une fonction pour EDIT, mais elle fonctionne aussi pour un memo, même si cela devrait provoquer une erreur.

Text$(10) (ici) prend le contenu entier d'un memo.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



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

MessageSujet: Re: Recherches dans un fichier texte   Dim 20 Mai 2018 - 20:18

Exact Oscaribout, ça donne exactement le même résultat d'une façon encore plus simple, et il me semble, plus rapide !

On peut juste éventuellement ajouter un HIDE 10 derrière le MEMO 10, pour que ce soit plus discret.

Et finalement j'adopte ta solution qui est meilleure que la mienne et plus discrète (pas d'affichage, même si c'est bref, de fenêtre noire)
Code:
DIM f$: f$ = "C:\TEXTES\Lorem.txt"
FileToString_ex(f$): ' un fichier quelconque
message "Ancien_ "+str$(len(buf$)): ' pour voir
buf$ = ""
' autre posssibilité:
FileToString(f$)
message "Nouveau_ "+str$(len(buf$))
END
' -----
SUB FileToString_ex(f$)
   ' Copie d'un fichier de type texte f$ dans une chaîne buf$
   IF VARIABLE("buf$") = 0 THEN DIM buf$
   EXECUTE_WAIT "cmd.exe /c type "+CHR$(34)+f$+CHR$(34)+" | clip"
   buf$ = CLIPBOARD_STRING_PASTE$
END_SUB
' Nouvelle formule :
SUB FileToString(f$)
   ' Copie d'un fichier de type texte f$ dans une chaîne buf$
   ' (Merci Oscaribout !)
   IF VARIABLE("buf$") = 0 THEN DIM buf$
   MEMO 9000: HIDE 9000: WIDTH 9000,2000: FILE_LOAD 9000,f$
   buf$ = TEXT$(9000): DELETE 9000
END_SUB
C'est vrai que le TEXT$(N) n'est pas prévu pour un MEMO, mais si ça marche, autant en profiter.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Recherches dans un fichier texte   

Revenir en haut Aller en bas
 
Recherches dans un fichier texte
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Mise en forme de fichier source Panoramic (nième version)
» Comment voir ce qu'il y a dans un fichier GPI
» Déplacer fichiers carto dans 2340LMT (résolu)
» Camoufler un fichier texte dans une image
» POI avec ou sans "Guillemets"

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: