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
» Gestion d'un système client-serveur.
CLIC sur un memo Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
CLIC sur un memo Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
CLIC sur un memo Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
CLIC sur un memo Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
CLIC sur un memo Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
CLIC sur un memo Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
CLIC sur un memo Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
CLIC sur un memo Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
CLIC sur un memo Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
CLIC sur un memo Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
CLIC sur un memo Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
CLIC sur un memo Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
CLIC sur un memo Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
CLIC sur un memo Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
CLIC sur un memo Emptypar Jack Mar 30 Avr 2024 - 20:40

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 à ne pas rater :
Funko POP! Jumbo One Piece Kaido Dragon Form : où l’acheter ?
Voir le deal

 

 CLIC sur un memo

Aller en bas 
2 participants
AuteurMessage
Oscaribout




Nombre de messages : 471
Date d'inscription : 29/12/2016

CLIC sur un memo Empty
MessageSujet: CLIC sur un memo   CLIC sur un memo EmptyDim 20 Jan 2019 - 2:46

Je réagi car le forum ne bouge pas.

J'avais déjà publié un programme avec la réaction d'un clic sur un memoRich.

C'est une méthode que j'utilise quotidiennement; mais de temps en temps, il y a un problème. Comme j'insère un caractère à la position du curseur pour retrouver l'emplacement, parfois le rétablissement de celui-ci échoue.

J'ai trouvé une autre façon de savoir sur quoi on clique. c'est de voir autour du caret_position d'un memo, si le mot recherché est présent  pour mettre une info, ou procéder à une commande directe

J'ai repris la fable qui était toute prête: le Corbeau et le Renard.

Code:
' *******************************************************************************
' *           action d'un clic dans un memo, memoRich, ou autre                 *
' * cette sub permet de rechercher si un clic de souris dans un Memo ; MemoRich *
' * de voir si le texte en dessous est une commande préparée ou autre           *
' *******************************************************************************
LABEL controle

width 0,screen_x : height 0,800 : font_size 0,12 : font_name 0, "Times New Roman" :' font_bold 0
memo 10 : width 10,width_client(0) : height 10,450 : on_click 10,controle : bar_both 10
        remplissage()
memo 11 : width 11,300:top 11,460:color 11,230,230,200  

END :' @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

controle:
  controle() : return

SUB controle()
   ' on prend dans l'exemple les caractères de délimitations: "["  et "]"
   clear 11
   dim_local j%,tx$,a$, cur% , let$ , i%
   cur% = caret_position(10)  
   i% = cur%- 10 : if i% < 1 then i% = 1  :' 50 semble suffisent
   tx$ = text$(10) : ' récupération du texte du memo
   if cur% > 1
      for j% = cur% to i% step -1
         let$ = mid$(tx$,j%,1)        
         if let$ = chr$(10) then exit_for
         if let$ = "]" then exit_for :' il n'y a pas de délimiteur : "[' devant, donc ne correspond à rien
        
         if let$ = "[" :' trouvé le devant
            tx$ = right_pos$(tx$,j%)  
            for i% = 1 to cur% + 100
               let$ = mid$(tx$,i%,1)
               if let$ = chr$(13) then exit_for : ' sortie de la ligne
               if let$ = "]"
                  tx$ = left$(tx$,i%)
                  traitement(tx$)
                  exit_sub
               end_if
            next i%
         end_if
      next j%  
   end_if    
END_SUB

SUB traitement(tx$)
   clear 11
   tx$  = upper$(tx$)
   if tx$ = "[RENARD]"  then item_add 11,"Mot Renard à définir "
   if tx$ = "[CORBEAU]" then item_add 11,"Oiseau de couleur noir"
   if tx$ = "[PHENIX]"  then item_add 11,"Autre oiseau rare"
END_SUB

SUB remplissage()
   item_add 10,"   Le Corbeau et le Renard"  
   item_add 10,"   "    
   item_add 10,"   Maître [Corbeau] sur un [arbre] perché,"  
   item_add 10,"   Tenait en son bec un fromage."  
   item_add 10,"   Maître [Renard] par l’odeur alléché"  
   item_add 10,"   Lui tint à peu près ce langage :"  
   item_add 10,"   Et bonjour, Monsieur du [Corbeau]."  
   item_add 10,"   Que vous êtes joli ! que vous me semblez beau !"  
   item_add 10,"   Sans mentir, si votre ramage"  
   item_add 10,"   Se rapporte à votre plumage,"  
   item_add 10,"   Vous êtes le [Phenix] des hôtes de ces bois."  
   item_add 10,"   À ces mots le [Corbeau] ne se sent pas de joie :"  
   item_add 10,"   Et pour montrer sa belle voix,"  
   item_add 10,"   Il ouvre un large bec, laisse tomber sa proie."  
   item_add 10,"   Le [Renard] s’en saisit, et dit : Mon bon Monsieur,"  
   item_add 10,"   Apprenez que tout flatteur"  
   item_add 10,"   Vit aux dépens de celui qui l’écoute."  
   item_add 10,"   Cette leçon vaut bien un fromage sans doute."  
   item_add 10,"   Le [Corbeau] honteux et confus"  
   item_add 10,"   Jura, mais un peu tard, qu’on ne l’y prendrait plus."  
END_SUB
Revenir en haut Aller en bas
Oscaribout




Nombre de messages : 471
Date d'inscription : 29/12/2016

CLIC sur un memo Empty
MessageSujet: Re: CLIC sur un memo   CLIC sur un memo EmptyDim 20 Jan 2019 - 12:45

Je viens d'apporter un supplément: branchement à un ancre.
Si on clic par exemple sur "[GO moral] dans l'exemple, le curseur va vers le branchement.

Code:
' *******************************************************************************
' *          action d'un clic dans un memo, memoRich, ou autre                *
' * cette sub permet de rechercher si un clic de souris dans un Memo ; MemoRich *
' * de voir si le texte en dessous est une commande préparée ou autre          *
' *******************************************************************************
LABEL controle

width 0,600 : height 0,500 : font_size 0,12 : font_name 0, "Times New Roman" :' font_bold 0
memo 10 : width 10,width_client(0) : height 10,200 : on_click 10,controle : bar_both 10
        remplissage()
memo 11 : width 11,300:top 11,210:color 11,230,230,200 

END :' @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

controle:
  controle() : return

SUB controle()
  ' on prend dans l'exemple les caractères de délimitations: "["  et "]"
  clear 11
  dim_local j%,tx$,a$, cur% , let$ , i%
  cur% = caret_position(10) 
  i% = cur%- 10 : if i% < 1 then i% = 1  :' 50 semble suffisent
  tx$ = text$(10) : ' récupération du texte du memo
  if cur% > 1
      for j% = cur% to i% step -1
        let$ = mid$(tx$,j%,1)       
        if let$ = chr$(10) then exit_for
        if let$ = "]" then exit_for :' il n'y a pas de délimiteur : "[' devant, donc ne correspond à rien
       
        if let$ = "[" :' trouvé le devant
            tx$ = right_pos$(tx$,j%) 
            for i% = 1 to cur% + 100
              let$ = mid$(tx$,i%,1)
              if let$ = chr$(13) then exit_for : ' sortie de la ligne
              if let$ = "]"
                  tx$ = left$(tx$,i%)
                  traitement(tx$)
                  exit_sub
              end_if
            next i%
        end_if
      next j% 
  end_if   
END_SUB

SUB traitement(tx$)
  clear 11
  tx$  = upper$(tx$)
  if tx$ = "[RENARD]"  then item_add 11,"Mot Renard à définir "
  if tx$ = "[CORBEAU]" then item_add 11,"Oiseau de couleur noir"
  if tx$ = "[PHENIX]"  then item_add 11,"Autre oiseau rare"
  if tx$ = "[GO MORAL]"  then go(tx$)
  if tx$ = "[GO TITRE]"  then go(tx$)

END_SUB
' ---------------------------
SUB go(tx$)  : ' branchement
  dim_local i%,a$
  tx$ = right_pos$(tx$,5) : tx$ = ">"+left$(tx$,len(tx$)-1)+"<"
      if count(10) > 0
        for i% = 1 to count(10)
            a$ = item_read$(10,i%)
            if instr(upper$(a$),tx$) > 0
              item_delete 10,i%
              item_insert 10,i%,a$
            end_if
        next i%
      end_if
END_SUB
' ---------------------------
SUB remplissage()
  dim_local a$
  item_add 10,"  Le Corbeau et le Renard" 
  item_add 10,"        [GO moral] >TITRE<"
  item_add 10,"  Maître [Corbeau] sur un [arbre] perché," 
  item_add 10,"  Tenait en son bec un fromage." 
  item_add 10,"  Maître [Renard] par l’odeur alléché" 
  item_add 10,"  Lui tint à peu près ce langage :" 
  item_add 10,"  Et bonjour, Monsieur du [Corbeau]." 
  item_add 10,"  Que vous êtes joli ! que vous me semblez beau !" 
  item_add 10,"  Sans mentir, si votre ramage" 
  item_add 10,"  Se rapporte à votre plumage," 
  item_add 10,"  Vous êtes le [Phenix] des hôtes de ces bois." 
  item_add 10,"  À ces mots le [Corbeau] ne se sent pas de joie :" 
  item_add 10,"  Et pour montrer sa belle voix," 
  item_add 10,"  Il ouvre un large bec, laisse tomber sa proie."
  item_add 10," >MORAL<"
  item_add 10,"  Le [Renard] s’en saisit, et dit : Mon bon Monsieur," 
  item_add 10,"  Apprenez que tout flatteur" 
  item_add 10,"  Vit aux dépens de celui qui l’écoute." 
  item_add 10,"  Cette leçon vaut bien un fromage sans doute." 
  item_add 10,"  Le [Corbeau] honteux et confus" 
  item_add 10,"  Jura, mais un peu tard, qu’on ne l’y prendrait plus."
  item_add 10," [GO titre]"
  a$ = item_read$(10,1)
  item_delete 10,1
  item_insert 10,1,a$
END_SUB

Bonne soirée.
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2709
Date d'inscription : 13/09/2009

CLIC sur un memo Empty
MessageSujet: +++   CLIC sur un memo EmptyDim 20 Jan 2019 - 15:29

C'est une recherche intéressante !
Mais tous ces crochets, ce n'est pas très joli, esthétiquement.
Il devrait être possible de s'en passer en faisant
un double_clic sur les mots, ce qui les mets en surbrillance
ensuite, on élimine l'espace final (RTRIM$()),
on obtient le mot en select_read$()...,
et pour rediriger vers les >TITRE< etc...,
select_text$() et caret_position N,x.
Cela devrait marcher sans avoir à mettre des caractères
à utilité technique dans le texte qui resterait purement littéraire.
Je ne l'ai pas essayé, mais ça devrait marcher.
study
Pour ce qui est de l'immobilité du forum, en ce moment,
c'est carrément le vide inter-sidéral !
Est-ce que tout le monde est parti au ski ?
(à moins que ce soit la période d'hibernation ?)
Sleep Laughing
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Oscaribout




Nombre de messages : 471
Date d'inscription : 29/12/2016

CLIC sur un memo Empty
MessageSujet: Re: CLIC sur un memo   CLIC sur un memo EmptyDim 20 Jan 2019 - 16:12

C'est gentil de me répondre.

En réalité je me suis dit que si de temps en temps quelqu"un n'intervenait pas, le forum finira par disparaître.

Tu as tout à fait raison concernant les crochets. C'est un programme que j'ai fait cette nuit, après avoir modifié le mien qui n'a rien avoir avec celui-ci, et j'ai vu que le principe était plus concluant que l'insertion d'un caractère (chr$(7) dans mon cas), et la recherche de ce dernier.

Le problème c'est de délimiter le mot. S'il n'y avait pas les mots composés, l'espace pourrait faire l'affaire. Je n'ai voulu que montrer le principe, et vous laissant libre de réfléchir. On peut ainsi en reculant depuis le curseur, lire dans une table et voir si la portion de devant se trouve dans la table :
si dans la boucle on lit: "corb" et dans la table on a "corbeau", alors on peut voir si la suite de "corb" est "corbeau". J'ai mes idées, je vous laisse améliorer le principe.

Bon dimanche.
Revenir en haut Aller en bas
Contenu sponsorisé





CLIC sur un memo Empty
MessageSujet: Re: CLIC sur un memo   CLIC sur un memo Empty

Revenir en haut Aller en bas
 
CLIC sur un memo
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Gestion du Simple clic et du Double clic
» Panora-clic!
» Clic droit
» un clic droit évènementiel
» presque le double clic

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: