FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» PANORAMIC V 1
Contenu du presse-papier Emptypar papydall Aujourd'hui à 2:21

» Gestion d'un système client-serveur.
Contenu du presse-papier Emptypar Klaus Hier à 23:59

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Contenu du presse-papier Emptypar Marc Hier à 12:14

» @Jack
Contenu du presse-papier Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Contenu du presse-papier Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Contenu du presse-papier Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Contenu du presse-papier Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Contenu du presse-papier Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Contenu du presse-papier Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Contenu du presse-papier Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Contenu du presse-papier Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Contenu du presse-papier Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Contenu du presse-papier Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Contenu du presse-papier Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Contenu du presse-papier Emptypar leclode Mer 17 Avr 2024 - 11:07

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Funko POP! Jumbo One Piece Kaido Dragon Form : ...
Voir le deal

 

 Contenu du presse-papier

Aller en bas 
2 participants
AuteurMessage
JL35




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

Contenu du presse-papier Empty
MessageSujet: Contenu du presse-papier   Contenu du presse-papier EmptyVen 24 Nov 2017 - 22:02

Pour ne pas polluer le post de pascal10000 (vider le presse-papier) et suite à la remarque de silverman, un petit exemple qui vaut ce qu'il vaut pour connaître le contenu du presse-papier:
Code:
LABEL Etat,Raz
DIM typ$,i%,w$,h$,a$
WIDTH 0,300: HEIGHT 0,90: BORDER_SMALL 0: FONT_BOLD 0: FONT_SIZE 0,12
CAPTION 0,"   -   CONTENU   DU   PRESSE 6 PAPIER   -": COLOR 0,200,255,255
ALPHA 1
BUTTON 2: TOP 2,HEIGHT(0)-66: LEFT 2,WIDTH(0)/2-40: CAPTION 2,"Raz clip"
ON_CLICK 2,Raz
GOSUB Etat
END
' ==============================================================================
Etat:
Clip()
i% = VAL(LEFT$(typ$,1))
SELECT i%
  CASE 0: a$ = "Presse-papier vide"
  CASE 1: typ$ = RIGHT_POS$(typ$,3): i% = INSTR(typ$,",")
          a$ = "Texte, "+LEFT$(typ$,i%-1)+" lignes, "+RIGHT_POS$(typ$,i%+1)+" octets."
  CASE 2: typ$ = RIGHT_POS$(typ$,3): i% = INSTR(typ$,","): w$ = LEFT$(typ$,i%-1)
          typ$ = RIGHT_POS$(typ$,i%+1): i% = INSTR(typ$,","): h$ = LEFT$(typ$,i%-1)
          a$ = "Image, "+w$+"x"+h$+", "+RIGHT_POS$(typ$,i%+1)+" octets."
END_SELECT
CAPTION 1,a$
RETURN
' ==============================================================================
Raz:
  CLIPBOARD_STRING_COPY "": ' Raz du presse-papier, méthode silverman
  GOSUB Etat
RETURN
' ==============================================================================
SUB Clip()
  ' Contenu du presse-papier -> typ$ ="0" vide, ="1,nl" texte+nb de lignes,
  ' ="2,w,h" image de dimensions w x h
  DIM_LOCAL p%,nl%,i%,w%,h%,v%(8),sz%,ff$
  ff$ = "C:\TEMP\Img.bmp"
  p% = 950: PICTURE p%: HIDE p%: WIDTH p%,123: HEIGHT p%,456
  MEMO p%+1: HIDE p%+1: WIDTH p%+1,5000
  CLIPBOARD_PASTE p%: CLIPBOARD_PASTE p%+1
  typ$ = "0": ' clip vide
  nl% = COUNT(p%+1)
  IF nl% > 0
      sz% = 0
      FOR i% = 1 TO COUNT(p%+1): sz% = sz%+LEN(ITEM_READ$(p%+1,i%)): NEXT i%
      sz% = sz%+(nl%-1)*2: ' + les rc/al
      typ$ = "1,"+STR$(nl%)+","+STR$(sz%): ' type texte+nb de lignes+taille
  ELSE
      FILE_SAVE p%,ff$
      FILEBIN_OPEN_READ 9, ff$: sz% = FILEBIN_SIZE(9)
          FILEBIN_POSITION 9, 18: FILEBIN_BLOCK_READ 9,8,v%(0)
          w% = v%(0)+256*v%(1)+65536*v%(2)+16777216*v%(3)
          h% = v%(4)+256*v%(5)+65536*v%(6)+16777216*v%(7)
      FILEBIN_CLOSE 9: FILE_DELETE ff$
      IF w%<>123 OR h%<>456
          typ$ = "2,"+STR$(w%)+","+STr$(h%)+","+STR$(sz%): ' type image,dimensions,taille
      END_IF
  END_IF
  DELETE p%: DELETE p%+1
END_SUB
' ==============================================================================
Le programme donne le contenu du presse papier:
- Type 0 s'il est vide (enfin, ce n'est ni un texte ni une image)
- Type 1 si c'est un texte, avec le nombre de ligne et le volume en octets
- Type 2 si c'est une image, avec les dimensions (w x h) et la taille en octets
J'ai testé sous Windows 7 et sous Windows 10, avec du texte ou des images, je ne vois pas de différence, et ça semble marcher dans les deux cas...
Maintenant, peut-être que quelque chose m'échappe, notamment sans doute le volume occupé par le presse-papier malgré qu'il n'y ait plus rien d'accessible...

Je m'aperçois que je n'ai pas pensé à un truc: un fichier binaire, par exemple un exécutable... qu'on peut copier dans le presse-papier, mais qui n'est pas détecté ci-dessus... aïe !
Est-il possible de 'coller' du binaire dans une structure Panoramic ?


Dernière édition par JL35 le Ven 24 Nov 2017 - 22:47, édité 1 fois
Revenir en haut Aller en bas
Klaus

Klaus


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

Contenu du presse-papier Empty
MessageSujet: Re: Contenu du presse-papier   Contenu du presse-papier EmptyVen 24 Nov 2017 - 22:35

Citation :
Est-il possible de 'coller' du binaire dans une structure Panoramic ?
Non. Et en ce qui concerne les types d'information possiblement contenues dans le presse-papier, ils sont nombreux ! Voici les formats de base:
Contenu du presse-papier Aa114
Mais ce ne sont que les formats "habituels". Voici la liste des catégories de formats:
Citation :

Standard Clipboard Formats
Registered Clipboard Formats
Private Clipboard Formats
Multiple Clipboard Formats
Synthesized Clipboard Formats
Information extraite de la page MSDN:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms649013(v=vs.85).aspx

Tu vois, le problème est assez complexe. Et tu sais bien que tu peux placer dans le presse-papier à peu près n'importe quoi - une sélection de fichiers, une sélection de cellules d'un tableau Excel, une partie d'une page internet, ...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




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

Contenu du presse-papier Empty
MessageSujet: Re: Contenu du presse-papier   Contenu du presse-papier EmptyVen 24 Nov 2017 - 22:42

Bonsoir Klaus,

On s'est croisés, effectivement j'étais justement en train de lire la doc de la fonction GetClipboardFormat de KGF.dll, et de m'aperçevoir que le problème était bien plus compliqué que je pensais.
Bon, eh bien je vais en rester là (forcément !), avec mon texte et mes images.

En ce qui concerne les applications en Panoramic, on ne peut pas lire du binaire depuis le presse-papier, mais on ne peut pas non plus en mettre. Donc la fonction peut peut-être servir quand même... je me console comme je peux...

Bonne soirée à toi en tout cas, et merci pour les précisions.
Revenir en haut Aller en bas
Contenu sponsorisé





Contenu du presse-papier Empty
MessageSujet: Re: Contenu du presse-papier   Contenu du presse-papier Empty

Revenir en haut Aller en bas
 
Contenu du presse-papier
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Contenu du presse-papier
» Un presse-papier amélioré
» MULTICOPIES - un presse papier multiple
» Récupérer des images du presse-papier
» Gestion du presse-papier

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: