IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Amélioration d'un outil de recherche et d'édition de texte


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 172
    Billets dans le blog
    9
    Par défaut Amélioration d'un outil de recherche et d'édition de texte
    Bonjour !

    J'ai fait une petite application que je pensais ajouter dans la rubrique "sources" mais auparavant je voudrais essayer de l'améliorer encore un peu, avec votre aide.

    C'est une application qui permet de chercher un mot dans un ensemble de fichiers texte (mettons les œuvres complètes d'un écrivain). Toutes les lignes contenant le mot s'affichent dans la fenêtre principale. Si vous cliquez deux fois sur une ligne, le fichier correspondant s'ouvre dans une deuxième fenêtre, pour pouvoir lire la ligne dans son contexte et éventuellement éditer le fichier.

    Dans l'état actuel de l'application, vous êtes encore obligé de cliquer sur un bouton (le bouton "Aller") pour voir apparaître la ligne où se trouve le mot. J'aurais voulu que ça se fasse automatiquement à l'ouverture de la fenêtre mais je n'y arrive pas.

    Voilà, si vous avez une idée sur ce point, ou sur une autre amélioration possible, merci d'avance.

    Il faudrait aussi que je trouve un nom pour cette application.

    J'ai mis dans la pièce jointe une partie de mes fichiers pour que vous puissiez essayer l'application. Ce sont deux volumes des œuvres complètes de Bossuet.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite

    Homme Profil pro
    Rédacteur technique (retraité)
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique (retraité)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Par défaut
    Bonjour,

    Pas mal mais je suppose que cela ne marche que pour des fichiers Txt encodé en UTF8. C'est le problème des fichiers txt, on ne sait jamais à quel encodage on a affaire surtout sous Windows, entre OEM (rares maintenant), Ansi (encore assez fréquents) et UTF8.

    Citation Envoyé par Roland Chastain Voir le message
    Dans l'état actuel de l'application, vous êtes encore obligé de cliquer sur un bouton (le bouton "Aller") pour voir apparaître la ligne où se trouve le mot. J'aurais voulu que ça se fasse automatiquement à l'ouverture de la fenêtre mais je n'y arrive pas.
    Comme ça à vue de nez il suffirait que tu déplace le code de btGotoClick dans l'événement OnActivate de Form2 ou d'y simuler un click sur le bouton "Aller" par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm2.FormActivate(Sender: TObject);
      ....
    Begin
       btGotoClick(mmText);
    Aussi il serait peut-être mieux d'ouvrir Form2 en non modal (Form2.show au lieu de Form2.ShowModal), cela permettrai de changer d'occurrence simplement en cliquant sur cette autre occurrence dans form1 sans devoir refermer préalablement Form2.

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 172
    Billets dans le blog
    9
    Par défaut
    @DomDA91

    Oui, ça fonctionne comme ça. Merci ! Je ne connaissais pas la différence entre Show et ShowModal. J'avais mis ShowModal sans trop savoir pourquoi.

    Effectivement je suppose des fichiers encodés en UTF8, ce qui est le cas dans le contexte où j'utilise cette application.

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 172
    Billets dans le blog
    9
    Par défaut
    Je pourrais peut-être prévoir une détection automatique de l'encodage. Je vais faire des essais.

    Pour le moment, j'ai seulement essayé la commande file (je suis sous Linux). Ça fonctionne.

    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [roland@localhost 01]$ file 00.txt
    00.txt: UTF-8 Unicode text, with CRLF line terminators
    [roland@localhost 01]$

  5. #5
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 172
    Billets dans le blog
    9
    Par défaut
    J'ai fait la modification suivante, pour voir déjà ce que ça donnait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // recherche.pas
        FContenu[LFileIndex].LoadFromFile(FListeFichiers[LFileIndex]);
        if GuessEncoding(FContenu[LFileIndex].Text) <> 'utf8' then
          mmLog.Append(Format('Problème éventuel d''encodage : %s', [FListeFichiers[LFileIndex]]));
    Et je m'aperçois que certains de mes fichiers posent problème, comme le fichier 14/03.txt.

    Confirmation avec la commande file :

    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [roland@localhost 14]$ file 03.txt
    03.txt: UTF-8 Unicode (with BOM) text, with CRLF line terminators
    [roland@localhost 14]$

    Bon, je ne sais pas encore trop comment je vais gérer le problème. Il y a un avertissement, c'est déjà ça.
    Fichiers attachés Fichiers attachés

  6. #6
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 172
    Billets dans le blog
    9
    Par défaut
    J'ai ajouté un bouton "Convertir en UTF-8", qui permet de convertir les fichiers chargés en mémoire. Si on coche l'option "Sauvegarder", la conversion se fait également sur le disque.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Recherche composant d'édition de texte
    Par richard038 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 06/06/2006, 14h25
  2. Outil pour rechercher dans toutes la base
    Par ChrOnOs83 dans le forum Access
    Réponses: 4
    Dernier message: 24/01/2006, 14h49
  3. Amélioration d'une requete de recherche
    Par sacrejohn dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/10/2005, 11h36
  4. Outils pour rechercher des fuites de memoires dans un prog
    Par elekis dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 29/04/2005, 21h06
  5. Outil de recherche de fuite mémoire
    Par eag35 dans le forum MFC
    Réponses: 4
    Dernier message: 02/02/2005, 12h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo