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
» Compilateur FBPano
par jean_debord Aujourd'hui à 10:54

» demande pour recuperer un text speciale
par pascal10000 Hier à 22:04

» Casse-tête : Echanger les positions des cavaliers
par papydall Hier à 19:51

» KGF_dll - nouvelles versions
par Klaus Hier à 14:29

» Amélioration de la commande HINT
par papydall Mer 19 Juil 2017 - 3:30

» TEST SUR SHAPE
par papydall Mer 19 Juil 2017 - 1:17

» Un challenge à relever
par papydall Mar 18 Juil 2017 - 21:25

» Astuce : Indenter plusieurs lignes de code à la fois
par papydall Mar 18 Juil 2017 - 1:32

» Suggestion pour le forum
par papydall Lun 17 Juil 2017 - 20:28

» Truver les handles des onglets de Panoramic Editor
par Klaus Lun 17 Juil 2017 - 18:20

» Synedit_Editor - nouvelles versions
par Klaus Lun 17 Juil 2017 - 13:46

» Détermine si oui ou non un objet est PARENT d'un autre objet
par Klaus Dim 16 Juil 2017 - 11:58

» Une autre façon de terminer une application.
par papydall Dim 16 Juil 2017 - 3:53

» Déterminer le Handle de l’objet ayant le focus
par papydall Dim 16 Juil 2017 - 3:15

» Déterminer le HANDLE du Bureau
par papydall Dim 16 Juil 2017 - 1:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juillet 2017
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
31      
CalendrierCalendrier

Partagez | 
 

 Chaine de caractères

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Yannick

avatar

Nombre de messages : 7930
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Chaine de caractères    Ven 7 Mar 2014 - 15:39

Je me permet d 'ouvrir un sujet ici car je pense qu' il mérite un petit débat...

Sur les fonctions pour les chaines de caractère, il me parait utile 
d' harmoniser les choses au niveau du curseur.

Point d' insertion ou position visuel du curseur

a|

la position est 2 donc avant le deuxième caractère 
on voit le curseur après le caractère 1 
pour récupérer le premier caractère, il faut repositionner le curseur en 1

|a

le souci est que si l'on doit faire une telle opération sur plusieurs caractères successifs, le visuel donne une
impression de scintillement. (ex coloration syntaxique)

Ne serait il pas utile de faire la nuance entre les deux ?
Que les fonctions portent sur le point d' insertion, et, qu ' il y est une fonction qui repositionne le curseur sur ce point 
lorsqu' il y en a besoin ?

Res%=dll_call1("PositionCurseur",pt_insert%)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Chaine de caractères    Ven 7 Mar 2014 - 19:47

Je pense que tu n'as pas bien saisi la notion de "point d'insertion".

Le poiint d'insertion est la position à laquelle va s'insérer le prochain caractère frappé. Ce n'est pas la position à laquelle le dernier caractère a été inséré !

D'autre part, pour être cohérent avec Panoramic; j'ai fait la numérotation des caractères à partir de 1, et non à partir de 0 comme c'est fait en Windows et en Delphi. Cela correspond à la valeur retournée par la fonction INSTR de Panoramic: 1 représente bien le premier caractère, et 0 signifie "non trouvé".

Et en fait, le curseur représente bien le point d'insertion. Quelque soit la position du curseur, si tu frappes un caractère, il viendra bien s'insérer à l'androit où est le curseur, et ce dernier sera placé après le caractère qui vient d'être inséré, de sorte que le caractère suivant se mettra bien à la suite.

Maintenant, je pense que ton message s'adresse aux fonctions de RichEdit et non de gestion de chaînes de caractères. Et il est vrai que si tu utilises SetSelectedRichEditText, il faut bien sélectionner le texte, et pour cela, il faut reculer le curseur.

Alors, je propose une autre solution. Je vais modifier RichEditGetLine de sorte que la fonction retourne la ligne dans laquelle se trouve le curseur, si tu passes 0 comme numéro de ligne ! Tu peux ensuite utiliser la position du curseur comme indexe dans cette chaîne de caractères, et tout cela sans déplacer le curseur, donc sans clignotement.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7930
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 7 Mar 2014 - 19:58

@ klaus,

Je suis tout à fait d' accord avec toi sur le curseur
mais justement, tu as corrigé l' autre jour une différence entre curseur (ce que j' appelle curseur c' est la petite barre qui clignote)
et le point d' insertion qui n' était plus en accord.

Ce que je demande, si c' est possible, c' est que les fonctions portent sur le point d 'insertion sans modifier l' emplacement du curseur.
Et que si l' on veut changer celui ci de place il y est une petite fonction comme indiquée au dessus qui ramène le curseur au point d' insertion voulu.
ceci de façon à éviter le scintillement dont je parlais dans mon post précédent.


Je dois vous quitter quelques heures, je vous laisse méditer la dessus...
A tout à l' heure...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Chaine de caractères    Ven 7 Mar 2014 - 20:20

Ce que j'ai corrigé l'autre jour, c'était un bug. C'était justement parce que je retournais une position du curseur avant l'insertion effective du caractère. Et ainsi, on avait un décalage entre la position que je retournais et la position réelle du curseur. C'est corrugé: je retourne maintenant systématiquement la position réelle du curseur.

Mais j'ai travaillé (eh oui, c'était rapide !). Télécharge la la nouvelle version V2.91. La fonction ReichEditGetLine accepte maintenant la valeur 0 comme numéro de ligne, et elle retourne alors le texte complet de la ligne dans laquelle se trouve le curseur. Ceci combiné à la position du curseur que tu connais, te permet d'extraire la partie qui t'intéresse, sans clignotement.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7930
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 8 Mar 2014 - 1:50

C' est un plus qui me sera utile dès que je vais me pencher sur la touche "Retour Arrière"
qui me pose des problèmes.

Pour la marche avant cela me ferait tout refaire et je ne suis pas sûr du résultat.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Chaine de caractères    

Revenir en haut Aller en bas
 
Chaine de caractères
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu]Décomposer une String
» Comment afficher une chaine de caractères?
» afficher les guillemets d'une chaine.
» [Résolu] Word : caractères non imprimables
» MHCA, oui c'est moi... ça fait plus de 5 caractères j'arretes...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: