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

Téléchargez Pascal Discussion :

TextView [Sources]


Sujet :

Téléchargez 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 167
    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 167
    Billets dans le blog
    9
    Par défaut TextView
    Bonjour,

    Je vous propose un nouvel élément à utiliser : TextView

    TextView est une application permettant de visualiser rapidement le contenu des fichiers texte d'un dossier.

    Nom : textview001.png
Affichages : 335
Taille : 85,9 Ko

    Qu'en pensez-vous ?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 261
    Par défaut
    Bonjour,

    Merci pour ce partage, étudier les développements des autres donne toujours l'occasion d'apprendre.
    Utilisant Windows, j'ai cherché à adapter cette application un peu plus à cet environnement:
    -utiliser la fonction GetWindowsSpecialDir de l'unité WinDirs pour trouvé le répertoire personnel de l'utilisateur,
    -convertir le texte des fichiers texte, généralement en Win1252, en UTF8 pour l'afficher,
    -afficher le contenu du premier fichier à l'ouverture,
    -n'afficher que le texte des fichiers "réputés" affichables comme étant dans le filtre autre que le premier '*.*'.
    J'aurai aussi voulu pouvoir identifier dans la liste des fichiers ceux qui ne sont pas affichables, mais il semble que le OnDrawItem de la TFileListBox n'est pas déclenché.
    Avez-vous aussi ce problème?

    André
    Fichiers attachés Fichiers attachés

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    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 167
    Billets dans le blog
    9
    Par défaut
    Bonsoir André ! Merci pour votre contribution. J'ai vu que vous avez fait pas mal de modifications : je vais prendre le temps de les regarder.

    Effectivement, je ne me suis pas encore penché sur les problèmes d'encodage.

    Concernant l'affichage automatique du premier fichier, c'est fait. (Voir le dernier état du code sur le dépôt GitHub.)

    Quant aux fichiers affichables, c'est aussi un problème intéressant. Je ne m'en suis pas beaucoup soucié jusqu'à présent. J'ai seulement essayé (sous Linux) d'ouvrir un fichier a priori non affichable. Ça a donné des caractères bizarres, mais ça a bien donné quelque chose.

    Autre modification que j'ai faite entre temps, c'est de remplacer le TMemo par un TSynEdit, pour avoir une police monospace sans me casser la tête. (C'est une astuce que j'ai trouvée sur le forum anglais.)

    À plus tard pour la suite des opérations !

    P.-S. J'espère que vous aurez apprécié l'alignement parfait de mes composants, car c'est le point sur lequel j'ai passé le plus de temps.

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    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 167
    Billets dans le blog
    9
    Par défaut
    J'ai ajouté la conversion automatique en UTF-8.

    Je constate que sous Windows (chez moi en tout cas) l'affichage du texte n'est pas très satisfaisant. Les caractères sont tout petits (capture d'écran ci-jointe).

    P.-S. Ajouté des boutons pour régler la hauteur de la police.
    Images attachées Images attachées  

  5. #5
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 132
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 132
    Par défaut
    Bonjour,
    Citation Envoyé par Roland Chastain Voir le message
    P.-S. Ajouté des boutons pour régler la hauteur de la police.
    Tu devrais rajouter une barre d'outils, en haut, dans laquelle tu mettras, entre autres, un bouton "Retour à la ligne automatique" -- ça concernera l'affichage, on ne touche pas au fichier -- faudra adapter la numérotation des lignes en conséquence, à moins que synedit ne le gère en natif ?
    (Je n'ai pas regardé le code, je n'ai pas le temps).

    Et d'expérience (j'avais bricolé un truc similaire il y a looooooongtemps en D3), j'avais un bouton "Lancer une autre instance de l'outil" car on a parfois, surtout pour les codeurs, besoin d'un autre éditeur pour ouvrir 2 fichiers côte à côte, pour comparaisons.

    Pour la numérotation des lignes, une petite copie d'écran du leafpad de Linux (qui aurait tendance à disparaître, remplacé par un mousepad beaucoup moins performant, hélas) -- tu remarqueras l'alignement à droite et, àmha, la colonne devrait être un poil plus large, genre 5 caractères, parce que le flicker de la fenêtre quand on passe de 9999 à 10000 est assez désagréable, sur tous les logiciels qui gèrent ça mal (ou pas du tout) :
    Nom : numérotation.png
Affichages : 302
Taille : 12,7 Ko
    .

  6. #6
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    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 167
    Billets dans le blog
    9
    Par défaut
    Merci Jipété pour ta contribution.

    J'ai fait une recherche concernant le retour automatique à la ligne : apparemment TSynEdit n'a pas cette fonctionnalité. Une possibilité serait de formater le texte, mais on perdrait les numéros de ligne de l'original. C'est peut-être mieux que rien ? Ou alors revenir à un TMemo, mais il faudrait que je trouve le moyen d'avoir une police monospace sous toutes les plateformes, ce que TSynEdit fait automatiquement. (Et je ne sais pas si on peut avoir les numéros de ligne avec un TMemo.)

    Concernant justement les numéros de ligne, par défaut elles y sont. C'est moi qui ai mis la propriété Gutter.Visible à FALSE. Je pourrais ajouter un bouton pour cela. Apparemment il y a moyen de régler l'affichage des numéros pour éviter le défaut que tu évoques.

    Quant à la possibilité de lancer une deuxième instance, pourquoi pas ? C'est une bonne idée.

Discussions similaires

  1. Recupérer le contenu d'un GtkEntry vers un TextView
    Par nh2_93 dans le forum GTK+ avec C & C++
    Réponses: 17
    Dernier message: 23/03/2007, 11h24
  2. Ajouter du texte en couleur dans un TextView
    Par Lunixinclar dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 23/12/2006, 19h51
  3. refresh textview en Gtk2-Perl
    Par scorbo dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 11/12/2006, 20h09
  4. Réponses: 12
    Dernier message: 04/06/2006, 00h19
  5. Textview
    Par @drien dans le forum GTK+ avec C & C++
    Réponses: 7
    Dernier message: 15/01/2006, 18h57

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