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.
Opérations de repérage sur un SYNEDIT Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Opérations de repérage sur un SYNEDIT Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Opérations de repérage sur un SYNEDIT Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Opérations de repérage sur un SYNEDIT Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Opérations de repérage sur un SYNEDIT Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Opérations de repérage sur un SYNEDIT Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Opérations de repérage sur un SYNEDIT Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Opérations de repérage sur un SYNEDIT Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Opérations de repérage sur un SYNEDIT Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Opérations de repérage sur un SYNEDIT Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Opérations de repérage sur un SYNEDIT Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Opérations de repérage sur un SYNEDIT Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Opérations de repérage sur un SYNEDIT Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Opérations de repérage sur un SYNEDIT Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Opérations de repérage sur un SYNEDIT 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
-25%
Le deal à ne pas rater :
PC Portable Gamer 16,1” HP Victus 16 – 16 Go /512 Go
749.99 € 999.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 : 4570
Age : 58
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 : 970
Age : 52
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 : 970
Age : 52
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 : 2466
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 : 4570
Age : 58
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 : 12331
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 : 4570
Age : 58
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 : 12331
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 : 8635
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 : 12331
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 : 8635
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 : 12331
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 : 2466
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 : 8635
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 : 12331
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 : 8635
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 : 4570
Age : 58
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 : 8635
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 : 8635
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 ?
» [english] SYNEDIT How to set the keywords ?
» 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: