Téléchargé 8 fois
Vote des utilisateurs
1
0
Détails
Licence : Libre
Mise en ligne le 11 mars 2021
Plate-formes :
Linux, Windows
Langue : Anglais
Référencé dans
Navigation
TextView
TextView
TextView est une application permettant de visualiser rapidement le contenu des fichiers texte d'un dossier.
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é
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é
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.
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.
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.
Qu'en pensez-vous ?
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.
Qu'en pensez-vous ?
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.
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.
Bonjour,
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) :
.
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) :
.
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.
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.
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.