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

API, COM et SDKs Delphi Discussion :

Quelle fonction(s) API pour passer une valeur à une autre application ?


Sujet :

API, COM et SDKs Delphi

  1. #1
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut Quelle fonction(s) API pour passer une valeur à une autre application ?
    J'ai une petite application qui permet de sélectionner une couleur et d'en composer le code selon divers langages (HTML, VB, Pascal...). C'est une petite fenêtre qui flotte au dessus des autres et que je peux appeler (ouvrir) depuis l'éditeur de texte TextPad (que j'aime beaucoup pour le HTML, entre autres).

    Je voudrais, lorsque mon appli est ouverte, pouvoir envoyer directement la valeur de la couleur choisie au point d'insertion dans le document actif dans TextPad. Seulement voilà, j'ignore quelle(s) fonction(s) de l'API utiliser et comment l'(es) utiliser.

    En ce moment, j'ouvre l'application (.exe) via le menu Outils de TextPad, sans problèmes. Et j'utilise le presse-papiers. Ça aussi ça va, mais il faut taper Alt+Tab, puis Ctrl+V... et c'est ch...t. Il me semble qu'un bouton insérer serait plus simble.

    La question est dans le titre.
    Merci.

  2. #2
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 787
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 787
    Points : 15 196
    Points
    15 196
    Par défaut
    Salut.

    Au départ je dirais "SendMessage".

    Mais je suis sûr qu'en fouillant le web, tu vas trouver plein d'exemples pour envoyer du texte à Notepad (avec SendText, par exemple), et je pense que ça doit ressembler à ton éditeur.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  3. #3
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Ha ? Ho ? J'étais pas tombée sur celui-là.

    Je vais voir et je vous donne des nouvelles.

    Merci

    [Edit]
    Je ne sais pas trop si cet exemple ferait l'affaire. J'avais moi aussi d'abord pensé à SendMessage, mais c'est son utilisation dans ce cas précis qui me... comment dirais-je... m'étourdis (pour le moment c'est le seul terme qui me vient). De plus tous les exemples que j'ai chez moi sont en VB et aucun ne fait précisément ce que je veux.

    Je dois savoir quelle application (TextPad pour ce cas-ci, mais ça pourrait tout aussi bien être l'IDE Delphi) a appelé mon SimpleColorSelector (c'est le nom de mon appli) et lui retourner la valeur sélectionnée au point d'insertion.

    Je continue mes fouilles archéologiques tout en restant ouverte à vos suggestions.

  4. #4
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 787
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 787
    Points : 15 196
    Points
    15 196
    Par défaut
    Citation Envoyé par zazaraignée Voir le message
    (...) Je dois savoir quelle application (...) a appelé mon SimpleColorSelector (...) et lui retourner la valeur sélectionnée au point d'insertion. (...)
    Ah, j'avais pas compris ça comme ça !
    En fait je pensais que ta fenêtre de sélection de couleurs flottait "AlwaysOnTop" et que tu bricolais avec ton éditeur, puis quand tu avais choisi la couleur qui te convenait, hop, un clic dans le sélecteur et zou, la valeur est insérée dans l'éditeur. Et ça c'est fastoche à faire, je crois.
    Évidement, si tu te mets à compliquer les choses on va pas y arriver,
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #5
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Hé oui! elle flotte grâce au SetWindowPos que l'on m'a précédemment expliqué. Et Ô combien c'était simple (contrairement avec VB).

    Le problème avec les fonctions de l'API Windows, c'est quelles ont été développé en C (je crois), que j'ai des exemples en VB et que je voudrais les utiliser en Pascal objets (Delphi). Et je bute avec qui fait quoi (je ne comprends pas toujours quel fil est tiré par telle ou telle fonction de l'API) et surtout avec les types de données qui diffèrent d'un langage à l'autre...

    Je me fais l'effet d'un légionnaire romain qui serait téléporté dans le vaisseau Enterprise (imaginez la tête de Spock).

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 723
    Points : 13 216
    Points
    13 216
    Par défaut
    Le problème n'est pas si compliqué

    Il suffit de dire à ta fenêtre de ne jamais s'activer. Cela se fait en surchargeant les paramêtres de création et en ajoutant WS_EX_NOACTIVATE.
    Tu n'as plus ensuite qu'à remplir le buffer de clavier avec Keybd_Event. C'est tout

  7. #7
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Hmmm...

    explique moi comment je pourrait utiliser mon application, créer une couleur en modifiant les paramètres RGB pour ensuite la retourner à mon éditeur de texte ou mon IDE active, sans que sa fenêtre soit active à un quelconque moment durant son utilisation.

    Lets see !
    Images attachées Images attachées  

  8. #8
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    J'ai trouvé un tutoriel en anglais
    http://delphi.about.com/od/windowssh.../apicourse.htm
    J'explore à tout hasard. La nord-américaine que je suis devrait arriver à décrypter la chose.

    @+

  9. #9
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 787
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 787
    Points : 15 196
    Points
    15 196
    Par défaut
    Yop !

    En regardant la copie d'écran de ton petit programme, ben il devrait fonctionner comme je le supposais, et tu as embrouillé Andnotor !

    Donc tu as ton sélecteur de couleurs qui zone dans un coin de ton écran pendant que tu tapes ton texte hachteumeuleu avec ton Textpad et là où on voit le curseur tu veux insérer ton code de couleur, c'est donc bien comme je disais : un SendMessage depuis le bouton Insérer vers le composant Éditeur de Textpad (une boucle avec EnumWindows pour trouver Textpad, une boucle avec EnumChildWindows pour trouver le bon compo) avec le texte dans le TEdit au dessus du bouton et hop !

    Tiens, jette un œil là (j'avais ça dans un coin, je viens de le re-tester et ça fonctionne avec Notepad), le lien pour télécharger est sur la droite de la page.

    [HS] Zappe pas les traits d'union sur tes pages !
    racontez-vous... mettez-y...
    [/HS]
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  10. #10
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Citation Envoyé par Jipété
    [HS] Zappe pas les traits d'union sur tes pages !
    Citation:
    racontez-vous... mettez-y...
    [/HS]
    C'est juste une page exemple, j'ai pas l'intention de publier...
    hachteumeuleu
    Je m'en tape les cuisses.

    Ok! Je jette un oeil... Paf! Aïe! Pile poil dans l'écran...

    [Edit]
    C'est téléchargé. J'ouvre et je regarde.
    Bonne nuit et merci encore tout l'monde pour votre soutien.

    Si je trouve, je poste la solution. Sinon... je pleure. Naaan! je vous dis, c'est tout.

    Bonne nuit.

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 723
    Points : 13 216
    Points
    13 216
    Par défaut
    Si tu veux entrer du texte directement dans l'Edit, là il y aura un soucis en effet ! Sinon ça fonctionne très bien avec des ScrollBars.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
     
    type
      TForm1 = class(TForm)
        Button1: TButton;
        ScrollBar1: TScrollBar;
        procedure Button1Click(Sender: TObject);
      protected
        Procedure CreateParams(var params: TCreateparams); override;
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    { TForm1 }
     
    procedure TForm1.CreateParams(var params: TCreateparams);
    begin
      inherited;
      params.exstyle := params.exstyle or WS_EX_NOACTIVATE;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      sColor :string;
      i: integer;
    begin
      sColor := IntToHex(ScrollBar1.Position, 2);
     
      for i := 1 to Length(sColor) do
      begin
        Keybd_Event(Ord(sColor[i]), 0, 0, 0);
        Keybd_Event(Ord(sColor[i]), 0, KEYEVENTF_KEYUP, 0);
      end;
    end;
     
    end.

  12. #12
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Heu... (N'ajustez pas votre appareil...) je crois que je n'ai pas tout compris.

    juste pour spécifier. Je n'ai pas utilisé de scrollBar parce dès qu'elles ont le focus, l'ascenseur se met à clignotter, ce qui a le don de me faire ch..r. C'est pourquoi j'ai préféré le trackBar.

    Ce composant est chouette, non ? Plus tard, quand je serai grande... non, quand je serai plusse-meilleure-bonne-programmeuse-de-Pascal-en-Delphi, je pourrai mettre des gradations de couleur dans le fond blanc de ceux-ci. Mais pour l'instant, je me concentre sur le problème présent. Faire en sorte que ça marche comme je le souhaite. Les fioritures, on verra pour après.

    J'allais demander c'est quoi CreateParams... mais je réalise qu'après tout, j'ai l'aide de Delphi chez moi. Un autre truc à regarder. Merci pour cette piste. Je vais voir ce que je peux en faire.

    Au fait, juste pour que ce soit clair pour tous : Mes étoiles de soit-disant experte confirmée, je me les suis gagnée à traîner sur les forums VB6 et VBA Excel. C'est avec VB6 que j'ai commencé à programmer. Mais j'aime bien Delphi parce qu'on peut facilement créer de jolis petits programmes "stand alone" qui ne nécessitent pas l'installation d'un tas de dll et d'autres trucs plus ou moins utiles ou fortement redondants.

  13. #13
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 787
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 787
    Points : 15 196
    Points
    15 196
    Par défaut
    Citation Envoyé par zazaraignée Voir le message
    juste pour spécifier. Je n'ai pas utilisé de scrollBar parce dès qu'elles ont le focus, l'ascenseur se met à clignotter, ce qui a le don de me faire ch..r.
    ScrollBar.TabStop := False; devrait régler ce problème.

    Citation Envoyé par zazaraignée Voir le message
    (...) Mais j'aime bien Delphi parce qu'on peut facilement créer de jolis petits programmes "stand alone" qui ne nécessitent pas l'installation d'un tas de dll et d'autres trucs plus ou moins utiles ou fortement redondants.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  14. #14
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    @Andnotor // faudrait pas te sentir ponité

    J'ai examiné de plus près les quelques lignes de code que tu m'as envoyées et si j'ai bien compris

    Une fois la couleur 'settée', pour utiliser un franglicisme, je clique dans mon éditeur de texte (ou de code, selon), et là, vu que mon appli est visible - elle flotte toujours - je peux cliquer sur le bouton même si elle n'ai pas le focus et envoyer des touches clavier à l'éditeur de texte...

    J'ai essayé et pas très bien réussi. Ça m'envoie un message d'erreur suivant
    ---------------------------
    Notification d'une exception du débogueur
    ---------------------------
    Le projet PSimpleColorSelector.exe a provoqué une classe d'exception EOSError avec le message 'Erreur système. Code : 87.
    Paramètre incorrect'. Processus stoppé. Utilisez Pas-à-pas ou Exécuter pour continuer.
    ---------------------------
    OK Aide
    ---------------------------
    La fenêtre CPU (avec laquelle je suis très peu familière) arrête le curseur sur la ligne Tread 1096 (très instructif !), avec deux colonnes de nombres affichés en hexadécimal (probablement une adresse mémoire et son contenu) et un message push dword ptr [ebx]...

    Je vais te (vous : pour les autres lecteurs aussi) faire grâce de tout le code de l'unité. Juste les bouts que j'ai ajouté en prenant ton code comme modèle :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    type
     
      TFrmColorSelector = class(TForm)
        trbRouge: TTrackBar;    // début de la liste des composants et proc. évén.
        {...}
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
        {et ce que j'ai ajouté}
      protected
        procedure CreateParams(var params : TCreateparams); override;
      private   // ça c'était là...
        { Déclarations privées }
        procedure AfficherCouleur();
    end;
     
    var
      FrmColorSelector: TFrmColorSelector;
     
    implementation
     
    {$R *.dfm}
     
    procedure TFrmColorSelector.CreateParams(var params : TCreateparams);
    begin
        params.ExStyle := params.ExStyle or WS_EX_NOACTIVATE;
    end;   
     
    {... et d'autre code... 
     
    entre autres :}
     
     
     
    procedure TFrmColorSelector.trbRougeChange(Sender: TObject);
    begin
        case TTrackBar(Sender).Tag of
          0: pnlRouge.Caption := IntToStr(TTrackBar(Sender).Position);
          1: pnlVert.Caption := IntToStr(TTrackBar(Sender).Position);
          2: pnlBleu.Caption := IntToStr(TTrackBar(Sender).Position);
          end;
        AfficherCouleur;
        AfficherCode;
    end;
     
    procedure TFrmColorSelector.AfficherCouleur();
    var
        laCouleur : TColor;
        liR : byte;
        liG : byte;
        liB : byte;
    begin
        liR := Byte(trbRouge.Position);
        liG := Byte(trbVert.Position);
        liB := Byte(trbBleu.Position);
        laCouleur := RGB(liR, liG, liB);
        pnlCouleur.Color := laCouleur;
    end;
     
    {et enfin le bouton !}
     
    procedure TFrmColorSelector.btnInsererClick(Sender: TObject);
    var
        lsCode : String;
        liI : Integer;
    begin
    // Pour insérer directement au point d'insertion de l'application appelante...
        lsCode := edtCode.Text;
        for liI := 1 to Length(lsCode) do
        begin
            Keybd_Event(Ord(lsCode[liI]), 0, 0, 0);
            Keybd_Event(Ord(lsCode[liI]), 0, KEYEVENTF_KEYUP, 0);
        end;
    end;
    Mais je cherche toujours une autre solution faisant appel à SendMessage car il me semble que c'est plus près de ce que je cherche.

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 723
    Points : 13 216
    Points
    13 216
    Par défaut
    Dans CreateParams, il te manque un inherited

  16. #16
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Je suis atteinte d'hypermétropie galopante !

    Qu'est-ce que j'ai honte...

    Je re-teste et on verra si ça me convient.

    [Edit]
    Le code marche, mais ne fait pas ce qui est prévu. En fait il fait bien ce qui est programmé, mais je constate que ce n'est pas ce que je veux.

    • Le texte ne s'insère pas au point d'insertion, mais à la fin de la ligne courante.
    • Le texte inséré ne correspond pas au texte contenu dans le champ Edit : Les majuscules deviennent des majuscules et certains caractères sont soit ignorés soit remplacés.


    Exemple:
    Code avant insertion (une barre verticale simule le curseur d'insertion).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <html>
      <head>
        <title>Salut Andnotor</title>
        <style type="text/css">
          p {
            border-color: |;
            color: ;
          }
        </style>
      </head>
    (...)
    Ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <style>
          p {
            border-color: ;dff2ae  <!-- insertion à la fin -->
            color: ;
          }
    C'est pire si je sélectionne l'option de fonction RGB qui est sensé insérer RGB(223, 242, 174).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <style>
          p {
            border-color: rgb;
            color: ;223 242 174
          }
    [soupir]

    merci quand même... je garde ce bout de code quelque part parmi mes découvertes et je continue mes fouilles de mon côté.

    Si jamais quelqu'un a une autre idée... suis preneuse.

  17. #17
    Membre confirmé
    Homme Profil pro
    Santé
    Inscrit en
    Septembre 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Santé
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2010
    Messages : 290
    Points : 534
    Points
    534
    Par défaut
    Bonsoir,

    Je suis cet échange avec intérêt depuis le début en me demandant « mais qu'a donc le presse-papiers de si ringard qu'on ne veuille plus l'utiliser ? ».

    C'est, je trouve, le premier instrument à considérer lorsqu'on veut échanger des données entre deux applications (c'était d'ailleurs le seul aux débuts de Windows, et il est encore là, bien vaillant, pratique, souple et bien connu de tous les utilisateurs). Pourquoi est-il tant négligé par les programmeurs ?

    Tout cela pour te suggérer un p'tit bitoniau "Copier dans le presse-papiers" dans ton application flottante (puisque, si j'ai bien compris, tu as la souris en main à ce moment-là et qu'il suffit d'un clic).
    Ensuite, dans TextPad, un p'tit Ctrl-V en tapant ton texte pour insérer la valeur quand et où tu veux... Et roule Raoul !

    Ergonomie et économie, non ?

  18. #18
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Ben... C'est que, à l'utilisation, ça m'oblige à faire des Alt + Tab à tous les coins de rues pour aller d'une application à l'autre.

    Je crois que je veux le meilleur des deux mondes : que mon application soit indépendante en soi et en même temps qu'elle se comporte comme un plug-in pour TextPad (ou autre éditeur de texte ou de code...) sans être véritablement un plug-in. Il me semble que ça doit pouvoir se faire. Mais peut-être que j'en demande trop à mes maigres compétences.

    Si dans l'aventure j'apprends quelque chose, ce sera déjà très bien.

  19. #19
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    C'est quand on a quelque chose sous le nez qu'on ne le voit pas...

    J'ai trouvé ce tutoriel, pas loin... Je lis, je teste et je reviens.

    Si ça marche, je mets le code, l'appli et le "How to use it". Promis. Gratos.

  20. #20
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 787
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 787
    Points : 15 196
    Points
    15 196
    Par défaut
    Salut, zaza !
    Citation Envoyé par zazaraignée Voir le message
    J'ai trouvé ce tutoriel, pas loin... Je lis, je teste et je reviens.
    J'ai survolé l'article, et àmha, c'est mort pour toi, à moins que tu aies le code source des applis...
    Car là, on joue avec un émetteur (ton bazar à couleurs) et un receveur, et comment tu vas implémenter le code de réception dans le receveur, mmmh ?
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/10/2014, 00h25
  2. Réponses: 1
    Dernier message: 02/04/2011, 11h14
  3. Réponses: 1
    Dernier message: 22/09/2005, 15h46
  4. API pour récupérer la valeur d'un champ Edit
    Par buteiduil dans le forum Windows
    Réponses: 4
    Dernier message: 15/05/2005, 22h32
  5. Réponses: 1
    Dernier message: 22/11/2004, 10h46

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