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

Composants VCL Delphi Discussion :

Delphi et Notepad++


Sujet :

Composants VCL Delphi

  1. #1
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut Delphi et Notepad++
    Bonjour à tous,
    J'espère que mon sujet est dans la bonne zone du forum.

    Est-il possible d'intégrer une fenêtre de visualisation de fichier texte Notepad++ dans une appli Delphi (Windows/VCL) pour éviter une configuration RichEdit, sur un langage déjà visualisé par Notepad ?
    Merci pour vos réponses...
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 057
    Points : 41 003
    Points
    41 003
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    ma première réaction : utiliser SynEdit (mais bon, je n'ai fait qu'effleurer ce truc qui n'est que VCL)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    Merci Sergio,
    Je regarde justement l'utilisation de SynEdit. L'autre outil est Scintilla...
    Concernant Notepad++ on trouve de nombreuses informations pour coder Pascal sous Notepad++ mais pas l'intégration d'une fenêtre Notepad++ dans Delphi...
    Cordialement,
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  4. #4
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 859
    Points : 11 307
    Points
    11 307
    Billets dans le blog
    6
    Par défaut
    Bonjour,
    Peut-être une piste ici : Notepad++ plugin for ActiveX support/ ?
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 709
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 709
    Points : 13 172
    Points
    13 172
    Par défaut
    Un exemple pour docker Notepad++. Exemple simpliste qui part du principe que Notepad++ n'est pas déjà ouvert. Il faudrait plutôt passer par ShellExecuteEx pour récupérer le handle de processus et utiliser FindWindowEx pour trouver la fenêtre appartenant à ce processus-là.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    procedure TForm1.FormCreate(Sender: TObject);
    var
      Notepad :THandle;
    begin
      if ShellExecute(Handle, 'open', 'Notepad++.exe', '-multiInst -notabbar "Fichier.txt"', nil, SW_HIDE) > 32 then
      begin
        repeat
          Notepad := FindWindow('Notepad++', nil);
        until Notepad <> 0;
     
        SendMessage(Notepad, WM_NULL, 0, 0);
     
        WinApi.Windows.SetParent(Notepad, Panel1.Handle);
        SetWindowLong(Notepad, GWL_STYLE, (GetWindowLong(Notepad, GWL_STYLE) or WS_CHILD) and not(WS_DLGFRAME or WS_THICKFRAME));
        SetWindowPos(Notepad, 0, 0, 0, Panel1.ClientWidth, Panel1.ClientHeight, 0);
      end
      else Panel1.Caption := 'Erreur';
    end;
    Mais pas sûr que j'appliquerais ce principe.

    Sinon un exemple pour de la coloration syntaxique dans un RichEdit.

  6. #6
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    Merci Tourlourou,
    Je vais tester l'activeX.
    Belle journée à tous...
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  7. #7
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    744
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 744
    Points : 500
    Points
    500
    Par défaut
    Salut,

    Il y a aussi un memo syntaxique chez TMS software (payant) qui est préconfiguré pour bcp de langage de programmation , dont Delphi.

    bonne soirée.
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  8. #8
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    @Andnotor. Comme toi, la solution ShellExecute ne me semble pas très "intégrée". Le RichEdit devrait être plus propre.
    @Tourlourou : Je creuse le plugin...
    @PetitCoucou : Je vais regarder chez TMS pour voir si la colorisation peut être configurable pour s'adapter à mes langages.
    @SergioMaster : SynEdit est bien peu documenté et plus mis à niveau. Je n'ai encore pas cherché d'information sur scintilla.
    J'ai, par ailleurs, regardé dans les bibliothèques Jedi mais je ne la connais pas suffisamment pour trouver.

    @SergioMaster : Existe-t-il une solution élégante sous Firemonkey qui justifierait que je me frotte (enfin ) à c monde plus moderne ?
    Cordialement,
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 057
    Points : 41 003
    Points
    41 003
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par Galet Voir le message
    @SergioMaster : Existe-t-il une solution élégante sous Firemonkey qui justifierait que je me frotte (enfin ) à c monde plus moderne ?
    Bonne question que malheureusement, je ne vais pas développer de sitôt, mon agenda de néo-retraité étant plein.
    D'un point de vue FMX, je ne prendrai pas la version active x, cause multi-OS, la solution facile : les composants TMS mais j'en suis revenu.
    Il me semble que quelqu'un avait déjà abordé le sujet sur ce forum
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  10. #10
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    Merci à tous,
    Je classe le post "résolu" en attendant de travailler sérieusement sur le sujet.
    Je ne manquerai pas de revenir si je trouve une solution efficace à ce sujet.
    Belle journée à tous ...

    @SergioMaster : Merci tout de même. Dommage, J'aurais aimé avoir tord...de ne pas avoir encore basculé dans ce monde plein de surprise qu'est Firemonkey ...
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  11. #11
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 661
    Points : 3 630
    Points
    3 630
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    J'arrive après la bataille, mais lorsque je développais mon propre éditeur (GBEPad), j'avais commencé le développement en 2003 avec Delphi 7 et Synedit. Lors du passage à Delphi 2009 et l'Unicode, Synedit n'avait pas encore migré en Unicode et j'ai utilisé (et modifié) EControl Syntax Editor.

    Cela fait un moment que je n'ai pas touché à ce projet personnel (qui a quand même dépassé les 80 000 téléchargements depuis la première version mise enligne en décembre 2004) mais j'ai vu ces composants TextEditor qui semblent hérités de Synedit donc toujours en VCL mais ils ont l'air pas mal.

    Par manque de temps, cela fait un moment que je n'ai pas touché à GBEPad (la dernière modif a du être faite avec Delphi Berlin ou Tokyo).
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  12. #12
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    Merci Gbegreg pour ces infos.
    Tu n'arrives pas après la bataille car, étant sur d'autres projets, je n'ai pas encore eu le temps pour mettre en application.
    Toutes les idées sont bonnes pour faire avancer le schmilblic...
    J'avoue que je pensais, en postant ma question, que ce problème avait une solution, car sans doute partagé par de nombreux développeurs, notamment par l'équipe d'Embarcadero.
    Je ne manquerais pas de transmettre mes résultats si ceux-ci sont satisfaisants.
    Belle journée à tous,
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  13. #13
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    Bonjour à tous,
    Comme promis, petit compte rendu de test pour ceux qui souhaitent intégrer une colorisation syntaxique.
    Après plusieurs essais j'ai abandonné SynEdit et Notepad++.
    La piste de Gbegreg (Merci à lui) vers TextEditor me semble la meilleure. Même si la configuration du Highlighter n'est pas encore optimale le rendu est satisfaisant compte tenu du temps consacré.
    https://github.com/TextEditorPro/TTextEditor
    Belle journée à tous
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  14. #14
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 661
    Points : 3 630
    Points
    3 630
    Billets dans le blog
    2
    Par défaut
    La configuration du Highlighter dans TTextEditor se fait via des fichiers json (sous dossier "highlighters"). Il y a une certaine syntaxe à respecter pour définir tous les éléments nécessaires au surligneur syntaxique (mots clés, commentaires, chaines de caractères, opérateurs...).
    Le choix des couleurs du surligneurs se fait lui aussi via des fichiers json mais d'autres (ceux du sous dossier "themes").

    Qu'est ce qu'il te manque comme paramétrage ?
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  15. #15
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    Merci Jbegreg pour ton aide.
    J'ai bien trouvé les json qui sont fournis avec les packages. La configuration principale est assez simple et très rapide.

    Il me faut seulement creuser un peu plus pour déterminer toutes les configurations utiles.
    Mon seul problème de ce côté est donc seulement le temps.

    J'ai regardé la démo de ton développement. Pour le moment, je ne cherche qu'à visualiser le fichier sans modification. TextEdit remplit donc très bien cette fonction.
    Merci pour ton conseil...avisé

    Cordialement,
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Drag & drop : drag dans delphi et drop dans notepad
    Par scafc2 dans le forum Delphi
    Réponses: 6
    Dernier message: 20/07/2015, 12h12
  2. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  3. [Kylix] Migration delphi -> kylix
    Par Christian dans le forum EDI
    Réponses: 1
    Dernier message: 03/04/2002, 22h50
  4. Réponses: 4
    Dernier message: 27/03/2002, 11h03
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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