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
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par pascal10000 Aujourd'hui à 16:47

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 16:47

» track_bar circulaire
par Klaus Aujourd'hui à 13:54

» API Windows
par Klaus Aujourd'hui à 3:21

» Cartes de voeux, menus, etc.
par JL35 Hier à 17:48

» Mah-Jong européen new-look
par jjn4 Hier à 15:48

» a l'aide klaus
par Minibug Hier à 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Hier à 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

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

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9, 10
AuteurMessage
Klaus

avatar

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

MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Mar 30 Mai 2017 - 16:24

Voici comment j'ai fait en Delphi 6:
Spoiler:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

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

MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Mer 31 Mai 2017 - 19:46

Bonsoir à tous,

Ça y est ! en avançant dans mon code j'ai enfin compris le problème avec Annuler et Refaire. Embarassed

La question de Jack est: pourquoi voulez-vous cette commande, du moins c'est ce que j'ai compris.

Je vais tenter d'expliquer la chose:
Je résume les 2 raccourcis claviers Ctrl+Z et Ctrl+Maj+Z pour Annuler et Refaire fonctionnent très bien dans SYNEDIT, par contre ce n'est pas programmable (à partir d'un menu, par exemple).
Alors que dans l'éditeur Panoramic il y a bien la fonction Annuler dans le menu Edition et elle fonctionne à partir de ce menu.

Le code ci-dessous met en évidence le problème.

Code:
synedit 1
item_add 1,"bonjour les amis"
item_add 1,""
item_add 1,"Démonstration Pour Annuler ou Refaire "
item_add 1,""

label Annuler,Refaire
Main_menu 2
sub_menu 3 : parent 3,2 : caption 3,"Annuler" : on_click 3,Annuler
sub_menu 4 : parent 4,2 : caption 4,"Refaire" : on_click 4,Refaire

END
                          
Annuler:
  message "Inopérant par le menu, utiliser votre clavier Ctrl+Z"
RETURN

Refaire:
  message "Inopérant par le menu, utiliser votre clavier Ctrl+Maj+Z"
RETURN

Pour te convaincre, Jack: prenons l'exemple d'un utilisateur qui débute en programmation et qui ne connait pas forcément tous les raccourcis clavier.
S'il n'a pas, dans le menu, (ou un bouton dans une toolbar) les possibilités annuler et refaire et qu'il ne connait pas les raccourcis le voilà privé de 2 possibilités importantes pour un éditeur.
Au mieux il sait que ces 2 fonctions existent et va chercher ou demander sur le forum...
Au pire, il ne le sait pas, ....

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2408
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Mer 31 Mai 2017 - 20:16

Eh ben tu vois jean claude ça finit par rentrer !!
Laughing Laughing Laughing Laughing Laughing Laughing

Je suis content que tu es réussi à reproduire l'erreur. Cà fait une personne de plus pour tenter d'expliquer à Jack ! Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Jean Claude

avatar

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

MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Mer 31 Mai 2017 - 21:05

Laurent a écrit:
Je suis content que tu es réussi à reproduire l'erreur.

Je ne suis pas certain que ce soit une erreur, un oubli peut-être.
Pour comprendre le problème, il a fallu que j'ai eu besoin de coder ces 2 fonctions (Annuler,Refaire).
Un bon exemple, est plus facile à comprendre.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 475
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Sam 3 Juin 2017 - 11:14

Jack a écrit:
Je ne comprends toujours pas pourquoi vous voulez émuler l'envoi des touches CTRL+X, CTRL+C et CTRL+V sur un objet.

En fait, il y a un pb de synchronisation entre les actions codé par programmation et celles de l'objet synedit.

Imaginons que dans le traitement de texte WORD, on décide d'utiliser à plusieurs reprise CTRL+X puis d'annuler ces actions par CTRL+Z et le sous menu annuler du menu édition; Si le raccourci CTRL+Z ne faisait pas la même chose que le sous menu "annuler", ce serait très ennuyeux pour les utilisateurs.

D'où le souhait de qq uns de vouloir émuler l'envoi des touches CTRL+X, CTRL+C, CTRL+V et CTRL+Z sur l'objet synedit, puisque ces actions réalisées par programmation ne sont pas synchronisées avec celles des raccourcis de l'objet synedit.
De plus, les CTRL+X/C/V/Z programmés avec 'on_key_xxx' interfères avec ceux de l'objet synedit.

Une autre solution qui serait aussi valable selon moi, serait de créer une commande pour désactiver/activer les raccourcis natifs de l'objet synedit, cela règlerait le pb d'émulation d'envoi de touches et de synchronisation, mais nécessiterait le codage des fonctions undo/redo par les panoramiciens.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Sam 3 Juin 2017 - 12:03

Citation :
mais nécessiterait le codage des fonctions undo/redo par les panoramiciens.
Oh là, attention ! Comme je plonge dans les entrailles du Synedit, j'en sais quelque chose sur la façon dont c'est implémenté, et entre autres, sur les Undo/Redo. C'est un véritable monument et dépasse de loin la mémorisation de quelques portions de texte. Il y a l'ensemble des actions sur le texte à considérer, y compris la gestion des raccourcis (ctrl/1, ctrl/2, ...).

A mon avis, il faut absolument garder l'accès aux fonctions natives de l'objet Synedit - c'est l'essentiel de sa puissance.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

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

MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Sam 3 Juin 2017 - 12:29

Bonjour à tous,

Silverman a écrit:
Une autre solution qui serait aussi valable selon moi, serait de créer une commande pour désactiver/activer les raccourcis natifs de l'objet synedit, ....

Une commande de plus, qui à mon avis ne servira à personne.
Quel intérêt de désactiver les raccourcis natifs de SYNEDIT, si on utilise SYNEDIT c'est que l'on fait un éditeur pour programmer donc on a besoin de ces raccourcis.
Sinon en supposant que la fonction existe, il faudra tout reprogrammer ces fonctions (bonjour le plaisir et les bugs  Very Happy ).
Bon, c'est vrai qu'on ne sera pas obligé de s'en servir.... Very Happy  

En fait, au stade où j'en suis de mon code, il ne me manque que la possibilité de pouvoir déclencher Ctrl+Z et son contraire, ou par le menu, ou par 2 boutons. Les autres fonctions sont codées, sauf Ctrl+C qui bug comme je l'ai signalé ici => http://panoramic.free-boards.net/t5302-copier-coller-dans-synedit-bug#65275.

J'attends que Jack ai du temps pour regarder tous ça en détail, pour poster mon code.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2408
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Sam 3 Juin 2017 - 13:49

Citation :
Une commande de plus, qui à mon avis ne servira à personne.

Tout à fait d'accord avec toi Jean Claude !
Tous ceux qui ont programmé SYNEDIT avant qu'il ne soit introduit dans Panoranic, grâce à la dll de Klaus ne me contrediront pas !

Il faut savoir et je le répète, qu'a la base tous les raccourcis implantés par défaut (natifs) fonctionnent parfaitement dans SYNEDIT. Alors, comme dirait Yannick, pourquoi réinventer la roue ?

Et comme le dit Klaus, il faut garder ses fonctions natives !
Le seul problème qui se pose aujourd'hui c'est la possibilité de déclencher les raccourcis de SYNEDIT par la programmation des touches de ces mêmes raccourcis. Même si cela n'est pas le plus facile, je pense que c'est la meilleur solution, de la même manière que Klaus l'a fait dans sa dll.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Yannick

avatar

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

MessageSujet: Re   Sam 3 Juin 2017 - 22:42

D' autant que d' autres fonctions dispose dans le SYNEDIT de KGF et sûrement
plus chronophage pour être programmées seront utiles...
Laughing

Exemple : connaitre la ligne et la colonne du caret ... tongue
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

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

MessageSujet: Re   Sam 3 Juin 2017 - 22:43

Embarassed doublon.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 475
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Mer 7 Juin 2017 - 11:09

En plus de l'editeur, il y a corruption d'affichage de l'objet synedit. Plusieurs panoramiciens on confirmer ce pb, Jean Claude a trouver le moyen pour le reproduire à chaque fois, ici.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 610
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Ven 15 Sep 2017 - 7:58

Bonjour Jack
Peut tu mettre les commandes clipboard_copy ; clipboard_Paste et clipboard_Cut a synedit
merci d'avance
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
silverman

avatar

Nombre de messages : 475
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT   Ven 15 Sep 2017 - 15:45

Bonjour à tous

@pascal1000
Tu peux obtenir la même chose avec ces subs(dll "user32", donc uniquement windows):
Code:
dim i

EXTEND_SYNEDIT() :' AJOUTER DES COMMANDES A L'OBJET SYNEDIT

synedit 1 : set_focus 1
item_add 1,"azertyuiop"


' sélectionner du texte
   select_text 1,1,4
   pause 500

' le couper
   SYNEDIT_CUT(1)  :' couper
   ' SYNEDIT_COPY(1)  :' ou tout simplement copier
   pause 500

' le coller à la fin du synedit
   for i=1 to 5
      NEW_LINE(1)
      SYNEDIT_PASTE%(1)  :' coller
      pause 500
   next i

' annuler tout
   for i=6 to 1 step -1
      SYNEDIT_UNDO%(1)  :' annuler(undo)
      if i>1 then DELETE_CURRENT_LINE(1) :' n'efface pas la première ligne
      pause 500
   next i

caret_position 1,0
END
'
sub NEW_LINE(synedit%)
 dim_local xx,x,cpt,cp
   ' cré une nouvelle ligne
   item_add 1,""
   x=find(chr$(13),1,caret_position(1))
   ' positionne le caret au début de la ligne
   caret_position 1,x+1
end_sub


sub DELETE_CURRENT_LINE(synedit%)
 dim_local x,cpt,cp
   ' recherche de la ligne courante
   cp=caret_position(synedit%)
   x=find(chr$(13),synedit%,cp)
   while x>0
      cpt=cpt+1
      x=find(chr$(13),synedit%,x+1)
   end_while
   ' la supprimer
   item_delete 1,count(synedit%)-cpt
   ' repositionner le caret
   if cp>1 then caret_position 1,cp-2
end_sub


sub EXTEND_SYNEDIT()
   if variable("WM_CUT%")=0
      ' commande :
      dim WM_CUT%,WM_COPY%,WM_PASTE%,WM_UNDO%
      WM_CUT%  =768   :' ctrl+x : couper
      WM_COPY% =769   :' ctrl+c : copier
      WM_PASTE%=770   :' ctrl+v : coller
      WM_UNDO% =772   :' ctrl+z : annuler(undo)
      '
      dim user32%
      user32%=2
      '
      LIBRARY user32%,"user32.dll"
      command "message_for_synedit","SendMessageA",user32%,"IIII","stdcall"
      ' ex.: message_for_synedit handle(N), window_message%, my_value1%, my_value2%
   end_if
end_sub


sub SYNEDIT_CUT(synedit%)
   message_for_synedit handle(synedit%),WM_CUT%,0,0
end_sub


sub SYNEDIT_COPY(synedit%)
   message_for_synedit handle(synedit%),WM_COPY%,0,0
end_sub


sub SYNEDIT_PASTE%(synedit%)
   message_for_synedit handle(synedit%),WM_PASTE%,0,0
end_sub


sub SYNEDIT_UNDO%(synedit%)
   message_for_synedit handle(synedit%),WM_UNDO%,0,0
end_sub


@jack
Qu'en est-il du pb de corruption d'affichage?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 610
Localisation : Troyes
Date d'inscription : 05/02/2011

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

oui sylverman je le sais et grâce a papydall
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
Contenu sponsorisé




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

Revenir en haut Aller en bas
 
Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 10 sur 10Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9, 10
 Sujets similaires
-
» version instantanée du 22 mai 2010: redimensionner SPRITE
» PANORAMIC_IDE: version instantanée du 25 septembre 2010
» Version instantanée 26 septembre 2014 : PANORAMIC V 0.9.26i2
» Version instantanée du 7 janvier 2015 : PANORAMIC V 0.9.26i5
» PANORAMIC_IDE: version instantanée du 20 septembre 2010

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: