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
» trop de fichiers en cours
Un presse-papier amélioré Emptypar Marc Aujourd'hui à 11:42

» Bataille navale SM
Un presse-papier amélioré Emptypar jjn4 Hier à 17:39

» Une calculatrice en une ligne de programme
Un presse-papier amélioré Emptypar jean_debord Hier à 8:01

» Gestion d'un système client-serveur.
Un presse-papier amélioré Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Un presse-papier amélioré Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Un presse-papier amélioré Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Un presse-papier amélioré Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Un presse-papier amélioré Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Un presse-papier amélioré Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Un presse-papier amélioré Emptypar papydall Dim 21 Avr 2024 - 23:30

» Form
Un presse-papier amélioré Emptypar leclode Dim 21 Avr 2024 - 18:09

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

» Consommation gaz électricité
Un presse-papier amélioré Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Un presse-papier amélioré Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Un presse-papier amélioré Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment : -40%
-40% sur le Pack Gaming Mario PDP Manette filaire + ...
Voir le deal
29.99 €

 

 Un presse-papier amélioré

Aller en bas 
+2
maelilou
Klaus
6 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12274
Age : 74
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 : 162
Age : 75
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 : 12274
Age : 74
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 : 12274
Age : 74
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 : 51
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 : 7095
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 : 6996
Age : 73
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 : 8610
Age : 52
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
-
» Videz votre presse papier
» Contenu du presse-papier
» Récupérer des images du presse-papier
» Contenu 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: