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
» Logiciel de planétarium.
Un presse-papier amélioré Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Un presse-papier amélioré Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Un presse-papier amélioré Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Un presse-papier amélioré Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Un presse-papier amélioré Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Un presse-papier amélioré Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Un presse-papier amélioré Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Un presse-papier amélioré Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Un presse-papier amélioré Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Un presse-papier amélioré Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Un presse-papier amélioré Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Un presse-papier amélioré Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Un presse-papier amélioré Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Un presse-papier amélioré Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Un presse-papier amélioré Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment :
Boutique Nike : -25% dès 50€ sur TOUT le ...
Voir le deal

 

 Un presse-papier amélioré

Aller en bas 
+2
maelilou
Klaus
6 participants
AuteurMessage
Klaus

Klaus


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

Un presse-papier amélioré Empty
MessageSujet: Un presse-papier amélioré   Un presse-papier amélioré EmptyDim 29 Juil 2012 - 15:08

Voilà un petit utilitaire, à lancer en début de session de travail. Il permet de mémoriser divers fragments de texte et de les réutiliser à tout moment. ces fragments sont nommés des "confettis". La première ligne de chaque confetti sert d'identification et est sélectionnable dans un combo. Un mémo en-dessous affiche le confetti actuellement sélectionné. Pour mémoriser un confetti, on procède ainsi:
1. on place un morceau de texte dans le presse-papier (par ctrl/C, par exemple)
2. on affiche mon petit outil par la barre de tâches
3. on utilise "Ajouter" pour créer un nouveau confetti.

Ce confetti restera mémorisé tant que le programme n'est pas arrêté.

On peut remplacer un confetti existant par un autre morceau de texte, par le bouton Remplacer. Le texte et l'identification sera remplacé. Le nombre de confettis n'est limité que par la limite du nombre d'objets de Panoramic (plusieurs milliers).

Pour récupérer un confetti, on procède ainsi:
1. on affiche mon petit outil par la barre de tâches
2. on sélectionne le confetti voulu par la combo
3. on clique sur le bouton Copier pour le placer dans le presse-papier
4. on va dans l'application (éditeur Panoramic ou autre programme) et on fait ctrl/V

Voici le source de Presse_papier.bas:
Code:
' Presse_papier.bas

label labels : gosub labels
gosub constantes
gosub variables
gosub donnees
gosub form0
gosub menu
gosub GUI
gosub initialisations

end

labels:
  label constantes, variables, donnees, form0, menu, GUI, initialisations
  label add_cb, rep_cb, cop_cb, sup_cb, hlp_cb, combo_sel
  return
 
constantes:
  dim titre$ : titre$ = "Mon presse-papier - "
  dim cr$ : cr$ = chr$(13)
  dim crlf$ : crlf$ = chr$(13)+chr$(10)
  dim crlflf$ : crlflf$ = chr$(13)+chr$(10)+chr$(10)
  return
 
variables:
  dim no%, no1%, no2%, i%, n%, s$, t$, sel_num%
  dim sel_typ% : ' 1=texte  2=image
  dim no_combo%, no_memo%, no_dlist%, no_picture%, no_visu%
  return

donnees:
  return

form0:
  border_small 0 : caption 0,titre$ + "0 confettis"
  width 0,800 : height 0,280
  return

menu:
  return

GUI:
  no% = no% + 1 : dlist no% : no_dlist% = no%
 
  no% = no% + 1 : combo no% : no_combo% = no%
    width no%,width(0)-20-200 : on_click no%,combo_sel
  no% = no% + 1 : memo no% : no_memo% = no%
    width no%,width(no_combo%) : bar_both no%
    height no%,200 : top no%,20
  no% = no% + 1 : button no% : caption no%,"Ajouter presse-papier"
    top no%,220 : left no%,0 : width no%,150 : on_click no%,add_cb
  no% = no% + 1 : button no% : caption no%,"Remplacer par presse-papier"
    top no%,220 : left no%,150 : width no%,150 : on_click no%,rep_cb
  no% = no% + 1 : button no% : caption no%,"Supprimer de confetti"
    top no%,220 : left no%,300 : width no%,150 : on_click no%,sup_cb
  no% = no% + 1 : button no% : caption no%,"Copier dans presse-papier"
    top no%,220 : left no%,450 : width no%,150 : on_click no%,cop_cb
  no% = no% + 1 : button no% : caption no%,"Aide"
    top no%,220 : left no%,600 : width no%,150 : on_click no%,hlp_cb
  no% = no% + 1 : picture no% : hide no% : no_picture% = no%
    width no%,200 : height no%,200 : top no%,20 : stretch_on no%
  no% = no% + 1 : picture no% : no_visu% = no%
    top no%,20 : left no%,width(no_memo%) : width no%,200 : height no%,200
    2d_target_is no_visu% :stretch_on no_visu%
  return

initialisations:
  return
 
combo_sel:
  n% = item_index(no_combo%)
  no1% = val(item_read$(no_dlist%,n%))
  sel_num% = no1%
  clear no_memo%
  if no1%<0
    sel_typ% = 2
    2d_image_paste 0-sel_num%,0,0
  else
    color no_visu%,255,255,255
    sel_typ% = 1
    for i%=1 to count(no1%)
      item_add no_memo%,item_read$(no1%,i%)
    next i%
  end_if
  return

add_cb:
  s$ = clipboard_string_paste$
  if s$=""
    clipboard_paste no_picture%
    if (color_pixel_red(no_picture%,0,0)=255) and (color_pixel_green(no_picture%,0,0)=255) and (color_pixel_blue(no_picture%,0,0)=255)
      message "Le presse-papier ne contient ni un texte ni une image valide."
      return
    end_if
    no% = no% + 1 : image no%
    clipboard_paste no%
    clipboard_paste no_visu%
    item_add no_dlist%,str$(0-no%)
    t$ = "Image no. "+str$(no%)
    item_add no_combo%,t$
    text no_combo%,t$
    clear no_memo%
    sel_typ% = 2
    sel_num% = 0 - no%
    caption 0,titre$ + str$(count(no_combo%))+" confettis"
    return
  end_if
  color no_visu%,255,255,255
  i% = instr(s$,cr$)
  if i%=0 then i% = len(s$)+1
  t$ = left$(s$,i%-1)
  no% = no% + 1 : dlist no%
  item_add no_dlist%,str$(no%)
  item_add no%,s$
  item_add no_combo%,t$
  text no_combo%,t$
  clear no_memo%
  item_add no_memo%,s$
  sel_typ% = 1
  sel_num% = no%
  caption 0,titre$ + str$(count(no_combo%))+" confettis"
  return
 
rep_cb:
  s$ = text$(no_combo%)
  if trim$(s$)=""
    message "Aucun confetti n'est sélectionné."
    return
  end_if
  if sel_typ%=1
    s$ = clipboard_string_paste$
    if s$=""
      message "Le presse-papier ne contient pas un texte valide."
      return
    end_if
    color no_visu%,255,255,255
    i% = instr(s$,cr$)
    if i%=0 then i% = len(s$)+1
    t$ = left$(s$,i%-1)
    n% = item_index(no_combo%)
    no1% = val(item_read$(no_dlist%,n%))
    clear no1%
    item_add no1%,s$
    item_delete no_combo%,n%
    item_insert no_combo%,n%,t$
    text no_combo%,t$
    clear no_memo%
    item_add no_memo%,s$
  else
    color no_picture%,255,255,255
    clipboard_paste no_visu%
    clipboard_paste no_picture%
    if (color_pixel_red(no_picture%,0,0)=255) and (color_pixel_green(no_picture%,0,0)=255) and (color_pixel_blue(no_picture%,0,0)=255)
      message "Le presse-papier ne contient pas une image valide."
      return
    end_if
    clipboard_paste (0-sel_num%)
  end_if
  return

cop_cb:
  s$ = text$(no_combo%)
  if trim$(s$)=""
    message "Aucun confetti n'est sélectionné."
    return
  end_if
  clipboard_string_copy "<Vide>"
  select sel_typ%
    case 1: ' texte
      s$ = ""
      for i%=1 to count(no_memo%)
        s$ = s$ + item_read$(no_memo%,i%) + crlf$
      next i%
'      clipboard_copy no_memo%
      clipboard_string_copy s$
    case 2: ' image
      clipboard_copy 0-sel_num%
  end_select
  return

sup_cb:
  if text$(no_combo%)="" then return
  if count(no_combo%)=0 then return
  n% = item_index(no_combo%)
  if n%=0 then return
  no1% = val(item_read$(no_dlist%,n%))
  clear no_memo%
  text no_combo%,""
  item_delete no_combo%,n%
  item_delete no_dlist%,n%
  delete no1%
  if n%>count(no_combo%) then n% = n% - 1
  if n%>0
    no1% = val(item_read$(no_dlist%,n%))
    sel_num% = no1%
    if sel_num%<0
      sel_typ% = 2
      2d_image_paste 0-sel_num%,0,0
    else
      color no_visu%,255,255,255
      sel_typ% = 1
      for i%=1 to count(no1%)
        item_add no_memo%,item_read$(no1%,i%)
      next i%
      text no_combo%,item_read$(no_memo%,1)
    end_if
  end_if
  caption 0,titre$ + str$(count(no_combo%))+" confettis"
  return
 
hlp_cb:
  s$ = "Bienvenu dans Mon Presse-papier !" + crlflf$
  s$ = s$ + "Cet outil gère des morceaux de texte ou des images," + crlf$
  s$ = s$ + "contenus dans le presse-papier." + crlf$
  s$ = s$ + "    Ajouter: créer un nouveau confetti."+crlf$
  s$ = s$ + "Remplacer: remplacer le confetti.sélectionné"+crlf$
  s$ = s$ + " Supprimer: supprimer un confetti."+crlf$
  s$ = s$ + "      Copier: copier le confetti sélectionné dans le presse-papier."+crlf$
  s$ = s$ + "          Aide: afficher ce texte."+crlf$
  message s$
  return
 

Pour ma part, je l'ai généré en EXE et j'ai placé un raccourci sur le bureau. Le le lance systématiquement après le boot, et ainsi je l'ai toujours sous la main.


Dernière édition par Klaus le Dim 29 Juil 2012 - 22:22, édité 2 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
maelilou




Nombre de messages : 180
Age : 76
Localisation : Ardennes françaises
Date d'inscription : 02/05/2012

Un presse-papier amélioré Empty
MessageSujet: Re: Un presse-papier amélioré   Un presse-papier amélioré EmptyDim 29 Juil 2012 - 17:37

bravo !!!

Mais on ne peut pas coller d'images !!!
Meuh non je plaisante...
On est jamais content.


PS :
En fait je me demande si Klaus n'est pas Jack ???
Revenir en haut Aller en bas
Klaus

Klaus


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

Un presse-papier amélioré Empty
MessageSujet: Re: Un presse-papier amélioré   Un presse-papier amélioré EmptyDim 29 Juil 2012 - 20:39

Pour les images, je vais voir ce que je peux faire. Ce n'est pas impossible.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Un presse-papier amélioré Empty
MessageSujet: Re: Un presse-papier amélioré   Un presse-papier amélioré EmptyDim 29 Juil 2012 - 22:21

Voilà, c'est fait ! On peut maintenant mettre indéfiniment, des confettis de texte ET des confettis d'images ! Bien sûr, pour mettre des images, il faut les charger au préalable dans le presse-papier (comme pour les textes). Cela peut être fait par un éditeur d'images (PAINT, The GIMP, PhotoFiltre, ...) ou par un programme Panoramic par la commande CLIPBOARD_COPY avec un objet PICTURE en paramètre.

Mais il y une différence par rapport aux textes. J'utilise la première ligne du texte comme "identifiant" dans la combo en haut de l'écran. Cela n'a pas de sens pour une image. J'utilise donc un libellé synthétique "Image" suivi d'un numéro d'identification qu'il vaut mieux noter pour s'en souvenir.

Il y a une image de visualisation à droite de la combo. Au moment de l'ajout de l'image, elle s'affiche en dimensions réduites. Lorsqu'on sélectionne une image par la combo, elle s'affiche, mais en taille réelle avec le carré de 200x200 pixels en haut à gauche de l'image. Cependant, elle sera bien mise en entier dans le presse-papier par le bouton "Copier". Je n'ai pas encore trouvé le moyen de charger l'image sélectionnée en dimensions réduites, bien que le pour picture d'affichage , il y ait l'attribut stretch_on. Ca reste à éclaircir. Mais le programme est parfaitement utilisable comme ça.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Un presse-papier amélioré Empty
MessageSujet: Re: Un presse-papier amélioré   Un presse-papier amélioré EmptyDim 29 Juil 2012 - 23:00

Bonne idée Wink
Revenir en haut Aller en bas
JL35




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

Un presse-papier amélioré Empty
MessageSujet: Re: Un presse-papier amélioré   Un presse-papier amélioré EmptyDim 29 Juil 2012 - 23:36

Voilà une chose qui a l'air bien intéressante, je vais regarder ça de plus près !
Revenir en haut Aller en bas
papydall

papydall


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

Un presse-papier amélioré Empty
MessageSujet: Re: Un presse-papier amélioré   Un presse-papier amélioré EmptyLun 30 Juil 2012 - 1:19

maelilou a écrit:

PS :
En fait je me demande si Klaus n'est pas Jack ???

Autrement dit Klaus et Jack ne font qu’un !

1 + 1 = 1

comme l'addition logique!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Un presse-papier amélioré Empty
MessageSujet: re   Un presse-papier amélioré EmptyLun 30 Juil 2012 - 5:10

Quand je vous dis que c'est Santa Klaus.... Wink
Revenir en haut Aller en bas
Contenu sponsorisé





Un presse-papier amélioré Empty
MessageSujet: Re: Un presse-papier amélioré   Un presse-papier amélioré Empty

Revenir en haut Aller en bas
 
Un presse-papier amélioré
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Contenu du presse-papier
» MULTICOPIES - un presse papier multiple
» Contenu du presse-papier
» Gestion du presse-papier
» Effacer le 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: