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
» Dessin 2D: largeur de trait
par papydall Aujourd'hui à 18:02

» Projet de planétarium virtuel.
par Pedro Alvarez Aujourd'hui à 16:28

» PanExpress : l'éditeur Panoramic avec création d'objet
par Jean Claude Hier à 20:32

» Animation: Feux de signalisation
par Minibug Hier à 20:28

» Quantité de mémoire utilisée par un exe
par Jack Mar 19 Juin 2018 - 16:39

» Problème avec 'file_load'.
par Pedro Alvarez Lun 18 Juin 2018 - 8:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 14:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 19:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 19:14

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 20:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 20:52

» Cadre pour image
par Jean Claude Mar 12 Juin 2018 - 16:31

» Créateur d'objets Panoramic
par Minibug Mar 12 Juin 2018 - 14:02

» Planétarium gratuit.
par Jean Claude Sam 9 Juin 2018 - 18:50

» Comment afficher une image sans fond.
par JL35 Sam 9 Juin 2018 - 14:16

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2018
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
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 : 644
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 : 644
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 : 6281
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 En ligne
papydall

avatar

Nombre de messages : 5954
Age : 67
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 : 5954
Age : 67
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 : 6281
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 En ligne
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 : 6281
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 En ligne
papydall

avatar

Nombre de messages : 5954
Age : 67
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 : 6281
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 En ligne
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 : 6281
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 En ligne
papydall

avatar

Nombre de messages : 5954
Age : 67
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é
» Foxit Reader et ASK
» [Résolu] mettre l'animation dans le presse papier
» 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: