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
» Gestion d'un système client-serveur.
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Emptypar Pedro Aujourd'hui à 7:20

» item_index(résolu)
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Cartes Pokémon : la prochaine extension ...
Voir le deal

 

 Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT

Aller en bas 
+8
Klaus
papydall
silverman
Jean Claude
Yannick
Marc
Minibug
Jack
12 participants
Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Suivant
AuteurMessage
Minibug

Minibug


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

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 13:42

Petite question bête :
Comment faites vous pour supprimer un texte déjà sélectionné ou une portion de texte ?
Je ne vois comment procéder. je suis surement passé a coté de quelques chose...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 14:17

Par programmation ou par le clavier ?

CLIPBOARD_CUT N copie, mais en plus il efface la sélection, ça pourrait-être une piste.

Sinon, par le clavier c'est la touche Suppr, mais ça je pense que tu le sais.

En fait, il faut que tu précises d'où tu veux supprimer la sélection.

A+
Revenir en haut Aller en bas
Minibug

Minibug


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

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 14:20

Le CLIPBOARD_CUT ne fonctionne pas.

Concernant la touche Suppr elle doit être programmé comme pour les CTRL+X etc...

Donc pas de solution pour le moment.
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 14:28

Mais si tu nous précisais ta demande.
Tu ne nous dis pas d'où et pourquoi tu veux supprimer un texte sélectionné.

Donne un exemple précis, je ne vois pas où tu veux en venir.

Sur ce, et vu le température extérieur, je vais passer l'après-midi dehors Cool sunny

A ce soir.

Revenir en haut Aller en bas
Minibug

Minibug


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

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 14:31

Citation :
Comment faites vous pour supprimer un texte déjà sélectionné ou une portion de texte ?

Je pense que tout est dit...

En résumé comment supprimer une portion de texte qui est sélectionné dans ton objet SYNEDIT et que tu veux supprimé ? drunken
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: re   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 15:04

Moi, là, j' ai besoin d' un exemple concret.
Je n' y pipe rien.

Trigger_key_down obj%,88,3 ou Trigger_key_down obj%,3,88
bref même message d' erreur que Laurent.
  drunken

Et dire que c' est moi qui l' ai demandé... Mad

Enfin apparemment c' est pas ce que je voulais... 
Je pensais que cet commande simulerait l' action physique de taper sur les touches
et là elle me demande de ré-inventer la roue en passant par On_key_down.
Mais on_key_down est N,L donc il se fout des combinaison de touche...et je me demande bien ce que lui fait là.
Encore une utilisation obscure de la force. Sad
Revenir en haut Aller en bas
Minibug

Minibug


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

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 16:24

Salut Yannick !

Moi aussi j'ai été surpris mais ce que Jack à dit sur les posts précedents est cohérent.
Relit les et tu verra que c'est logique en rapport a ON_CLICK par exemple...

Voila comment tu peux procéder (Avec un clic de droite) :

Code:


DIM no% , p% , t$ ,  clic%

LABEL touches , menu

no%=1

SYNEDIT no% : FULL_SPACE no% : ON_KEY_DOWN no%,touches : DIM SYN_EDIT% : SYN_EDIT%=no% : no%=no%+1

MAIN_MENU_POP no% : p%=no% : no%=no%+1
SUB_MENU no% : PARENT no%,p% : CAPTION no%,"Couper" : ON_CLICK no%,menu : DIM MENU%(3) : MENU%(1)=no% : no%=no%+1
SUB_MENU no% : PARENT no%,p% : CAPTION no%,"Copier" : ON_CLICK no%,menu : MENU%(2)=no% : no%=no%+1
SUB_MENU no% : PARENT no%,p% : CAPTION no%,"Coller" : ON_CLICK no%,menu : MENU%(3)=no% : no%=no%+1
  
END
  
touches:
   OFF_KEY_DOWN SYN_EDIT%
  
   IF KEY_DOWN_SPECIAL=3 AND KEY_DOWN_CODE=88                                 : ' FONCTION COUPER
      t$=SELECT_READ$(SYN_EDIT%) : CLIPBOARD_STRING_COPY t$                   : ' Mis en mémoire
                                                                              : ' mais j'ai pas la reponse pour supprimer le texte sélectionné
   END_IF
  
   IF KEY_DOWN_SPECIAL=3 AND KEY_DOWN_CODE=67                                 : ' FONCTION COPIER
      CLIPBOARD_STRING_COPY SELECT_READ$(SYN_EDIT%)                           : ' Copie du texte sélectionné
   END_IF
  
   IF KEY_DOWN_SPECIAL=3 AND KEY_DOWN_CODE=86                                 : ' FONCTION COLLER
      TEXT_INSERT SYN_EDIT%,CARET_POSITION(SYN_EDIT%),CLIPBOARD_STRING_PASTE$ : ' Colle le texte en mémoire
   END_IF
  
   ON_KEY_DOWN SYN_EDIT%,touches
RETURN

menu:
   clic%=NUMBER_CLICK
   IF clic%=MENU%(1) THEN TRIGGER_KEY_DOWN SYN_EDIT%,88,3
   IF clic%=MENU%(2) THEN TRIGGER_KEY_DOWN SYN_EDIT%,67,3
   IF clic%=MENU%(3) THEN TRIGGER_KEY_DOWN SYN_EDIT%,86,3
RETURN

Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: re   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 17:27

C' est bien ce que je dis, cette commande ne fait pas ce qu' on lui demandait.

Le but du jeu était d' envoyer les codes touche à l' objet.
Comme le fait la fonction de Klaus dans KGF


res% = dll_call5("SendSingleKey",hnd%,VK%,ctrl%,alt%,shift%)
hnd%
handle de l'objet visé
VK%
code de la touche à envoyer
ctrl%
0 = normal
1 = control/x
alt%
0 = normal
1 = alt/x
shift%
0 = normal
1 = shift/x
res%
toujours 0
Là on on tourne en rond.

L' objet synedit répond de part lui même à des commandes clavier
on n' a pas besoin de On_key_down.
Là c 'est refaire ce qui existe déjà de nature.

Je voulais que cela simule l' action physique. 
Là c' est des lignes pour rien.
Autant faire On_key_down directement
cela ne servira presque jamais.

Je suis décu, tant pis, je vais me consoler avec le reste en attendant qu' un jour....

Text_insert  fonctionne très bien lui, je peux insérer le résultat de mes outils, ca c' est super.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: re   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 18:40

@ Laurent,

Code:
sub Cut()
   dim_local i%,l$,cp%,nc%,p%,t$,a$,b$
  
   if count(Sy%(ActiveFeuil%))>0
      t$ = select_read$(Sy%(ActiveFeuil%))
  clipboard_string_copy t$
      cp% = caret_position(Sy%(ActiveFeuil%))
  for i%=1 to count(Sy%(ActiveFeuil%))
     l$ = item_read$(Sy%(ActiveFeuil%),i%)
         nc%=nc%+len(l$)+2
 if nc%>cp%
    p% = instr_pos(l$,t$,1)-1
 a$ = left$(l$,p%)
 b$ = right$(l$,len(l$)-(p%+len(t$)))
 item_delete Sy%(ActiveFeuil%),i%
 item_insert Sy%(ActiveFeuil%),i%,a$+b$
            exit_for
 end_if
  next i%
   end_if
end_sub

au lieu d' un simple Trigger_key_down N,88,3  Rolling Eyes
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 18:53

Bravo à tous les deux,

Le problème est que CLIPBOARD_CUT ne fonctionne que sur un MEMO.
Il faudrait CLIPBOARD_STRING_COPY_AND_CUT N pour simplifier la chose.

Je me suis permis d'intégrer la SUB CUT() de Yannick cheers  dans le code de Laurent.
Code:


DIM no% , p% , t$ ,  clic%  , a$

LABEL touches , menu

no%=1

SYNEDIT no% : FULL_SPACE no% : ON_KEY_DOWN no%,touches : DIM SYN_EDIT% : SYN_EDIT%=no% : no%=no%+1
item_add SYN_EDIT%,"bonjour les amis"

MAIN_MENU_POP no% : p%=no% : no%=no%+1
SUB_MENU no% : PARENT no%,p% : CAPTION no%,"Couper" : ON_CLICK no%,menu : DIM MENU%(3) : MENU%(1)=no% : no%=no%+1
SUB_MENU no% : PARENT no%,p% : CAPTION no%,"Copier" : ON_CLICK no%,menu : MENU%(2)=no% : no%=no%+1
SUB_MENU no% : PARENT no%,p% : CAPTION no%,"Coller" : ON_CLICK no%,menu : MENU%(3)=no% : no%=no%+1
  
END
  
touches:
   OFF_KEY_DOWN SYN_EDIT%
  
   IF KEY_DOWN_SPECIAL=3 AND KEY_DOWN_CODE=88                                 : ' FONCTION COUPER
      cut()
   END_IF
  
   IF KEY_DOWN_SPECIAL=3 AND KEY_DOWN_CODE=67                                 : ' FONCTION COPIER
      CLIPBOARD_STRING_COPY SELECT_READ$(SYN_EDIT%)                           : ' Copie du texte sélectionné
   END_IF
  
   IF KEY_DOWN_SPECIAL=3 AND KEY_DOWN_CODE=86                                 : ' FONCTION COLLER
      TEXT_INSERT SYN_EDIT%,CARET_POSITION(SYN_EDIT%),CLIPBOARD_STRING_PASTE$ : ' Colle le texte en mémoire
   END_IF
  
   ON_KEY_DOWN SYN_EDIT%,touches
RETURN

menu:
   clic%=NUMBER_CLICK
   IF clic%=MENU%(1) THEN TRIGGER_KEY_DOWN SYN_EDIT%,88,3
   IF clic%=MENU%(2) THEN TRIGGER_KEY_DOWN SYN_EDIT%,67,3
   IF clic%=MENU%(3) THEN TRIGGER_KEY_DOWN SYN_EDIT%,86,3
RETURN

sub Cut()
  dim_local i%,l$,cp%,nc%,p%,t$,a$,b$
  if count(SYN_EDIT%)>0
      t$ = select_read$(SYN_EDIT%)
     clipboard_string_copy t$
      cp% = caret_position(SYN_EDIT%)
     for i%=1 to count(SYN_EDIT%)
       l$ = item_read$(SYN_EDIT%,i%)
        nc%=nc%+len(l$)+2
       if nc%>cp%
          p% = instr_pos(l$,t$,1)-1
         a$ = left$(l$,p%)
         b$ = right$(l$,len(l$)-(p%+len(t$)))
         item_delete SYN_EDIT%,i%
         item_insert SYN_EDIT%,i%,a$+b$
            exit_for      
       end_if
     next i%
  end_if
end_sub


Beau Travail  cheers je prends.

A+
Revenir en haut Aller en bas
Minibug

Minibug


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

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 19:20

Modère ton enthousiasme jean Claude car il y a quand même quelques soucis...

En utilisant cette méthode on perds la possibilité du retour arrière ou CTRL+Z.
Ce qui est quand même très fâcheux ! Mad

Deuxième chose, comme l'a très bien dit Yannick, les fonctions Couper/Copier/Coller étant déjà implanter nativement dans l'objet SYNEDIT pourquoi devoir réinventé la roue surtout pour faire moins bien (plus de CTRL+Z) ?

Sinon pour le code tu peux carrément t’affranchir de la gestion des touches comme le code ci-dessous.
Les fonctions natives CTRL+X/C/V (Couper/Copier/Coller) fonctionnent parfaitement avec le CTRL+Z puisqu'on les utilise par défaut.
Mais dès lors qu'on utilise la 'méthode Panoramic' par le code plus de CTRL+Z ?

C'est quand même très ennuyeux !!  Suspect

J'en viens donc à la même conclusion que Yannick, et là ma demande se tourne plutôt vers Jack :
Serait il possible d'émuler les fonctions CTRL+X/C/V (Couper/Copier/Coller) dans SYNEDIT de comme le fait la fonction de Klaus. Sinon plus de possibilité d'utiliser le CTRL+Z !  affraid

Code:


DIM no% , p% , t$ ,  clic%  , a$

LABEL menu

no%=1

SYNEDIT no% : FULL_SPACE no% : DIM SYN_EDIT% : SYN_EDIT%=no% : no%=no%+1
item_add SYN_EDIT%,"bonjour les amis"

MAIN_MENU_POP no% : p%=no% : no%=no%+1
SUB_MENU no% : PARENT no%,p% : CAPTION no%,"Couper" : ON_CLICK no%,menu : DIM MENU%(3) : MENU%(1)=no% : no%=no%+1
SUB_MENU no% : PARENT no%,p% : CAPTION no%,"Copier" : ON_CLICK no%,menu : MENU%(2)=no% : no%=no%+1
SUB_MENU no% : PARENT no%,p% : CAPTION no%,"Coller" : ON_CLICK no%,menu : MENU%(3)=no% : no%=no%+1
  
END

menu:
   clic%=NUMBER_CLICK
   IF clic%=MENU%(1) THEN cut()
   IF clic%=MENU%(2) THEN CLIPBOARD_STRING_COPY SELECT_READ$(SYN_EDIT%)
   IF clic%=MENU%(3) THEN TEXT_INSERT SYN_EDIT%,CARET_POSITION(SYN_EDIT%),CLIPBOARD_STRING_PASTE$
RETURN

sub Cut()
  dim_local i%,l$,cp%,nc%,p%,t$,a$,b$
  if count(SYN_EDIT%)>0
      t$ = select_read$(SYN_EDIT%)
     clipboard_string_copy t$
      cp% = caret_position(SYN_EDIT%)
     for i%=1 to count(SYN_EDIT%)
       l$ = item_read$(SYN_EDIT%,i%)
        nc%=nc%+len(l$)+2
       if nc%>cp%
          p% = instr_pos(l$,t$,1)-1
         a$ = left$(l$,p%)
         b$ = right$(l$,len(l$)-(p%+len(t$)))
         item_delete SYN_EDIT%,i%
         item_insert SYN_EDIT%,i%,a$+b$
            exit_for      
       end_if
     next i%
  end_if
end_sub

Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: re   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 19:27

@ Laurent,

On s' est croisé.
Je m' apprêtai à répondre la même chose que toi à Jean Claude.
Mais peut être Jean-Claude est lignivore...
lol! 

En fait l' erreur est peut être dans l' expression de la demande mais Jack devrait commencer à nous connaitre et savoir que l' on a notre propre vocabulaire. Laughing
La demande aurait du être SendKey N...  Wink
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: re   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 19:32

Voilà les outils que j' ai réussi à faire

Couper
Copier
Coller
Rechercher
Remplacer
Tabulation +
Tabulation -

il me manque :

Annuler
Rétablir
Plier
Déplier
BookMark +
BookMark -
Revenir en haut Aller en bas
Minibug

Minibug


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

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 19:44

Yannick a écrit:
Mais peut être Jean-Claude est lignivore...

Notre Jean claude serait il devenu un coléoptère !?
Gares à toi Yannick si Maître Papydall passe par ici... lol! lol! lol! lol!
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: re   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 19:47

J' entendais "mangeur de lignes" mais bon je subirai les foudres
de notre nouvel oeil de lynx.
lol!
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 21:33

Laurent a écrit:
Modère ton enthousiasme jean Claude car il y a quand même quelques soucis...
En utilisant cette méthode on perds la possibilité du retour arrière ou CTRL+Z.
Ce qui est quand même très fâcheux !

pale  Question  Question  Question  pale

Là, je suis perplexe. Je viens de reprendre ton code Laurent.
Code:


DIM no% , p% , t$ ,  clic%  , a$

LABEL menu

no%=1

SYNEDIT no% : FULL_SPACE no% : DIM SYN_EDIT% : SYN_EDIT%=no% : no%=no%+1
item_add SYN_EDIT%,"bonjour les amis"

MAIN_MENU_POP no% : p%=no% : no%=no%+1
SUB_MENU no% : PARENT no%,p% : CAPTION no%,"Couper" : ON_CLICK no%,menu : DIM MENU%(3) : MENU%(1)=no% : no%=no%+1
SUB_MENU no% : PARENT no%,p% : CAPTION no%,"Copier" : ON_CLICK no%,menu : MENU%(2)=no% : no%=no%+1
SUB_MENU no% : PARENT no%,p% : CAPTION no%,"Coller" : ON_CLICK no%,menu : MENU%(3)=no% : no%=no%+1
  
END

menu:
   clic%=NUMBER_CLICK
   IF clic%=MENU%(1) THEN cut()
   IF clic%=MENU%(2) THEN CLIPBOARD_STRING_COPY SELECT_READ$(SYN_EDIT%)
   IF clic%=MENU%(3) THEN TEXT_INSERT SYN_EDIT%,CARET_POSITION(SYN_EDIT%),CLIPBOARD_STRING_PASTE$
RETURN

sub Cut()
  dim_local i%,l$,cp%,nc%,p%,t$,a$,b$
  if count(SYN_EDIT%)>0
      t$ = select_read$(SYN_EDIT%)
     clipboard_string_copy t$
      cp% = caret_position(SYN_EDIT%)
     for i%=1 to count(SYN_EDIT%)
       l$ = item_read$(SYN_EDIT%,i%)
        nc%=nc%+len(l$)+2
       if nc%>cp%
          p% = instr_pos(l$,t$,1)-1
         a$ = left$(l$,p%)
         b$ = right$(l$,len(l$)-(p%+len(t$)))
         item_delete SYN_EDIT%,i%
         item_insert SYN_EDIT%,i%,a$+b$
            exit_for      
       end_if
     next i%
  end_if
end_sub

J'ai fait un essai, et je constate que CTRL+Z fonctionne au moins une fois.

Je constate aussi que je décroche par rapport à votre vision, en clair je n'y comprend plus rien.

J'ai fait un test:
J'ai chargé un code dans un synedit (sans utiliser les nouvelles commandes), les sélections, copier, coller avec les raccourcis clavier fonctionnent parfaitement (Comme dit Laurent, elles sont natives)
Par contre, après avoir supprimer plusieurs mots (manuellement à partir du clavier), ensuite j'ai utilisé CTRL+Z, et là, surprise tout les mots que j'avais supprimé sont revenus en une seule frappe CTRL+Z.  Exclamation  Question

Je m’attendais plutôt à ce que chaque mot supprimé revienne les uns après les autres (à Chaque Frappe CTRL+Z)

Heu... là, je suis inquiet, car ça veut dire que si je viens de coder pendant une heure (sans sauvegarder, tel le bourrin) et que je fait CTRL+Z, j’efface (ou je remet) tous ce qui a été fait avant.  scratch  drunken

A ce propos, quel est le raccourci-clavier "Natif" pour refaire (le contraire de CTRL+Z) ?

A+
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 22:19

Recommencez vos tests avec cette sub Laughing
Code:
sub Cut()
  dim_local i%
  i%=replace(select_read$(SYN_EDIT%),select_read$(SYN_EDIT%),SYN_EDIT%,caret_position(SYN_EDIT%))
end_sub
Revenir en haut Aller en bas
Klaus

Klaus


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

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 22:30

Citation :
A ce propos, quel est le raccourci-clavier "Natif" pour refaire (le contraire de CTRL+Z) ?
c'est shift/ctrl/Z !

EDIT

Tu peux le vérifier dans Panoramic_Editor !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: re   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 23:18

@ Silverman,

Ta sub n' est bonne que si tu sélectionnes le texte à couper dans un sens, droite à gauche.
Wink

@ Klaus,

On te l' a peut-être déjà demandé mais aurais tu une liste des raccourcis clavier
natifs d' un objet synedit ?
Revenir en haut Aller en bas
Klaus

Klaus


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

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptySam 27 Mai 2017 - 23:26

Citation :
On te l' a peut-être déjà demandé mais aurais tu une liste des raccourcis clavier
natifs d' un objet synedit ?

Voici ce que je trouve dans le source de Synedit:
Code:
  AddKey(ecSelectAll, ord('A'), [ssCtrl]);
  AddKey(ecCopy, ord('C'), [ssCtrl]);
  AddKey(ecPaste, ord('V'), [ssCtrl]);
  AddKey(ecCut, ord('X'), [ssCtrl]);
  AddKey(ecBlockIndent, ord('I'), [ssCtrl,ssShift]);
  AddKey(ecBlockUnindent, ord('U'), [ssCtrl,ssShift]);
  AddKey(ecLineBreak, ord('M'), [ssCtrl]);
  AddKey(ecInsertLine, ord('N'), [ssCtrl]);
  AddKey(ecDeleteWord, ord('T'), [ssCtrl]);
  AddKey(ecDeleteLine, ord('Y'), [ssCtrl]);
  AddKey(ecDeleteEOL, ord('Y'), [ssCtrl,ssShift]);
  AddKey(ecUndo, ord('Z'), [ssCtrl]);
  AddKey(ecRedo, ord('Z'), [ssCtrl,ssShift]);
  AddKey(ecGotoMarker0, ord('0'), [ssCtrl]);
  AddKey(ecGotoMarker1, ord('1'), [ssCtrl]);
  AddKey(ecGotoMarker2, ord('2'), [ssCtrl]);
  AddKey(ecGotoMarker3, ord('3'), [ssCtrl]);
  AddKey(ecGotoMarker4, ord('4'), [ssCtrl]);
  AddKey(ecGotoMarker5, ord('5'), [ssCtrl]);
  AddKey(ecGotoMarker6, ord('6'), [ssCtrl]);
  AddKey(ecGotoMarker7, ord('7'), [ssCtrl]);
  AddKey(ecGotoMarker8, ord('8'), [ssCtrl]);
  AddKey(ecGotoMarker9, ord('9'), [ssCtrl]);
  AddKey(ecSetMarker0, ord('0'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker1, ord('1'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker2, ord('2'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker3, ord('3'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker4, ord('4'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker5, ord('5'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker6, ord('6'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker7, ord('7'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker8, ord('8'), [ssCtrl,ssShift]);
  AddKey(ecSetMarker9, ord('9'), [ssCtrl,ssShift]);
  AddKey(ecNormalSelect, ord('N'), [ssCtrl,ssShift]);
  AddKey(ecColumnSelect, ord('C'), [ssCtrl,ssShift]);
  AddKey(ecLineSelect, ord('L'), [ssCtrl,ssShift]);
  AddKey(ecMatchBracket, ord('B'), [ssCtrl,ssShift]);
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: re   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptyDim 28 Mai 2017 - 0:44

Merci Klaus.

CQFD il nous faut une commande SENDKEY N,CTRL,SHIFT,ALT,KeyDowncode,
ou y ressemblant, pour pouvoir envoyer les combinaisons de commande clavier à l' objet synedit.
Wink
Revenir en haut Aller en bas
Klaus

Klaus


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

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptyDim 28 Mai 2017 - 0:59

Oui. C'est ce que j'ai fait dans KGF.dll. Cela correspond à
SendKey N,VK_CODE,shift,ctrl,alt
VK_CODE étant un des codes VK définis dans Windows (la liste est dans la doc KGF.dll - ici.
shift, ctrl et alt sont soit 0, soit 1.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptyDim 28 Mai 2017 - 6:43

Jean Claude a écrit:
Je constate aussi que je décroche par rapport à votre vision, en clair je n'y comprend plus rien.

Rassure-toi, tu n'es pas le seul. Moi non plus, je n'y comprend plus rien.

Il y a eu beaucoup de demandes, j'ai essayé d'y répondre et re-voici de nouvelles demandes tous azimuths ...

Tant que je n'aurai pas compris à quoi tout cela peut bien servir, je fais une pause avec l'objet SYNEDIT. En attendant que ce mouvement brownien se décante, je reprends le 3ème but que je me suis fixé : mettre à jour le compilateur ...

A bientôt pour la mise à jour du compilateur. Laughing Laughing Laughing

_________________
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptyDim 28 Mai 2017 - 9:15

@Jack

Je pense que je viens de comprendre. Trigger_key a été perçu comme une commande effectuant la même chose qu'une action physique sur un jeu de touche. Ainsi, il aurait été possible de "commander" un synedit.
Maintenant, les actions de 'couper/copier/coller' qui sont naturellement présentes dans un synedit peuvent être réalisées par programmation, mais pas 'undo/redo' puisque trigger_key ne provoque qu'une exécution du traitement des événements clavier. Et coder les actions de 'couper/copier/coller', cré un nouveau pb, c'est que cela n'affecte pas la liste interne des 'undo/redo'.
En résumé, ce qui était souhaité par certains c'est une commande "trigger_key N,VK_CODE,shift,ctrl,alt" qui aurait "commandé" physiquement un synedit.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 EmptyDim 28 Mai 2017 - 10:21

Bonjour à tous,

Merci Klaus pour le raccourci.
Je suis content d'avoir posé la question, car, involontairement, cela a permis de définir plus clairement la commande qui "manque".

Sylverman a bien résumé, je crois, ce que cherche Yannick et Laurent.
Citation :
les actions de 'couper/copier/coller' qui sont naturellement présentes dans un synedit peuvent être réalisées par programmation, mais pas 'undo/redo' .....
En résumé, ce qui était souhaité par certains c'est une commande "trigger_key N,VK_CODE,shift,ctrl,alt" qui aurait "commandé" physiquement un synedit.

Pour ma part, je vais d'abord continuer mon code car je passe plus de temps à répondre à des choses que je ne maîtrise pas encore, ajoutant ainsi à la confusion. Et je pense que c'est en codant que j'y parviendrai.
Vu ma vitesse de codage Very Happy  , ça va vous faire un peu de vacances Razz

A+


Dernière édition par Jean Claude le Dim 28 Mai 2017 - 10:42, édité 1 fois
Revenir en haut Aller en bas
Contenu sponsorisé





Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty
MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT - Page 8 Empty

Revenir en haut Aller en bas
 
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT
Revenir en haut 
Page 8 sur 10Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Suivant
 Sujets similaires
-
» Prochaine version instantanée
» Version instantanée du 2 juin 2016 : PANORAMIC V 0.9.27i8
» version instantanée V 0.9.28i16 du 21/03/2018
» Version instantanée du 4 nov 2015 : PANORAMIC V 0.9.27i2
» Version instantanée du 22 avril 2016 : PANORAMIC V 0.9.27i7

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Ce qui est en cours ...-
Sauter vers: