FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Calculatrice
par papydall Hier à 22:54

» EPP_V01 éditeur pour Panoramic
par Minibug Mer 19 Sep 2018 - 21:03

» [RESOLU] Quelle ligne est sélectionnée dans SYNEDIT ?
par Jean Claude Mer 19 Sep 2018 - 21:02

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Mer 19 Sep 2018 - 15:58

» Planétarium virtuel.
par Pedro Alvarez Mer 19 Sep 2018 - 9:28

» Demande pour Jack concernant PanExpress
par Marc Mar 18 Sep 2018 - 23:56

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Orbites de l’ensemble de Mandelbrot
par Jean Claude Lun 10 Sep 2018 - 21:08

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 Videz votre presse papier

Aller en bas 
AuteurMessage
pascal10000

avatar

Nombre de messages : 703
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Videz votre presse papier   Ven 24 Nov 2017 - 6:41

Videz votre presse papier
avec ce code

execute_wait "cmd.exe| /D /c @Echo Off | clip"

avant


apres
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 703
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Videz votre presse papier   Ven 24 Nov 2017 - 16:09

rudement inintéressant ça fait peur!!! lol!
après certain pleure que je ne dévoile pas mes code
idem pour l'astuce que j'ai posté
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 675
Age : 46
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: Re: Videz votre presse papier   Ven 24 Nov 2017 - 17:11

salut pascal10000

Ce code fait exactement la même chose sans passer par CMD:
Code:
clipboard_string_copy ""

Tu peux le vérifier en ouvrant le presse-papier(Executer--->clipbrd.exe)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 703
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Videz votre presse papier   Ven 24 Nov 2017 - 17:42

bsr
dsl de te contre dire mais ça ne fonctionne seulement
si ce sont des strings
si ce son des photos ou autre ça ne fonctionne pas.

sélectionne les icones de ton bureau et fait des essais
et tu verra le resulta
bon soir
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 11088
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Videz votre presse papier   Ven 24 Nov 2017 - 17:44

Tu as raison, Pascal10000. Vider le presse-papier par programme, quelque soit son contenu, c'est une vraie galère. J'e, sais quelque chose puisque j'essaie de le faire dans KGF.dll et ça ne marche pas toujours. Et donc, je garde ton astuce pour un éventuel emploi dans mes codes.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
silverman

avatar

Nombre de messages : 675
Age : 46
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: Re: Videz votre presse papier   Ven 24 Nov 2017 - 18:22

J'avais fait des essais avant de poster la commande cité plus haut. J'arrive à vider le presse-papier entièrement de cette manière; Etant sous windows XP et c'est peut être pour cela que je n'ai pas ce pb.
Je ne trouve pas logique que "l'ancien" contenu du presse-papier ne soit pas purgé par le "nouveau" contenu du presse-papier. Ca ne doit vraiment pas être pratique lorsque l'on a beaucoup de copier/coller à faire dans un logiciel du type 'paint.net', les images risquent se mélanger.

EDIT: En effet, c'est bien parceque je suis sous windows XP que je n'est pas ce pb. Le presse papier a évolué avec les nouvelles versions de windows, acceptant "plusieurs items" maintenant.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6326
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Videz votre presse papier   Ven 24 Nov 2017 - 19:44

J'ai essayé ta méthode silverman (CLIPBOARD_STRING_COPY "") aussi bien sous Windows 7 que sous Windows 10.
Dans les deux cas le presse-papier est bien nettoyé, aussi bien pour des images que pour du texte.
Enfin, disons plutôt que le 'coller' ne marche plus après, il ne trouve plus les éléments. Est-ce qu'il y a 'nettoyage' physique, je ne sais pas.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5991
Age : 68
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Videz votre presse papier   Sam 25 Nov 2017 - 1:17

Ça marche à tous les coups et sans faille !

Code:

rem ============================================================================
rem               Vider le contenu du presse-papier
rem La SUB Vider_Presse_Papier() utilise des fonctions de l’API de Windows.
rem Elle marche donc à tous les coups et sans faille !
rem ============================================================================
Vider_Presse_Papier()
message "Le presse-papier est vide"
end
rem ============================================================================
SUB Vider_Presse_Papier()
    dim_local ret%
    dll_on "user32"
    ret% = dll_call1("OpenClipboard",0) : ' ouvrir le presse-papier
    if ret% = 0 then message "Impossible d'ouvrir le presse-papier" : exit_sub
    ret% = dll_call0("EmptyClipboard")  : ' vider le presse-papier    
    ret% = dll_call0("CloseClipboard")  : ' fermer le presse-papier
    dll_off
END_SUB
rem ============================================================================


Dernière édition par papydall le Sam 25 Nov 2017 - 2:11, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
papydall

avatar

Nombre de messages : 5991
Age : 68
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Videz votre presse papier   Sam 25 Nov 2017 - 2:09

@Klaus
Clipboard.Clear;
En Delphi  ne convient pas ?

NB : Mes connaissances en Delphi sont vraiment modestes ! Crying or Very sad

J’ai rencontré ce code qui indique si le presse-papier contient une image ou un texte.
Code:

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;



Qu’en penses-tu ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

Nombre de messages : 11088
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Videz votre presse papier   Sam 25 Nov 2017 - 8:50

Citation :
Clipboard.Clear;
En Delphi ne convient pas ?
Comme je l'ai dit dans un autre post hier, c'est comme ça que je fais actuellement. Malheureusement, cela ne marche pas à tous les coups, et je n'ai pas réussi à comprendre pourquoi.

Citation :
SUB Vider_Presse_Papier()
dim_local ret%
dll_on "user32"
ret% = dll_call1("OpenClipboard",0) : ' ouvrir le presse-papier
if ret% = 0 then message "Impossible d'ouvrir le presse-papier" : exit_sub
ret% = dll_call0("EmptyClipboard") : ' vider le presse-papier
ret% = dll_call0("CloseClipboard") : ' fermer le presse-papier
dll_off
END_SUB
Cette piste est intéressante. Je n'ai pas encore essayé la fonction EmptyClipboard de User32.dll, et c'est ce que je vais faire maintenant. Je rencontre de temps en temps ce problème dans Synedit_Editor, au démarrage. Ma solution pour le moment consiste à le relancer... un peu pauvre. Donc, merci pour le tuyau !

Pour identifier le contenu du presse-papier, ta solution est opérationnelle, quoique (très) partielle. Elle ne prend en compte que deux formats bien particuliers, alors qu'il y en a une multitude. Mais oui, dans les fonctions, j'utilise les identifiants de format du presse-papier pour gérer son cintenu, et j'ai même mis à disposition une fonction dans KGF.dll pour connaître le format actuel:
http://klauspanoramic.esy.es/GetClipboardFormat.html#GetClipboardFormat_fr
dans les "Fonctions diverses". Elle retourne 25 codes format différents...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 6326
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Videz votre presse papier   Sam 25 Nov 2017 - 11:04

Je n'ai pas essayé, mais je suppose que la fonction GetClipboardFormat renvoie 0 quand le presse-papier est vide, mais elle renvoie également 0 quand le format contenu est inconnu, donc le 0 renvoyé ne peut pas être un critère absolu de presse-papier vide ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 11088
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Videz votre presse papier   Sam 25 Nov 2017 - 11:22

Exact. D'ailleurs, je viens de mettre une nouvelle version de KGF.dll en ligne, avec une amélioration de ma fonction ClearClipboard, selon une infirmation de Papydall, que je salue au passage. Cette fonction efface le presse-papier, quelque soit son contenu. Et, accessoirement, elle en rend le programme appelant propriétaire.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
pascal10000

avatar

Nombre de messages : 703
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Videz votre presse papier   Sam 25 Nov 2017 - 11:23

bjr a tous

merci papydall ton code fonctionne parfaitement
nickel chrome
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6326
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Videz votre presse papier   Sam 25 Nov 2017 - 12:39

Le but est d'effacer le presse-papier, quel que soit son contenu, de quelque façon que ce soit. Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5991
Age : 68
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Videz votre presse papier   Sam 25 Nov 2017 - 14:46

Bien voilà !
En partageant, notre savoir ne fait qu’augmenter.
Merci à tous les participants.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



Nombre de messages : 6326
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Videz votre presse papier   Sam 25 Nov 2017 - 15:32

Je vais peut-être dire une bêtise, mais personnellement je n'ai jamais éprouvé le besoin de vider le presse-papier.

J'ai toujours considéré que le fait d'y 'copier' un élément remplaçait son contenu par ce nouvel élément, qui y demeure jusqu'à ce qu'on y copie un nouvel élément, lequel remplace entièrement le précédent.
Et que si par hasard une erreur est signalée au moment de la 'Copy' (élément trop volumineux pour être copié dans le presse-papier), c'est parce que l'élément est effectivement trop volumineux pour l'espace alloué par le système au presse-papier et non parce qu'il est déjà occupé...

J'ai tout faux ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 11088
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Videz votre presse papier   Sam 25 Nov 2017 - 16:49

Citation :
J'ai tout faux ?
Oui et non.

Non, tu ne peux pas raisonner en termes de "volume" pour le presse-papier (voir mon post de ce jour ici).

Par contre, le presse-papier peut être "occupé" par un autre programme, et de ce fait, il peut être impossible de copier quelque chose dedans. C'est pour cette raison que ma fonction ClearClipboard prend possession du presse-papier avant d'en effacer le contenu.

Et oui, si tu es propriétaire du presse-papier (la dernière opération "copier" est issue de ton programme), ou si personne n'est propriétaire (le dernier programme qui a fait un "copier" dans le presse-papier est terminé), alors le simple fait de copier n'importe quoi dans le presse-papier a automatiquement deux effets: ton programme en devient propriétaire et efface le contenu actuel du presse-papier, puis il copie ses données dedans.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 6326
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Videz votre presse papier   Sam 25 Nov 2017 - 17:04

Merci Klaus pour tes explications, bien claires comme toujours.
Donc (je l'avais bien lu après coup dans ton post précité), ce n'est pas aussi simple que je pensais, le presse-papier n'est pas du tout une zone mémoire réservée quelque part, et ils se pose des problèmes d'utilisation simultanée par plusieurs programmes différents.
Dans ce cas je comprends mieux la nécessité éventuelle d'un 'nettoyage' ponctuel.
Encore merci à toi en tout cas.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5991
Age : 68
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Videz votre presse papier   Sam 25 Nov 2017 - 17:45

Rendez-vous sur cette page

J’ai téléchargé et installé cliptray à partir de ce cite

C’est in English mais c’est facile à comprendre : suivez les explications donné dans le 1er lien.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re: Videz votre presse papier   

Revenir en haut Aller en bas
 
Videz votre presse papier
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Récupérer des images du presse-papier
» Un presse-papier amélioré
» Ajouter un lien au presse papier de ceux qui ont copier coller l'un de mes topics
» Foxit Reader et ASK
» Quelle partie de votre cerveau utilisez-vous ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: