FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Cacher la barre des tâches
par Klaus Aujourd'hui à 8:41

» quel est ce comportement de Panoramic_editor
par Oscaribout Aujourd'hui à 0:22

» Des FORM(s) Colorés
par Jean Claude Hier à 20:58

» Recherches dans un fichier texte
par JL35 Hier à 20:18

» Problème d'affichage des pages du forum (Résolu)
par Jean Claude Hier à 20:00

» Une "base de connaissance" - pour jouer ou plus si affinité
par Klaus Hier à 19:10

» Objet 3D_PLANE, réalisation d'un dé en 3D
par papydall Hier à 13:54

» Créer une application *.exe
par Yannick Ven 18 Mai 2018 - 20:01

» [RÉSOLU] Priorité affichage des objets : comment la définir?
par papydall Ven 18 Mai 2018 - 18:22

» Aucune différence entre ON_CLICK et ON_DOUBLE_CLICK
par Jean Claude Jeu 17 Mai 2018 - 8:37

» [Résolu] Récuperer les fonctions systeme de Panoramic
par Minibug Mar 15 Mai 2018 - 23:21

» Est-ce qu'un fichier est inclus dans l'application ?
par Yannick Mar 15 Mai 2018 - 12:04

» Création d'une application avec Panoramic_Editor
par Klaus Mar 15 Mai 2018 - 0:36

» Pour faire patienter
par Minibug Lun 14 Mai 2018 - 21:25

» Une copie de Panoramic Editeur
par Minibug Lun 14 Mai 2018 - 19:55

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2018
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Opérations de repérage sur un SYNEDIT

Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
Fredisland

avatar

Nombre de messages : 251
Age : 53
Localisation : Centre France
Date d'inscription : 30/03/2018

MessageSujet: Opérations de repérage sur un SYNEDIT   Mer 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
Voir le profil de l'utilisateur https://acpc.me
Minibug

avatar

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

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

En demandant à Jack !

Bon Ok je sort...

lol! lol! lol! lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
silverman

avatar

Nombre de messages : 614
Age : 45
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Mer 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
Voir le profil de l'utilisateur
Fredisland

avatar

Nombre de messages : 251
Age : 53
Localisation : Centre France
Date d'inscription : 30/03/2018

MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Mer 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
Voir le profil de l'utilisateur https://acpc.me
silverman

avatar

Nombre de messages : 614
Age : 45
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Mer 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
Voir le profil de l'utilisateur
Fredisland

avatar

Nombre de messages : 251
Age : 53
Localisation : Centre France
Date d'inscription : 30/03/2018

MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Mer 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
Voir le profil de l'utilisateur https://acpc.me
Marc

avatar

Nombre de messages : 739
Age : 57
Localisation : TOURS
Date d'inscription : 17/03/2014

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

Salut à tous !

Fredisland a écrit:
Le nombre total de lignes

Réponse : COUNT()
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

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

MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Mer 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
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Mer 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
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Minibug

avatar

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

MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Mer 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
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Klaus

avatar

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

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

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

avatar

Nombre de messages : 8074
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 2 Mai 2018 - 21:26

Il faudrait que ITEM_INDEX() soit disponible pour SYNEDIT...
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Mer 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
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8074
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 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
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Mer 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
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Marc

avatar

Nombre de messages : 739
Age : 57
Localisation : TOURS
Date d'inscription : 17/03/2014

MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Mer 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
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8074
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 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
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Mer 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
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8074
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 2 Mai 2018 - 22:10

Merci Klaus.
Je ferai mes devoirs la prochaine fois.
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Fredisland

avatar

Nombre de messages : 251
Age : 53
Localisation : Centre France
Date d'inscription : 30/03/2018

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

Merci pour toutes ces astuces ...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur https://acpc.me
Minibug

avatar

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

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

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

avatar

Nombre de messages : 251
Age : 53
Localisation : Centre France
Date d'inscription : 30/03/2018

MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Jeu 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
Voir le profil de l'utilisateur https://acpc.me
Fredisland

avatar

Nombre de messages : 251
Age : 53
Localisation : Centre France
Date d'inscription : 30/03/2018

MessageSujet: Re: Opérations de repérage sur un SYNEDIT   Jeu 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
Voir le profil de l'utilisateur https://acpc.me
Yannick

avatar

Nombre de messages : 8074
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 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
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8074
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 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


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
Voir le profil de l'utilisateur
Contenu sponsorisé




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

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
-
» Bug avec la priorité des opérations arithmétiques ?
» Synedit Parameters
» Eclairage remorque avec décodeur d'accessoires
» Alimentation des LED cms
» Trajets. Opérations au départ et arrivée

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: