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.
Sélection dans un Memo Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Sélection dans un Memo Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Sélection dans un Memo Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Sélection dans un Memo Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Sélection dans un Memo Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Sélection dans un Memo Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Sélection dans un Memo Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Sélection dans un Memo Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Sélection dans un Memo Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Sélection dans un Memo Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Sélection dans un Memo Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Sélection dans un Memo Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Sélection dans un Memo Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Sélection dans un Memo Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Sélection dans un Memo 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
-28%
Le deal à ne pas rater :
-28% Machine à café avec broyeur à grain MELITTA Purista
229.99 € 318.99 €
Voir le deal

 

 Sélection dans un Memo

Aller en bas 
4 participants
AuteurMessage
JL35




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

Sélection dans un Memo Empty
MessageSujet: Sélection dans un Memo   Sélection dans un Memo EmptyJeu 4 Sep 2014 - 19:10

J'ai un trou de mémoire ou bien ce n'est pas prévu ?
- Je sélectionne une zone de texte dans un MEMO
- Je peux récupérer le texte sélectionné: SELECT_READ$(N)
- Mais je voudrais savoir où se trouve cette sélection dans le Memo N: numéro de ligne et indice dans la ligne
Y a-t'il un moyen ?
Revenir en haut Aller en bas
Froggy One

Froggy One


Nombre de messages : 598
Date d'inscription : 06/01/2012

Sélection dans un Memo Empty
MessageSujet: Re   Sélection dans un Memo EmptyJeu 4 Sep 2014 - 22:48

En trichant un peu, voici ce que j'ai trouvé pour la ligne :

Code:
combo 10:button 20:left 20,200:label affiche
item_add 10,"youpi":item_add 10,"zut"
on_click 20, affiche
end
affiche:
message item_index(10)
select_text 10,1,999
message select_read$(10)
return
Revenir en haut Aller en bas
http://gaeldwest.wordpress.com
JL35




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

Sélection dans un Memo Empty
MessageSujet: Re: Sélection dans un Memo   Sélection dans un Memo EmptyJeu 4 Sep 2014 - 23:11

Merci Froggy One, c'est évidemment une solution qui peut être satisfaisante pour un Combo, mais malheureusement la fonction Item_Index() n'est pas admise pour un Memo, ce qui est bien dommage...
On peut cliquer et sélectionner n'importe où dans le Memo, mais on ne peut pas savoir (par programme) où on a cliqué scratch
Revenir en haut Aller en bas
Invité
Invité




Sélection dans un Memo Empty
MessageSujet: Re: Sélection dans un Memo   Sélection dans un Memo EmptyJeu 4 Sep 2014 - 23:42

Bonsoir,
Avec mes excuses, je peux lire le forum, mais je ne code pas en ce moment.

J'ai plusieurs fois apporté la solution pour retrouver l'emplacement du curseur, ou trouver la sélection d'une chaîne dans un memo.

En premier lieu si c'est une sélection qu'on veut conserver le contenu, il faut évidemment la récupérer dans une variable.

Ensuite on copie dans le presse papier un caractère dont on est sur qu'il sera seul (qu'il n'y aura pas ede doublon), et on le colle avec CLIPBOARD_PASTE dans le memo. Dans le contenu du memo, on cherche ligne par ligne ce caractère, et on a ainsi la ligne.

Il faut évidemment en lisant ligne par ligne le memo jusqu'au caractère, avoir un compteur qui ajoute le nombre de lettres (avec LEN() ) et ajouter 2 pour chaque ligne qui précède la dernière qui sont les retour-chariot. On ajoute la position de la ligne du caractère pour pouvoir avec CARET_POSITION retirer le caractère de repérage, et remettre à la place le texte qui convient.

Si on est sur que la sélection est unique, il est évidemment plus simple de lire ligne par ligne pour retrouver celle-ci.

Edit: je croyais répondre à froggy-One, je n'avais pas vu que la question était de JL35. Alors JL35, on vieilli? Je crois que la première fois que c'était proposé, ce fût pour un éditeur que tu avais fait avec une sortie sur un RichtEdit, et que tu voulais mettre des attribus sur la partie sélectionnée. Very Happy
Revenir en haut Aller en bas
JL35




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

Sélection dans un Memo Empty
MessageSujet: Re: Sélection dans un Memo   Sélection dans un Memo EmptyVen 5 Sep 2014 - 0:05

Bonsoir cosmos,
Au moins pour ça tu as raison, on vieillit !
- Pour la sélection, aucun problème pour la récupérer avec Select_Read$
- Quant à retrouver l'endroit par programme, je vais étudier ta solution qui a l'air intéressante...

Et maintenant que tu le dis, ça me rappelle quelque chose cet éditeur au format rtf, il faut que je regarde ça de plus près.

En tout cas, merci à toi de réveiller mes vieux neurones ! qui ne vont d'ailleurs pas tarder à se rendormir... Sleep

PS j'ai retrouvé, c'était là: https://panoramic.1fr1.net/t1705-editeur-de-textes?highlight=%E9diteur
Revenir en haut Aller en bas
Klaus

Klaus


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

Sélection dans un Memo Empty
MessageSujet: Re: Sélection dans un Memo   Sélection dans un Memo EmptyVen 5 Sep 2014 - 0:16

La fonction CARET_POSITION(N) donne la position du curseur dans un mémo.
La fonction SELECT_READ$(N) retourne le texte sélectionné.
La commande SELECT_TEXT N,P,C sélectionne C caractères dans le mémo N, à partir de la position N.

Voilà ce qu'on peut faire en Panoramic.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Sélection dans un Memo Empty
MessageSujet: Re: Sélection dans un Memo   Sélection dans un Memo EmptyVen 5 Sep 2014 - 3:40

Effectivement Klaus, mais la question posée est:
Citation :
Mais je voudrais savoir où se trouve cette sélection dans le Memo N: numéro de ligne et indice dans la ligne
Celà ne donne pas le numéro de ligne, et la ligne entière.

Mais si cela a pour but seulement de mettre des attributs, il suffit comme tu le dis, se servir de select_read$ dans une variable, d'y ajouter les attributs de part et d'autre, mettre dans le presse papier cette variable modifiée avec CLIPBOARD_STRING_COPY , et de coller, ce qui remplacera la sélection précédente, et là il n'est plus nécessaire de savoir de quelle ligne il est question. Çà dépend ce que l'on veut faire.

Revenir en haut Aller en bas
JL35




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

Sélection dans un Memo Empty
MessageSujet: Re: Sélection dans un Memo   Sélection dans un Memo EmptyVen 5 Sep 2014 - 14:21

Effectivement, il s'agit d'ajouter des attributs de part et d'autre d'une portion sélectionnée, éventuellement sur plusieurs lignes, et avec vos tuyaux je vais pouvoir le faire (je l'avais déjà fait dans l'éditeur, mais je ne m'en souvenais plus, merci cosmos).

@Klaus,
Sauf que... sauf erreur de ma part, le CARET_POSITION(n) ne marche pas pour un MEMO, ce serait trop facile, seulement pour un LIST, donc il faut trouver une astuce.
C'est un peu curieux d'ailleurs, et gênant, pour un Memo on peut positionner: Caret_Position n,p mais pas lire la position: Caret_Position(n)
Revenir en haut Aller en bas
Yannick




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

Sélection dans un Memo Empty
MessageSujet: re   Sélection dans un Memo EmptyVen 5 Sep 2014 - 15:23

Code:
label clic,cpt
memo 1
on_click 1,clic
timer 2
timer_off 2
On_timer 2,cpt
end


clic:
  if count(1)>0
     timer_interval 2,10
     timer_on 2
  end_if
return


cpt:
  chercheline()
return

sub chercheline()
    dim_local x%,a$,b$,dep%
    if mouse_left_up(1)=1
       timer_off 2
       a$=select_read$(1)
       for x%=1 to count(1)
          b$=item_read$(1,x%)
          dep%=instr(b$,a$)
          if dep%>0
             message "ligne : "+str$(x%)+chr$(13)+"Position : "+str$(dep%)
          end_if
       next x%
    end_if
end_sub
j' ai çà à l' arrache en cinq minutes, j' ai pas plus, je dois repartir.... Laughing
Revenir en haut Aller en bas
Invité
Invité




Sélection dans un Memo Empty
MessageSujet: Re: Sélection dans un Memo   Sélection dans un Memo EmptyVen 5 Sep 2014 - 16:21

caret_position(n) Jack l'avait fait à ma demande, pour un EDIT. Il avait bien précisé que pour l'instant cette instruction ne fonctionnait pas pour un memo.
Revenir en haut Aller en bas
JL35




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

Sélection dans un Memo Empty
MessageSujet: Re: Sélection dans un Memo   Sélection dans un Memo EmptyVen 5 Sep 2014 - 17:17

@cosmos, ben oui, et c'est dommage.

@ygeronimi,
Évidemment, mais c'est la solution de facilité, et ça ne me convient pas.
- d'abord il y a un timer, et ceux-là je les évite autant que je peux.
- ensuite, et surtout, si tu as plusieurs occurences de la sélection dans ton memo, tu vas toujours t'arrêter sur la première, et pas forcément sur celle qui a été sélectionnée !
Revenir en haut Aller en bas
Klaus

Klaus


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

Sélection dans un Memo Empty
MessageSujet: Re: Sélection dans un Memo   Sélection dans un Memo EmptyVen 5 Sep 2014 - 17:59

Je viens de faire une nouvelle version de KGF.dll:
KGF.dll V3.41 du 05/09/2014

Il y a une nouvelle fonction qui fait exactement ce que tu cherches: trouver le numéro de ligne et de colonne du début de la sélection (ou du curseur), dans un mémo ou d'ailleurs dans un edit.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




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

Sélection dans un Memo Empty
MessageSujet: re   Sélection dans un Memo EmptyVen 5 Sep 2014 - 18:51

Je ne vois pas ou est le pb avec mon timer, 
il démarre au clic sur le memo (donc au début de la sélection) 
et s' arrête avec la fin de la sélection du texte.
le tout pour savoir à quel moment je récupère par select_read$(N).

Bon, ca ne plait pas, j' le remet dans ma culotte... Laughing
Revenir en haut Aller en bas
Yannick




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

Sélection dans un Memo Empty
MessageSujet: re   Sélection dans un Memo EmptyVen 5 Sep 2014 - 19:18

une chose que tu peux faire

1/ sélection du texte
2/ récupération par clipboard_string_copy$ select_read$(N)
3/ tu effaces la sélection
4/ tu traites la sélection en la récupérant par clipboard_string_paste$ en la plaçant dans une variable t$
5/ tu remets le bébé dans le presse papier par clipboard_string_copy$ t$
6/ tu colle le bébé et l' eau du bain dans le Memo par clipboard_paste N

Si tu n' as pas changé l' emplacement du curseur, le collage se fait à son emplacement... Laughing

Pas de timer, pas de dll... cheers
Revenir en haut Aller en bas
JL35




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

Sélection dans un Memo Empty
MessageSujet: Re: Sélection dans un Memo   Sélection dans un Memo EmptyVen 5 Sep 2014 - 19:47

Eh, mais c'est exactement ce que je fais, et que je faisais d'ailleurs dans l'éditeur cité plus haut où j'ai récupéré le sous-programme adéquat, c'était une astuce de cosmos (rendons à César...) que j'avais oublié.
Le problème n'était pas le timer, même si j'évite quand je peux, c'était de déterminer l'emplacement exact de la sélection.
Et c'est maintenant résolu, avec un peu d'acrobatie, en panoramic.
Revenir en haut Aller en bas
Yannick




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

Sélection dans un Memo Empty
MessageSujet: re   Sélection dans un Memo EmptyVen 5 Sep 2014 - 22:35

je suis curieux de voir comment tu t' y es pris... scratch
Revenir en haut Aller en bas
JL35




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

Sélection dans un Memo Empty
MessageSujet: Re: Sélection dans un Memo   Sélection dans un Memo EmptyVen 5 Sep 2014 - 23:00

Pas de mystère, voilà le s/p qui fait le boulot (mm% est le memo):
Code:

Poscurs:
' Calcul de la position du curseur (ligne et indice) dans le Memo (emplacement cliqué)
CLIPBOARD_STRING_COPY CHR$(255): CLIPBOARD_PASTE mm%: CLIPBOARD_STRING_COPY ""
curs% = 0
FOR i% = 1 TO COUNT(mm%)
    a$ = ITEM_READ$(mm%, i%)
    k% = INSTR(a$, CHR$(255))
    IF k% > 0
        a$ = LEFT$(a$, k%-1)+MID$(a$,k%+1,200)
        ITEM_DELETE mm%,i%: ITEM_INSERT mm%, i%, a$
        ligcur% = i%: ' <----- ligne du clic
        poscur% = k%: ' <----- index du clic dans la ligne
        curs% = curs% + k%-1
        EXIT_FOR
    END_IF
    curs% = curs% + LEN(a$) + 2: ' index absolu (par rapport au début du memo)
NEXT i%
RETURN
il manque l'environnement, mais l'essentiel est là, et ça marche. (je mettrai le programme complet dans une autre rubrique: éditeur html)
Revenir en haut Aller en bas
Invité
Invité




Sélection dans un Memo Empty
MessageSujet: Re: Sélection dans un Memo   Sélection dans un Memo EmptySam 6 Sep 2014 - 0:00

Déjà au départ, ça fait plaisirs de pouvoir poster avec les outils des attributs. J'avais ces jours-ci aucun icône pour pour faire le post, avec un cm de hauteur pour le memo (sans compter le temps fou pour pouvoir avoir une page).

Cela dît:
JL35 a écrit:
a$ = LEFT$(a$, k%-1)+MID$(a$,k%+1,200)

Aujourd'hui, tu as meilleurs temps de mettre:
a$ = LEFT$(a$, k%-1)+RIGHT_POS$(a$,k%+1)

Surtout que personnellement je dépasse facilement les 200 caractères.
Revenir en haut Aller en bas
JL35




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

Sélection dans un Memo Empty
MessageSujet: Re: Sélection dans un Memo   Sélection dans un Memo EmptySam 6 Sep 2014 - 0:10

Bien sûr tu as raison cosmos, j'ai du mal à me défaire de mes vieilles habitudes, du temps où cette instruction nous faisait défaut.
Il faut que je m'y mette, c'est plus rigoureux comme ça. Mais là, dans le memo, c'est une seule ligne, on ne risque pas de dépasser les 200.
Revenir en haut Aller en bas
Contenu sponsorisé





Sélection dans un Memo Empty
MessageSujet: Re: Sélection dans un Memo   Sélection dans un Memo Empty

Revenir en haut Aller en bas
 
Sélection dans un Memo
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» sélection de texte dans un mémo.
» Position dans un MEMO
» file_add dans un memo
» position du curseur dans memo
» Image de fond dans un memo.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: