Mai 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | Calendrier |
|
| | Position dans un MEMO | |
| | Auteur | Message |
---|
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Position dans un MEMO Lun 3 Oct 2011 - 16:44 | |
| Question peut-être bête, j'ai un MEMO qui contient une liste de lignes de texte, avec défilement. Puis-je savoir, par programme, quel est le numéro de la ligne qui est affichée en tête de la fenêtre ? Est-il possible de synchroniser deux MEMO ou LIST côte à côte, c'est à dire que le scrolling dans une fenêtre ferait déplacer parallèlement l'autre fenêtre ? (les deux questions sont liées, évidemment). Cosmos, toi qui sais tout... PS je m'aperçois, après recherche, que le problème avait déjà été soulevé par Klaus, en mai (mais de quelle année ?), sans apparemment de solution: https://panoramic.1fr1.net/t864-synchroniser-deux-objets-de-type-list?highlight=synchroniserje vais essayer autre chose, en attendant mieux. | |
| | | 659_minifly
Nombre de messages : 590 Age : 75 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Re: Position dans un MEMO Lun 3 Oct 2011 - 17:20 | |
| | |
| | | Invité Invité
| Sujet: Re: Position dans un MEMO Lun 3 Oct 2011 - 17:25 | |
| Salut JL35 J'ai quand même vérifié avant de répondre. J'ai encore quelques petits problèmes de réglage, mais ça vient. Avec ma méthode, si je clique n'importe tout dans le memo, ou je déplace le curseur, quelque soit la position de l'ascenseur, je retrouve la ligne, et la colonne. Quand à la synchronisation avec un list, c'est autre chose, et pour l'instant c'est pas dans mes recherches. A propos: - Citation :
- Cosmos, toi qui sais tout...
Tu y vas un peu fort. Si c'était vrai j'aurai pas ouvert ce post sur la position dans un memo. A vrai dire, lorsque j'ai posté celui-ci, j'étais près à abandonner Panoramic, tellement j'étais en colère. Je n’arrête pas d'être bloqué pour un oui ou un non, et moi j'ai besoin d'avancer. Lorsque j'ai eu l'idée de déblocage, inutile de te dire que j'étais content. Le but maintenant que je peux retrouver la position, c'est de faire un petit éditeur HTML en Panoramic, où je puisse mettre de la couleur, des images, avoir une vrai sortie colorée, enfin ce que l'on arrive à faire (en plus modeste) en HTML. Les idées fusent, mais où est le temps pour tout cela? On verra! Salutation |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Position dans un MEMO Lun 3 Oct 2011 - 18:30 | |
| Merci à tous les deux, minifly et cosmos, je vais étudier tout ça de plus près.
Si je m'adressais à toi cosmos c'est qu'il me semblait bien que tu avais trempé dans un truc du même genre et que tu fais de l'analyse et du traitement de textes (je ne me souvenais plus de l'intervention de minifly, ma recherche ne me l'avait pas donnée). Et puis l'un des plaisirs de programmer, pour moi, c'est de trouver des solutions aux problèmes qui se posent, avec les outils existants. Mais il est vrai que j'ai du temps à perdre, et que surtout je n'ai pas (plus) de client derrière qui me harcèle pour savoir où j'en suis ! | |
| | | Invité Invité
| Sujet: Re: Position dans un MEMO Lun 3 Oct 2011 - 19:12 | |
| oui, j'essaie de faire marché ton traitement de texte, je ne sais pas si j'ai une mauvaise copie, mais j'ai pleins de variables qui ne sont pas définies, je verrais après.
Il me semblait que j'avais fait quelque chose, mais où c'est? . En y repensant si c'est encore utile, on peut faire un memo et un list l'un sur l'autre si je puis m'exprimer ainsi. Il y a le memo et le list complet, et un memo et un list de visu, et avec un timer de contrôle, dès qu'on arrive en bas de page de l'un deux, on recopie une partie plus basse dans ces deux objets (idem pour le haut. Cela me parait une possibilité.
Là j’arrête il faut que je reparte! Je me demande si tout cela est compréhensible? |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Position dans un MEMO Lun 3 Oct 2011 - 20:33 | |
| Bizarre ton problème de variables... tu as dû louper une ligne de Dim dans la copie... je l'a recopié collé depuis ici, et pas de problème chez moi.
Les memos synchronisés c'était juste pour mettre ou non les numéros de lignes dans l'éditeur, dans une liste à part, et que ça suive dans le défilement, mais tu verras que finalement s'ils existent les numéros sont ajoutés en tête des lignes dans le même memo, et là pas de problème. | |
| | | 659_minifly
Nombre de messages : 590 Age : 75 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Re: Position dans un MEMO Lun 3 Oct 2011 - 20:45 | |
| Jl35 je viens d'essayer ton programme ça marche pour les numéros de lignes tu a bien fait de les mettres en entete de lignes en faites tu pourrai avoir 2 listes une avec une sans. | |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Position dans un MEMO Lun 3 Oct 2011 - 20:51 | |
| Merci minifly. Pour les numéros je ne veux pas trop compliquer la chose, c'est une utilisation assez ponctuelle et je veux faire au plus simple, et comme j'ai fait ça a l'air de donner satisfaction. Seul inconvénient, j'aurais préféré sortir ce numéro de ligne de la zone imprimable, mais ça complique trop pour pas grand chose. Pour l'instant je vais rester comme ça, sauf une illumination soudaine Et finalement, c'est pas plus mal qu'ils soient dans la zone imprimable puisqu'ils seront imprimés s'ils sont présents (contrairement à ce que j'avais mis dans l'aide, rectifiée). | |
| | | Invité Invité
| Sujet: Re: Position dans un MEMO Lun 3 Oct 2011 - 22:47 | |
| Il y a une possibilité de faire croire à une liste, comme tu fais dans ton memo en faisant un truc comme cela: - Code:
-
memo 1:full_space 1 button 2:width 2,10:height 2,height(1):left 2,20 J'ai pas le temps de rentrer dedans ton programme, mais si je veux mettre une couleur depuis le memo, j'ai une erreur de valeur négative 181. Mais je reste dans le mien. Je ne veux pas rentrer dedans maintenant. Il y avait eu un problème de copie/coller tout à l'heure. |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Position dans un MEMO Lun 3 Oct 2011 - 23:13 | |
| Tiens oui, c'est original ton truc pour séparer en colonnes ! Comme j'ai dit je vais rester en l'état, qui est le plus logique finalement.
Je ne comprends pas ton histoire de couleur (erreur ligne 181 ?), je n'arrive pas à la reproduire... | |
| | | Invité Invité
| Sujet: Re: Position dans un MEMO Mar 4 Oct 2011 - 13:04 | |
| Je mets ici le code provisoire pour connaitre la position du curseur sur un memo. Ici avec un clic. - Code:
-
height 0,height(0)+100 :width 0,450 : left 0,screen_x-width(0) label trouver dim p$,a,a$ ,pos ,lig ,col ,b ,w
memo 4:top 4,140:width 4,width(0)-50:height 4,220:font_size 4,15 :cursor_arrow 4:' cursor_cross 4 font_name 4,"Courier New" on_click 4,trouver item_add 4,"1234567890123456789" item_add 4,"1234567890123456" item_add 4,"1234567890" item_add 4,"1234567890123456789>1234567890" +chr$(0) w=50
edit 5:top 5,10 :left 5,w:width 5,100:font_size 5,12:hint 5,"colonne" edit 6:top 6,40 :left 6,w:width 6,100:font_size 6,12:hint 6,"ligne" edit 9:top 9,70 :left 9,w:width 9,160:font_size 9,10:hint 9,"p$" edit 10:top 10,100:left 10,w:width 10,100:font_size 10,10:hint 10,"pos"
set_focus 4 ' gosub fonte
end ' --------------------------------------------------
trouver:
clipboard_string_copy "©" clipboard_paste 4 clipboard_string_copy ""
if count(4)>0 pos=0 for a=1 to count(4) a$=item_read$(4,a) if instr(a$,"©")>0 then lig=a:exit_for pos=pos+len(a$)+2:' tenir compte chr$(10) et (13) next a col=instr(a$,"©")-1 p$=left$(a$,col)+mid$(a$,col+2,len(a$)) item_delete 4,lig if a<=count(4) item_insert 4,lig,p$ else item_insert 4,lig,p$+chr$(0) end_if pos=pos+col caret_position 4,pos end_if
text 5,col text 6,lig text 9,p$ text 10,pos
return
Tu me diras ce que tu en pense. Peut-être le mettre dans les trucs à partager une fois corrigé. |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Position dans un MEMO Mar 4 Oct 2011 - 13:54 | |
| Dis-donc cosmos, ça a l'air assez génial ton astuce de coller un caractère non imprimable à l'emplacement du curseur, et de le rechercher ensuite pour connaître sa position ! Tu m'époustoufles sur ce coup-là, je sens que je vais creuser l'idée et la mettre en oeuvre vite fait ! Chapeau ! Il y a un problème si on ne se contente pas de positionner le curseur mais si on sélectionne une zone, ça efface la partie sélectionnée, mais j'y travaille. | |
| | | Invité Invité
| Sujet: Re: Position dans un MEMO Mar 4 Oct 2011 - 14:32 | |
| effacé, erreur de manipulation
Dernière édition par cosmos70 le Mar 4 Oct 2011 - 14:36, édité 1 fois |
| | | Invité Invité
| Sujet: Re: Position dans un MEMO Mar 4 Oct 2011 - 14:35 | |
| je met un code plus serré. Je dois dire que sélectionner une zone, je n'ai pas pensé à cela. Celà me parait un problème. Celà ne peut qu'effacer. Par contre si tu as mis des N° de ligne devant, tu peux toujours faire une copie du memo avant, et une fois avoir trouver la ligne par le procédé, la recopier dans le memo. Quand au caractère que j'ai choisi, c'est un caractère imprimable, parce que je voulais le voir pour régler la position. Je pensais mettre à la place quelle que chose comme chr$(20) (moins que 32) - Code:
-
width 0,300 : left 0,screen_x-width(0) :height 0,300 label trouver : dim p$,a,a$ ,pos ,lig ,col ,b ,w ,set , choix set=4 :caption 0,"tapez du texte dans le memo" ' pour les testes memo set:width set,width(0)-30:height set,100:font_size set,15:bar_vertical set combo set+1:top set+1,140:item_add set+1,"ajouter code:<b>" :item_add set+1,"ajouter code:</b>":on_click set+1,trouver dlist set+2:item_add set+2,"<b>" : item_add set+2,"</b>" edit set+3:top set+3,110:width set+3,230 end ' --------------------------------------------------
trouver: choix=item_index(set+1) clipboard_string_copy "©" : clipboard_paste set if count(set)>0 pos=0 : for a=1 to count(set) : a$=item_read$(set,a) : if instr(a$,"©")>0 then lig=a:exit_for pos=pos+len(a$)+2 : next a col=instr(a$,"©")-1 : p$=left$(a$,col)+mid$(a$,col+2,len(a$)) : item_delete set,lig if a<=count(set) then item_insert set,lig,p$ : else : item_insert set,lig,p$+chr$(0) pos=pos+col : caret_position set,pos end_if clipboard_string_copy item_read$(set+2,choix) :clipboard_paste 4 text set+3,"ligne: " + str$(lig) + " colonne: " + str$(col) + " position curseur: " + str$(pos) return
J'y pense pour la zone. Tu faire une copie dans un dlist ligne ou pas ligne avant de faire le teste. A partir du moment que tu connais la ligne par ce teste, tu peux remettre celle-ci depuis le dlist. |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Position dans un MEMO Mar 4 Oct 2011 - 15:16 | |
| Ca y est, je vais mettre mon code corrigé. Grâce à toi j'ai résolu tous les cas, y compris le cas de la zone sélectionnée, tu verras si tu veux dans le post à côté. Comme caractère j'ai pris CHR$(255), mais n'importe lequel peut convenir du moment qu'il n'existe pas dans le texte. C'est très simple, ça efface la zone sélectionnée, mais comme j'ai lu la sélection avant je reconstitue la ligne et le tour est joué. Donc on peut soit insérer quelque chose au curseur (si pas de sélection), soit encadrer une zone avec des balises. Merci encore cosmos, tu m'as bien dépanné avec ton idée. | |
| | | Contenu sponsorisé
| Sujet: Re: Position dans un MEMO | |
| |
| | | | Position dans un MEMO | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |