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

 Delphi Discussion :

Délai de remplissage du presse papier


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 223
    Par défaut Délai de remplissage du presse papier
    par Delphi, je commande un logiciel de bourse MS.
    Delphi va chercher des données dnas ce logiciel MS qui lui, les a récupérées par le presse papier. Delphi traite ces données et les réinjecte dnas le logiciel MS par le presse papier.
    Mon problème est que les données en question sont assez importantes et le délai de remplissage, vidage du presse papier est variable (temps variable selon le nombre de donnnées et le degré d'occupation du CPU), j'ai bien sur laissé une temporisation, mais "batarde" car beaucoup trop longue parfois
    D'où ma question:
    comment peut on savoir si l'opération vidage (ou remplissage) du presse papier par un logiciel autre que delphi est terminé ou non?
    merci à vous .
    Jean Pierre

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 620
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 620
    Par défaut Tester les formats
    @potili2, peut être en testant les différents formats.

    Une fiche, un Tmemo, un Timage.

    Uses

    ClipBrd;


    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
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      MyHandle: THandle;
    begin
      Clipboard.Open;
      if Clipboard.HasFormat(CF_TEXT) then
      begin
        MyHandle:=Clipboard.GetAsHandle(CF_TEXT);
        Memo1.Lines.Add(StrPas(GlobalLock(MyHandle)));
        GlobalUnlock(MyHandle);
      end;
      if (Clipboard.HasFormat(CF_BITMAP)) or
        (Clipboard.HasFormat(CF_PICTURE)) then
        Image1.Picture.Assign(Clipboard);
      Clipboard.Close;
     
     
    end;
    Voir en ajoutant d'autres formats.

    @+,

    Cincap

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 223
    Par défaut
    merci pour cette réponse qui fonctionne bien.
    maintenant, il me reste encore le problème inverse:
    si je copie les données du presse papier dans l'application MS, je ne peux pas savoir quand c'est terminé puisqu'il n'y a pas modification du presse papier, dans ce cas.
    Comment faire?
    merci
    Jean Pierre

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 620
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 620
    Par défaut Quelle commande ?
    @ potili2, quelle commande fais tu pour copier ces infos dans l'appli MS.

    Peut être tu peux inclure un TprogressBar avec une boucle dans le code de la commande.

    Mais sans voir un bout de code, difficile.

    @+,

    Cincap

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 223
    Par défaut
    je simule un "paste" dans l'application MS
    avec appui de touches
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                handledatactiondep := childdepart;
                Keybd_event(VK_LCONTROL,0,0,0);sleep(10);   ////   //        copie du presse papier dans la fenetre datas
                Keybd_event(ord('V'),0,0,0);sleep(10);
                Keybd_event(VK_LCONTROL,0,KEYEVENTF_KEYUP,0);sleep(10);   //
                Keybd_event(ord('V'),0,KEYEVENTF_KEYUP,0);
    et il faudrait suspendre delphi pendant le temps exact de ce chargement car ce temps est très variable selon les données

Discussions similaires

  1. Vérification du remplissage du presse papier
    Par LiliPod dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/03/2011, 12h32
  2. Comment copier une image dans le presse papier.
    Par cprogil dans le forum Langage
    Réponses: 7
    Dernier message: 09/09/2003, 15h54
  3. [VBA-E] Vider le presse-papier
    Par tinej dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/12/2002, 09h33
  4. [Système] Vider le Presse Papier
    Par babe dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/09/2002, 17h46
  5. Copier une image (jpeg) dans le presse papier
    Par benj63 dans le forum C++Builder
    Réponses: 2
    Dernier message: 29/07/2002, 14h51

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