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
» Tout est tranquille
par Jean Claude Ven 22 Sep 2017 - 21:41

» Texte en gif animé
par JL35 Ven 22 Sep 2017 - 13:29

» BasicEditor
par Yannick Mer 20 Sep 2017 - 17:17

» Simuler l’appui d'une touche ou combinaison de touches.
par pascal10000 Lun 18 Sep 2017 - 19:30

» Utilisation de HVIEWER pour afficher des images
par papydall Lun 18 Sep 2017 - 17:43

» Panoramic et les gifs animés.
par papydall Lun 18 Sep 2017 - 16:32

» recover source
par pascal10000 Dim 17 Sep 2017 - 14:21

» Recent dans vos menu
par Jean Claude Sam 16 Sep 2017 - 11:41

» Comment centrer un texte 3D.
par pascal10000 Ven 15 Sep 2017 - 20:20

» Carte interface 16 entrées et 16 sorties
par Jicehel Ven 15 Sep 2017 - 16:30

» Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT
par pascal10000 Ven 15 Sep 2017 - 16:20

» Compilateur FBPano
par jean_debord Ven 15 Sep 2017 - 9:59

» 1 (en analyse): 3D_TARGET_IS ne fonctionne pas sur 3D_TEXT
par Jack Jeu 14 Sep 2017 - 19:52

» Problème avec la 3D.
par Jack Jeu 14 Sep 2017 - 18:06

» Test de la 3D.
par mindstorm Mer 13 Sep 2017 - 19:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
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 : 7991
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 : 7991
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 : 7991
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
-
» 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...
» caractères en cyrillique

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: