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.
Opérations de repérage sur un SYNEDIT Emptypar Pedro Aujourd'hui à 10:32

» item_index(résolu)
Opérations de repérage sur un SYNEDIT Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Opérations de repérage sur un SYNEDIT Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Opérations de repérage sur un SYNEDIT Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Opérations de repérage sur un SYNEDIT Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Opérations de repérage sur un SYNEDIT Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Opérations de repérage sur un SYNEDIT Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Opérations de repérage sur un SYNEDIT Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Opérations de repérage sur un SYNEDIT Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Opérations de repérage sur un SYNEDIT Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Opérations de repérage sur un SYNEDIT Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Opérations de repérage sur un SYNEDIT Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Opérations de repérage sur un SYNEDIT Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Opérations de repérage sur un SYNEDIT Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Opérations de repérage sur un SYNEDIT 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
-21%
Le deal à ne pas rater :
LEGO® Icons 10329 Les Plantes Miniatures, Collection Botanique
39.59 € 49.99 €
Voir le deal

 

 Opérations de repérage sur un SYNEDIT

Aller en bas 
+2
Minibug
Fredisland
6 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
Fredisland




Nombre de messages : 261
Date d'inscription : 30/03/2018

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 12:07

Bonjour,

Sur un synedit PANORAMIC, il est possible de récupérer 3 informations relatives à son contenu :

- La position du curseur
- Le nombre de caractères sélectionnés
- Le nombre total de lignes

A partir de cela, comment obtenir ces autres informations sans passer par des (longues et boulimiques) copies du texte dans des objets :

- Le numéro de la ligne courante
- Le nombre total de caractères du synedit
- La position horizontale courant (colonne) du curseur

Merci par avance pour votre aide.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 19:23

En demandant à Jack !

Bon Ok je sort...

lol! lol! lol! lol!
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 19:27

fredisland a écrit:
A partir de cela, comment obtenir ces autres informations sans passer par des (longues et boulimiques) copies du texte dans des objets
C'est à dire? Tu as un mini exemple?
Revenir en haut Aller en bas
Fredisland




Nombre de messages : 261
Date d'inscription : 30/03/2018

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 19:32

silverman a écrit:
fredisland a écrit:
A partir de cela, comment obtenir ces autres informations sans passer par des (longues et boulimiques) copies du texte dans des objets
C'est à dire? Tu as un mini exemple?

Passer par d'autres objets, comme le mémo, pour davantage travailler sur le texte


Dernière édition par Fredisland le Mer 2 Mai 2018 - 20:27, édité 1 fois
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 20:23

Ah, ok.

fredisland a écrit:
- Le numéro de la ligne courante
ça a été traité il y a moins d'une semaine Wink

fredisland a écrit:
- Le nombre total de caractères du synedit
TEXT$() / LEN() sont tes amis Very Happy

fredisland a écrit:
- La position horizontale courant (colonne) du curseur
LEFT$() / INSTR_LAST() / CARET_POSITION() vont se joindre à tes nouveaux amis Laughing
Revenir en haut Aller en bas
Fredisland




Nombre de messages : 261
Date d'inscription : 30/03/2018

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 20:31

silverman a écrit:
fredisland a écrit:
- Le nombre total de caractères du synedit
TEXT$() / LEN() sont tes amis Very Happy
C'est bon, cette partie là est réglée Smile . Merci
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2397
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 21:03

Salut à tous !

Fredisland a écrit:
Le nombre total de lignes

Réponse : COUNT()
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 21:10

Non Marc pas sur un objet SYNEDIT !

Il faut d'abord passer le fichier de sauvegarde du SYNEDIT par un MEMO et après tu pourra faire COUNT(MEMO). Wink



Hoooops ! Autant pour moi. Embarassed


Dernière édition par Minibug le Mer 2 Mai 2018 - 21:21, édité 1 fois
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


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

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 21:14

Si,, Minibug, ça marche:
Code:
label nombre
synedit 1
button 2 : top 2,10 : left 2,width(1)+10 : caption 2,"Count()"
  on_click 2,nombre
end

nombre:
message str$(count(1))
return
Saisis quelques lignes, puis clique le bouton...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 21:22

Ah mince, j'étais sûr de moi pourtant ! Embarassed

Jack l'a t il rajouté récemment ?
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


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

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 21:23

Je ne sais pas... j'ai bêtement essayé...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




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

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: re   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 21:26

Il faudrait que ITEM_INDEX() soit disponible pour SYNEDIT...
Laughing
Revenir en haut Aller en bas
Klaus

Klaus


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

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 21:41

Saisis quelques lignes et clique sur le bouton "Item_Index":
Code:
label nombre, test
dim s$
synedit 1
button 2 : top 2,10 : left 2,width(1)+10 : caption 2,"Count()"
  on_click 2,nombre
button 3 : top 3,40 : left 3,width(1)+10 : caption 3,"Item_Index"
  on_click 3,test
  
memo 99 : hide 99 : bar_both 99
end

nombre:
message str$(count(1))
return

test:
' message SELECT_READ$(1)
' message str$(caret_position(1))
s$ = text$(1)
s$ = left$(s$,caret_position(1))
clear 99
text 99,s$+" "
message str$(count(99))
return

EDIT

J'oubliais: avant de cliquer, surligne un peu de texte...


Dernière édition par Klaus le Mer 2 Mai 2018 - 21:49, édité 1 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




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

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: re   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 21:49

Embarassed , je me rappelle maintenant d' une astuce que j' avais moi même pondu dans un autre sujet sur le synedit.

Code:
dim_local i%,cp%,nc%,a$

cp% = caret_position(objet%)
if count(objet%)>0
  for i%=1 to count(objet%)
      a$=item_read(objet%,i%)
      nc%=nc%+len(a$)+2
      if nc%>cp%
        ligne%=i%
        exit_for
      end_if
  next i%
end_if


mais ce n' est qu' une astuce...


Dernière édition par Yannick le Mer 2 Mai 2018 - 21:53, édité 2 fois
Revenir en haut Aller en bas
Klaus

Klaus


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

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 21:51

C'est une autre façon de faire, et elle conduit au même résultat. Et tout cela peut être encapsulé dans une fonction, et le ITEM_IINDEX existe, en attendant une version native.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2397
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 21:54

Minibug a écrit:
Jack l'a t il rajouté récemment ?

Mad Non, ça fait environ un an...
Revenir en haut Aller en bas
Yannick




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

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: re   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 21:55

J' ai pas fait mes devoirs pour FNC...END_FNC
J' ai pas appris ma leçon
Embarassed
Revenir en haut Aller en bas
Klaus

Klaus


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

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 22:01

Comme ça:
Code:
label nombre, test
dim  index%
synedit 1
button 2 : top 2,10 : left 2,width(1)+10 : caption 2,"Count()"
  on_click 2,nombre
button 3 : top 3,40 : left 3,width(1)+10 : caption 3,"Item_Index"
  on_click 3,test
 
memo 99 : hide 99 : bar_both 99
end

nombre:
message str$(count(1))
return

test:
index% = mon_item_index(1)
message str$(index%)
return

fnc mon_item_index(obj%)
dim_local s$
s$ = text$(obj%)
s$ = left$(s$,caret_position(obj%))
clear 99
text 99,s$+" "
result count(99)
end_fnc
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




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

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: re   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 22:10

Merci Klaus.
Je ferai mes devoirs la prochaine fois.
Laughing
Revenir en haut Aller en bas
Fredisland




Nombre de messages : 261
Date d'inscription : 30/03/2018

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 23:29

Merci pour toutes ces astuces ...
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyMer 2 Mai 2018 - 23:37

Ok Marc, merci. Désolé pour l'erreur... Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Fredisland




Nombre de messages : 261
Date d'inscription : 30/03/2018

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyJeu 3 Mai 2018 - 17:36

Je planche toujours sur le Numéro de colonne sur un synedit.... Faut jongler avec tous ces mots-clés PANORAMIC que je suis loin de connaître encore.
Revenir en haut Aller en bas
Fredisland




Nombre de messages : 261
Date d'inscription : 30/03/2018

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT EmptyJeu 3 Mai 2018 - 21:50

Klaus a écrit:
Comme ça:
Code:
label nombre, test
dim  index%
synedit 1
button 2 : top 2,10 : left 2,width(1)+10 : caption 2,"Count()"
  on_click 2,nombre
button 3 : top 3,40 : left 3,width(1)+10 : caption 3,"Item_Index"
  on_click 3,test
  
memo 99 : hide 99 : bar_both 99
end

nombre:
message str$(count(1))
return

test:
index% = mon_item_index(1)
message str$(index%)
return

fnc mon_item_index(obj%)
dim_local s$
s$ = text$(obj%)
s$ = left$(s$,caret_position(obj%))
clear 99
text 99,s$+" "
result count(99)
end_fnc

En fait ce code fonctionne très bien, c'est bien le numéro de ligne qu'on obtient... Sauf si le curseur a dépassé le dernier caractère d'une ligne, car dans ce cas le résultat donne un nombre fantaisiste.
Revenir en haut Aller en bas
Yannick




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

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: re   Opérations de repérage sur un SYNEDIT EmptyVen 4 Mai 2018 - 2:46

As tu essayé cela :

Code:
dim SynItemIndex%
label change

synedit 1
on_change 1,change

end

change:
  off_change 1
  SynItemIndex%=SYN_ITEM_INDEX(1)
  caption 0,str$(SynItemIndex%)
  on_change 1,change
return

Fnc SYN_ITEM_INDEX(obj%)
  dim_local i%,cp%,nc%,a$

  cp% = caret_position(obj%)
  if count(obj%)>0
      for i%=1 to count(obj%)
        a$=item_read$(obj%,i%)
        nc%=nc%+len(a$)+2
        if nc%>cp%
            Result i%
            exit_for
        end_if
      next i%
  end_if
End_Fnc

normalement le numéro de ligne est correct...
Laughing
Revenir en haut Aller en bas
Yannick




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

Opérations de repérage sur un SYNEDIT Empty
MessageSujet: re   Opérations de repérage sur un SYNEDIT EmptyVen 4 Mai 2018 - 3:50

Ligne + colonne du CARET :

Code:
dim SynCaretPosition$
label change

synedit 1
on_change 1,change

end

change:
   off_change 1
   SynCaretPosition$=SYN_CARET_POSITION$(1)
   caption 0,SynCaretPosition$
   on_change 1,change
return

Fnc SYN_CARET_POSITION$(obj%)
   dim_local i%,cp%,nc%,a$,r$,ac%

   cp% = caret_position(obj%)
   if count(obj%)>0
      for i%=1 to count(obj%)
         a$=item_read$(obj%,i%)
         ac%=nc%
         nc%=nc%+len(a$)+2
         if nc%>cp%
            r$="Ligne : "+str$(i%)+" Colonne : "+str$(cp%-ac%)
            Result r$
            exit_for
         end_if
      next i%
   end_if
End_Fnc

Opérations de repérage sur un SYNEDIT Captur11
Laughing

NB: la fonction est sur un on_change.
cqfd cela n' indique rien en navigation avec les flèches
mais il ne reste qu' à adapter...
Wink
Revenir en haut Aller en bas
Contenu sponsorisé





Opérations de repérage sur un SYNEDIT Empty
MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Opérations de repérage sur un SYNEDIT Empty

Revenir en haut Aller en bas
 
Opérations de repérage sur un SYNEDIT
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Transitivité des opérations
» Opérations sur des fichiers PDF
» Bug avec la priorité des opérations arithmétiques ?
» Erreur dans la priorité des opérations
» Encore un mystère, mais avec les opérations

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: