Novembre 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 | | Calendrier |
|
|
| [english] SYNEDIT How to set the keywords ? | |
| | Auteur | Message |
---|
d.j.peters
Nombre de messages : 77 Age : 60 Localisation : Germany Date d'inscription : 31/07/2010
| Sujet: [english] SYNEDIT How to set the keywords ? Mar 1 Mai 2018 - 19:07 | |
| How can I add / delete keywords in SYNEDIT ?
Do you know witch events are triggered by SYNEDIT also ?
Thank you.
DJ | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: [english] SYNEDIT How to set the keywords ? Jeu 3 Mai 2018 - 18:55 | |
| Hello It's not possible to add / delete keywords in SYNEDIT Events that triggered by SYNEDIT: - Code:
-
' Panoramic 0.9.28i12
' ============================================================== ' = Title : ' = ' = Author : Silverman ' = ' = Date : Mai 2017 ' = ' = Version: 1.0 ' ============================================================== ' Comments : Vérifie et affiche l'ensemble des évènements ' : associés à tous les objets ' ==============================================================
label trait_error , on_continu dim typ%,obj%,i,l,c
hide 0 : full_space 0
' on_error_goto trait_error TEST_EVENT(0,26) :' initialisation tableau MAKE_OBJECT_FROM_TYPE(26,26) : delete 26 :' initialisation tableau
' fabrique une grille pour inscrire les résultats alpha 4 : font_bold 4 : hide 4 :' pour obtenir la largeur d'un texte grid 5 : parent 5,0 : full_space 5 : font_bold 5 : color 5,239,239,239 grid_column 5,16 : grid_one_column_width 5,1,160 grid_row 5,51 : grid_row_height 5,18 ' écrire les évènements for i=1 to 15 EVENT_NAME$(i)=" "+EVENT_NAME$(i)+" " grid_write 5,1,i+1,EVENT_NAME$(i) : caption 4,EVENT_NAME$(i) : grid_one_column_width 5,i+1,text_width(EVENT_NAME$(i),4) :' 9*len(EVENT_NAME$(i))+9 next i ' écrire les objets for i = 0 to 49 grid_write 5,i+2,1,str$(i)+" : "+OBJECT_TYPE_NAME$(i) next i
' teste tous les objets... obj%=10 :' un numero d'objet pour les tests for typ%=0 to 49 MAKE_OBJECT_FROM_TYPE(typ%,obj%) :' ...selon leur type... ' if OBJECT_TYPE_NAME$(typ%)<>"_" :' ...excepté les types non défini for c=1 to 15 TEST_EVENT(c,obj%) :' teste tous les évènements de panoramic on_continu: fill_grid(typ%,c,result) :' remplir la grille next c if object_exists(obj%)=1 then delete obj% end_if next typ%
show 0 off_error_goto
END ' #################################################################################################### ' TRAITEMENT D'ERREUR ' trait_error: result=0 goto on_continu
' #################################################################################################### ' SUBS ' ' remplir la grille sub fill_grid(l,c,test) if test=0 ' grid_write 5,l+1,c+1,"E_"+str$(error_number) :' DEBUG else grid_write 5,l+2,c+1," X" end_if end_sub
' fabriquer un objet selon son type sub MAKE_OBJECT_FROM_TYPE(typ%,obj%) if variable("OBJECT_TYPE_NAME$")=0 dim OBJECT_TYPE_NAME$(50) dim OBJECT_TYPE_HANDLE(50) : ' Ce tableau n'est pas utilisé dans ce code source ' 0=néant / 1=handle / 2=handle_canvas / 4=handle_form / 8=objet non-visible / 16=objet non-déplaçable; Un objet peut avoir plusieurs propriétés(sommation) OBJECT_TYPE_NAME$(0)="MAIN_FORM" : OBJECT_TYPE_HANDLE(0)=7 OBJECT_TYPE_NAME$(1)="SCENE3D" : OBJECT_TYPE_HANDLE(1)=1 OBJECT_TYPE_NAME$(2)="BUTTON" : OBJECT_TYPE_HANDLE(2)=1 OBJECT_TYPE_NAME$(3)="EDIT" : OBJECT_TYPE_HANDLE(3)=1 OBJECT_TYPE_NAME$(4)="MEMO" : OBJECT_TYPE_HANDLE(4)=1 OBJECT_TYPE_NAME$(5)="COMBO" : OBJECT_TYPE_HANDLE(5)=3 OBJECT_TYPE_NAME$(6)="ALPHA" : OBJECT_TYPE_HANDLE(6)=2 OBJECT_TYPE_NAME$(7)="FORM" : OBJECT_TYPE_HANDLE(7)=7 OBJECT_TYPE_NAME$(8)="LIST" : OBJECT_TYPE_HANDLE(8)=3 OBJECT_TYPE_NAME$(9)="PICTURE" : OBJECT_TYPE_HANDLE(9)=2 OBJECT_TYPE_NAME$(10)="CHECK" : OBJECT_TYPE_HANDLE(10)=1 OBJECT_TYPE_NAME$(11)="OPTION" : OBJECT_TYPE_HANDLE(11)=1 OBJECT_TYPE_NAME$(12)="MAIN_MENU" : OBJECT_TYPE_HANDLE(12)=25 OBJECT_TYPE_NAME$(13)="SUB_MENU" : OBJECT_TYPE_HANDLE(13)=25 :' doit être associé à 'main_menu' pour être visible OBJECT_TYPE_NAME$(14)="SOUND" : OBJECT_TYPE_HANDLE(14)=25 OBJECT_TYPE_NAME$(15)="MOVIE" : OBJECT_TYPE_HANDLE(15)=1 OBJECT_TYPE_NAME$(16)="TRACK_BAR" : OBJECT_TYPE_HANDLE(16)=1 OBJECT_TYPE_NAME$(17)="OPEN_DIALOG" : OBJECT_TYPE_HANDLE(17)=25 OBJECT_TYPE_NAME$(18)="SAVE_DIALOG" : OBJECT_TYPE_HANDLE(18)=25 OBJECT_TYPE_NAME$(19)="SCROLL_BAR" : OBJECT_TYPE_HANDLE(19)=1 OBJECT_TYPE_NAME$(20)="PROGRESS_BAR" : OBJECT_TYPE_HANDLE(20)=1 OBJECT_TYPE_NAME$(21)="SPIN" : OBJECT_TYPE_HANDLE(21)=1 OBJECT_TYPE_NAME$(22)="GRID" : OBJECT_TYPE_HANDLE(22)=3 OBJECT_TYPE_NAME$(23)="CONTAINER" : OBJECT_TYPE_HANDLE(23)=1 OBJECT_TYPE_NAME$(24)="MEMO_RICH" : OBJECT_TYPE_HANDLE(24)=0 OBJECT_TYPE_NAME$(25)="_" : OBJECT_TYPE_HANDLE(25)=0 OBJECT_TYPE_NAME$(26)="DLIST" : OBJECT_TYPE_HANDLE(26)=24 OBJECT_TYPE_NAME$(27)="SCENE2D" : OBJECT_TYPE_HANDLE(27)=1 OBJECT_TYPE_NAME$(28)="TIMER" : OBJECT_TYPE_HANDLE(28)=24 OBJECT_TYPE_NAME$(29)="PANEL" : OBJECT_TYPE_HANDLE(29)=1 OBJECT_TYPE_NAME$(30)="_" : OBJECT_TYPE_HANDLE(30)=0 OBJECT_TYPE_NAME$(31)="MAIN_MENU_POP" : OBJECT_TYPE_HANDLE(31)=0 OBJECT_TYPE_NAME$(32)="CONTAINER_OPTION" : OBJECT_TYPE_HANDLE(32)=1 OBJECT_TYPE_NAME$(33)="OPEN_DIALOG_PIC" : OBJECT_TYPE_HANDLE(33)=25 OBJECT_TYPE_NAME$(34)="SAVE_DIALOG_PIC" : OBJECT_TYPE_HANDLE(34)=25 OBJECT_TYPE_NAME$(35)="SHAPE" : OBJECT_TYPE_HANDLE(35)=0 OBJECT_TYPE_NAME$(36)="HVIEWER" : OBJECT_TYPE_HANDLE(36)=1 OBJECT_TYPE_NAME$(37)="_" : OBJECT_TYPE_HANDLE(37)=0 OBJECT_TYPE_NAME$(38)="LED1" : OBJECT_TYPE_HANDLE(38)=0 OBJECT_TYPE_NAME$(39)="DIGIT1" : OBJECT_TYPE_HANDLE(39)=0 OBJECT_TYPE_NAME$(40)="SWITCH1" : OBJECT_TYPE_HANDLE(40)=0 OBJECT_TYPE_NAME$(41)="IMAGE" : OBJECT_TYPE_HANDLE(41)=8 :' Pourquoi 'image' est déplaçable? bug? OBJECT_TYPE_NAME$(42)="CONTAINER_TAB" : OBJECT_TYPE_HANDLE(42)=1 OBJECT_TYPE_NAME$(43)="TAB" : OBJECT_TYPE_HANDLE(43)=9 :' doit être associé à 'container_tab' pour être visible / Pourquoi 'tab' est déplaçable? bug? OBJECT_TYPE_NAME$(44)="_" : OBJECT_TYPE_HANDLE(44)=0 OBJECT_TYPE_NAME$(45)="_" : OBJECT_TYPE_HANDLE(45)=0 OBJECT_TYPE_NAME$(46)="SYNEDIT" : OBJECT_TYPE_HANDLE(46)=0 OBJECT_TYPE_NAME$(47)="CHART" : OBJECT_TYPE_HANDLE(47)=0 OBJECT_TYPE_NAME$(48)="_" : OBJECT_TYPE_HANDLE(48)=0 OBJECT_TYPE_NAME$(49)="_" : OBJECT_TYPE_HANDLE(49)=0 end_if ' select typ% case 0 : form obj% :' donne les mêmes résultats que le form 0 case 1 : scene3d obj% case 2 : button obj% case 3 : edit obj% case 4 : memo obj% case 5 : combo obj% case 6 : alpha obj% case 7 : form obj% case 8 : list obj% case 9 : picture obj% case 10: check obj% case 11: option obj% case 12: main_menu obj% case 13: sub_menu obj% case 14: sound obj% case 15: movie obj% case 16: track_bar obj% case 17: open_dialog obj% case 18: save_dialog obj% case 19: scroll_bar obj% case 20: progress_bar obj% case 21: spin obj% case 22: grid obj% case 23: container obj% case 24: memo_rich obj% case 25: ' case 26: dlist obj% case 27: scene2d obj% case 28: timer obj% case 29: panel obj% case 30: ' case 31: main_menu_pop obj% case 32: container_option obj% case 33: open_dialog_pic obj% case 34: save_dialog_pic obj% case 35: shape obj% case 36: hviewer obj% case 37: ' case 38: led1 obj% case 39: digit1 obj% case 40: switch1 obj% case 41: image obj% case 42: container_tab obj% case 43: tab obj% case 44: ' case 45: ' case 46: synedit obj% case 47: chart obj% case 48: ' case 49: ' end_select end_sub
' tester les évènements sub TEST_EVENT(nb%,obj%) if variable("EVENT_NAME$")=0 dim EVENT_NAME$(15) EVENT_NAME$(1)="ON_ACTIVATE" EVENT_NAME$(2)="ON_CHANGE" EVENT_NAME$(3)="ON_CLICK" EVENT_NAME$(4)="ON_CLOSE" EVENT_NAME$(5)="ON_DOUBLE_CLICK" EVENT_NAME$(6)="ON_KEY_DOWN" EVENT_NAME$(7)="ON_KEY_UP" EVENT_NAME$(8)="ON_MOUSE_DOWN" EVENT_NAME$(9)="ON_MOUSE_MOVE" EVENT_NAME$(10)="ON_MOUSE_UP" EVENT_NAME$(11)="ON_MOVE" EVENT_NAME$(12)="ON_RESIZE" EVENT_NAME$(13)="ON_SHOW" EVENT_NAME$(14)="ON_TIMER" EVENT_NAME$(15)="ON_USER_EVENT" if label("null_event")=0 then label null_event dim result dim check_event_nb end_if ' if nb%>0 result=1 select nb% case 1: check_event_nb=1 : on_activate obj%,null_event :' off_activate obj% case 2: check_event_nb=2 : on_change obj%,null_event :' off_change obj% case 3: check_event_nb=3 : on_click obj%,null_event :' off_click obj% case 4: check_event_nb=4 : on_close obj%,null_event :' off_close obj% case 5: check_event_nb=5 : on_double_click obj%,null_event :' off_double_click obj% case 6: check_event_nb=6 : on_key_down obj%,null_event :' off_key_down obj% case 7: check_event_nb=7 : on_key_up obj%,null_event :' off_key_up obj% case 8: check_event_nb=8 : on_mouse_down obj%,null_event :' off_mouse_down obj% case 9: check_event_nb=9 : on_mouse_move obj%,null_event :' off_mouse_move obj% case 10: check_event_nb=10 : on_mouse_up obj%,null_event :' off_mouse_up obj% case 11: check_event_nb=11 : on_move obj%,null_event :' off_move obj% case 12: check_event_nb=12 : on_resize obj%,null_event :' off_resize obj% case 13: check_event_nb=13 : on_show obj%,null_event :' off_show obj% :' NB:la commande 'off_show obj%' ne fonctionne pas sur un tab case 14: check_event_nb=14 : on_timer obj%,null_event :' timer_off obj% case 15: result=0 : check_event_nb=15 : on_user_event null_event :' off_user_event obj% :' impossible d'obtenir un erreur car pas d'objet associé à cet évènement, donc on renvoi 0 end_select end_if exit_sub ' null_event: return end_sub
Dernière édition par silverman le Jeu 3 Mai 2018 - 19:28, édité 3 fois | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: [english] SYNEDIT How to set the keywords ? Jeu 3 Mai 2018 - 19:08 | |
| Bien sûr qu'on peut ajouter des mots-clé à Synedit. En principe, au départ, il n'y en a pas (je pense). La doc faite par Jack dit ceci: - Citation :
- L'objet SYNEDIT permet de colorer et de donner un style aux mots-clés, aux commentaires, aux chaînes de caractères, à la "gouttière" (partie gauche pour la numérotation des lignes) au nombres dans un source, de choisir la taille et la police de caractères.
On spécifie les mots-clés par la commande ITEM_ADD.
Les délimiteurs de chaîne de caractères sont les guillemets.
L’indicateur de début de commentaire est l’apostrophe. Le saut de ligne marque la fin d’un commentaire.
Pour que les commandes de type chaîne de caractères s’adressent soit aux mots-clés, soit aux commentaires, soit aux chaînes de caractères, soit aux nombres, soit à la gouttière, on "cible" ces commandes:
SYNEDIT_TARGET_IS_KEYWORD : les commandes de type FONT s'adressent aux mots-clés SYNEDIT_TARGET_IS_COMMENT : les commandes de type FONT s'adressent aux commentaires SYNEDIT_TARGET_IS_STRING : les commandes de type FONT s'adressent aux chaînes de caractères SYNEDIT_TARGET_IS_GUTTER : les commandes de type FONT s'adressent à la gouttière (numérotation des lignes) SYNEDIT_TARGET_IS_NUMBER : les commandes de type FONT s'adressent aux nombres SYNEDIT_TARGET_IS_OBJECT : les commandes de type FONT s'adressent à tout le source, c'est la redirection par défaut
Un petit exemple pour illustrer: Code: SYNEDIT 1:' création d'un objet SYNEDIT
ITEM_ADD 1,"print":' print devient un mot-clé ITEM_ADD 1,"input":' input devient un mot-clé ITEM_ADD 1,"combo":' combo devient un mot-clé
SYNEDIT_TARGET_IS_KEYWORD FONT_COLOR 1,0,0,255:' les mots-clés seront colorés en bleu FONT_BOLD 1:' les mots-clés seront en style gras
SYNEDIT_TARGET_IS_NUMBER FONT_COLOR 1,255,0,0:' les nombres seront colorés en rouge
SYNEDIT_TARGET_IS_GUTTER FONT_ITALIC 1:' les numéros de ligne seront en italique
FILE_LOAD 1,"source.txt":' on charge un source
DIM P WHILE P<>-1:P=REPLACE("print","imprime",1,P):END_WHILE ' tous les "print" sont remplacés par "imprime"
Voilà. Il n'y a pluq qu'à passer aux essais... | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: [english] SYNEDIT How to set the keywords ? Jeu 3 Mai 2018 - 19:12 | |
| J'ai testé ITEM_ADD l'année dernière, à la dernière révision de l'objet synedit et ça ne marchait pas, il n'y a pas d'action de colorisation sur les mot-clés que l'on ajoute. - Code:
-
SYNEDIT 1:' création d'un objet SYNEDIT
ITEM_ADD 1,"print":' print est un mot-clé ITEM_ADD 1,"blablabla":' blablabla devient un mot-clé
SYNEDIT_TARGET_IS_KEYWORD FONT_COLOR 1,0,172,172:' les mots-clés seront colorés en cyan fonçé
' SYNEDIT_TARGET_IS_NUMBER :' non reconnu ' FONT_COLOR 1,255,0,0:' les nombres seront colorés en rouge Je ne connais pas ce mot-clé 'SYNEDIT_TARGET_IS_NUMBER'; il n'est pas reconnu, ni coloré | |
| | | d.j.peters
Nombre de messages : 77 Age : 60 Localisation : Germany Date d'inscription : 31/07/2010
| Sujet: Re: [english] SYNEDIT How to set the keywords ? Sam 5 Mai 2018 - 21:37 | |
| | |
| | | Contenu sponsorisé
| Sujet: Re: [english] SYNEDIT How to set the keywords ? | |
| |
| | | | [english] SYNEDIT How to set the keywords ? | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |