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 |
|
|
| Panora-clic! | |
| | Auteur | Message |
---|
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Panora-clic! Mer 20 Nov 2013 - 21:25 | |
| Bonsoir à tous! La dernière fonction de KGF.dll V2.54 que Klaus nous a fait, "SendSingleKey" est épatante, tellement épatante, qu'elle m'a inspiré un petit programme qui n'est autre qu'un petit outil. À vous de juger si cet outil vous sera utile ou pas! En tout cas, pour moi, il me fait gagner du temps lorsque je suis sur l'éditeur Panoramic! J'ai appelé ce petit programme "Panora-clic!". Mais si quelqu'un a une autre proposition plus judicieuse et adéquate pour dénommer ce programme, je suis preneur! Il vous faut 4 fichiers pour qu'il fonctionne: -1- KGF.dll de notre ami Klaus -2- pano_datas.bas -3- pano_clic.bas -4- Bah! vous ouvrez pano_clic.bas dans l'éditeur panoramic, et vous en faites un exécutable ==> pano_clic.exe, et là, vous avez votre 4ème fichier. Alors, de quoi s'agit-il? Eh bien, j'ai mis en data dans "pano_datas.bas" tous les mots clés de Panoramic! Je n'ai pas exactement compté combien il y en avait, mais ça fait vraiment beaucoup, surtout que j'en ai mis en double parce qu'ils peuvent aller dans plusieurs catégories. Bon, bref, j'ai créé 19 catégories pour y classer les mots clés (je sais, j'aurais pu faire mieux), mais rien ne vous empèche de modifier mon classement dans le fichier de datas puisque c'est le seul fichier que l'on pourra modifier pour y rajouter les nouveaux mots clés que notre ami Jack mettra à notre disposition au fur et à mesure de l'évolution de Panoramic! La maintenance en est donc facilité. Comment ça marche, hein? Très simple! -1°)Vous lancez avant tout votre éditeur Panoramic, puis vous ouvrez un nouveau fichier ou bien un fichier bas sur lequel vous travaillez et, important, positionnez votre curseur où vous souhaitez commencer à programmer. -2°)Vous lancez "pano_clic.exe": une fenêtre s'ouvre à droite en haut de votre écran avec 20 boutons alphas en bas, et un list. Le boutons "Fichiers" doit se mettre en surbrillance rose saumon et tous les mots clés de panoramic commençant par "file_" s'affichent dans le list. -3°)Quand vous cliquez sur un mot clé dans le list, il s'affiche directement dans l'éditeur panoramic sans que vous ayez eu besoin de le taper à la main sur votre clavier! Si c'est une commande panoramic, un espace se rajoute après le mot clé afin que vous puissiez continuer à entrer vos paramètres, si c'est une fonction, donc le mot clé se termine par "()", le curseur se met automatiquement entre les 2 parenthèses! Et en haut à droite, un check qui permet de mettre les mots clés en majuscules! Le 20ème bouton alpha en bas à droite, c'est l'historique de tous les mots clés que vous avez envoyés dans l'éditeur car je pense que ça peut être utile aussi. Mais rien ne vous empèche de remplacer cette fonction par une catégorie contenant vos mots clés préférés ou les plus utilisés. Enfin, vous m'avez compris, vous l'adaptez à vos besoins cet outil! Voilà, c'est tout, et j'espère que cela vous sera utile! Le programme pano_clic.bas à transformer en pano_clic.exe: - Code:
-
' PANORA-CLIC! réalisé les 18 et 19/11/2013 par J-L NAUDIN dit bignono ' ce programme nécessite KGF.dll de Klaus et pano_datas.bas #include "c:\PANORAMIC\pano_datas.bas"
dim s,dll$ label liste,copier,fin
dll$="c:\PANORAMIC\KGF.dll":' <======== CHEMIN DU DOSSIER À ADAPTER !!!! if file_exists(dll$)=1 dll_on dll$ else message "Le fichier "+dll$+" est introuvable." terminate end_if
GetWindowByTitle(1,"PANORAMIC EDITOR") if GetWindowByTitle%=0 message "Panoramic n'est pas actif." gosub fin terminate end_if
init() creer_les_listes()
s=11 show s+1 caption 1,trim$(caption$(s)) color s,250,100,100 end
liste: color s,150,150,150:' remettre sur fond gris la gatégorie de mots clés hide s+1:' cacher le list de la catégorie de mots clés s=number_click color s,250,100,100:' mettre en surbrillance la catégorie de mots clés sélectionnée show s+1:' montrer le list contenant la catégorie de mots clés sélectionnée caption 1,trim$(caption$(s)) return
copier: if item_index(s+1)<>0 if checked(4)=1 clipboard_string_copy upper$(item_read$(s+1,item_index(s+1))):' Copier l'item sélectionné dans le clipboard en majuscule else clipboard_string_copy item_read$(s+1,item_index(s+1)):' Copier l'item sélectionné dans le clipboard en minuscule end_if
if s<>49 then item_add 50,item_read$(s+1,item_index(s+1)):' Ajouter à l'historique
SendSingleKey(GetWindowByTitle%,86,1,0,0):' Envoyer un CTRL+V à PANORAMIC EDITOR pour coller le contenu du clipboard
if right$(item_read$(s+1,item_index(s+1)),1)=")" SendSingleKey(GetWindowByTitle%,37,0,0,0):' Envoyer flèche gauche à PANORAMIC EDITOR else SendSingleKey(GetWindowByTitle%,32,0,0,0):' Envoyer un espace à PANORAMIC EDITOR end_if end_if return
' ==== Obtenir le handle de la fenêtre PANORAMIC EDITOR sub GetWindowByTitle(mode%,titre$) if variable("GetWindowByTitle%")=0 then dim GetWindowByTitle% GetWindowByTitle% = dll_call2("GetWindowByTitle",mode%,adr(titre$)) end_sub
' === Simuler une séquence de touches au clavier adressée à une fenêtre ciblée par son handle sub SendSingleKey(hnd%,VK%,ctrl%,alt%,shift%) if variable("SendSingleKey%")=0 then dim SendSingleKey% SendSingleKey% = dll_call5("SendSingleKey",hnd%,VK%,ctrl%,alt%,shift%) end_sub
sub init() on_close 0,fin border_small 0 height 0,570 width 0,(width(0)/2)-93 left 0,screen_x-width(0) caption 0,"PANORA-CLIC!" alpha 1 font_name 1,"Courier New" font_size 1,10 font_bold 1 font_underline 1 picture 2 width 2,width(0)-16 top 2,20 height 2,(2*(height(0)/3))-top(2) color 2,0,200,200 picture 3 width 3,width(0)-16 top 3,top(2)+height(2)+2 height 3,height(0)-top(3)-34 color 3,100,0,0 check 4 font_name 4,"Consolas" font_size 4,8 width 4,35 caption 4,"Maj" left 4,width(0)-width(4)-16 end_sub
sub creer_les_listes() dim_local a$,b$,n,d,h,g restore read a$ read n g=2 h=top(2)+height(2)+5 while a$<>"eof1" alpha n on_click n,liste color n,150,150,150 font_name n,"Consolas" font_size n,8 font_bold n left n,g top n,h caption n,a$ h=h+15 d=n+1 list d hide d on_click d,copier width d,width(0)-20 left d,2 top d,20 height d,(2*(height(0)/3))-top(d) read b$ while b$<>"eod" item_add d,b$ read b$ end_while read a$ read n if n=31 then h=top(11):g=g+width(11)+1 end_while end_sub
fin: dll_off return
et voici pano_datas.bas contenant tous les mots clés: - Code:
-
' ================================================== data " Fichiers ",11 ' ================================================== data "file_add" data "file_archive_off" data "file_archive" data "file_close" data "file_copy" data "file_delete" data "file_eof()" data "file_exists()" data "file_extract_disk$()" data "file_extract_extension$()" data "file_extract_name$()" data "file_extract_path$()" data "file_find_close" data "file_find_first$" data "file_find_next$" data "file_hide_off" data "file_hide" data "file_load" data "file_move" data "file_name$()" data "file_open_append" data "file_open_read" data "file_open_write" data "file_read_only_off" data "file_read_only" data "file_read" data "file_readbuf" data "file_readln" data "file_rename" data "file_save" data "file_system_off" data "file_system" data "file_write" data "file_writebuf" data "file_writeln" data "filebin_block_read" data "filebin_block_write" data "filebin_close" data "filebin_hexa_read" data "filebin_hexa_write" data "filebin_open_read" data "filebin_open_write" data "filebin_pos()" data "filebin_position" data "filebin_read" data "filebin_size()" data "filebin_write"
data "eod"
' ================================================== data " Répertoires ",13 ' ================================================== data "dir_change" data "dir_current$" data "dir_exists()" data "dir_make" data "dir_remove" data "rmdir"
data "eod"
' ================================================== data " Objets Système ",15 ' ================================================== data "active" data "active()" data "alpha" data "bar_both" data "bar_horizontal" data "bar_none" data "bar_vertical" data "border_hide" data "border_normal" data "border_small" data "brightness" data "button" data "caption" data "caption$()" data "caret_position" data "caret_position()" data "check" data "checked()" data "clear" data "clicked()" data "clipboard_copy" data "clipboard_cut" data "clipboard_paste" data "color_pixel_blue()" data "color_pixel_green()" data "color_pixel_red()" data "color" data "combo" data "command_target_is" data "container_option" data "container" data "contrast" data "count()" data "delete" data "dir_dialogfilter" data "dlist" data "double_clicked()" data "edit" data "form" data "full_space" data "gamma" data "grid" data "handle_canvas()" data "handle()" data "height" data "height()" data "hide" data "hide()" data "hint_hide" data "hint" data "horizontal" data "image" data "inactive" data "inactive()" data "item_add" data "item_delete" data "item_index()" data "item_index$()" data "item_insert" data "item_read$()" data "left" data "left()" data "list" data "main_menu" data "mark_off" data "mark_on" data "max" data "maximize" data "memo" data "min" data "minimize" data "movie" data "normal" data "object_exists()" data "object_parent()" data "object_type()" data "open_dialog" data "option" data "parent" data "picture" data "play_wait" data "play" data "position" data "position()" data "progress_bar" data "save_dialog" data "scene2d" data "scene3d" data "scroll_bar" data "secret_off" data "secret_on" data "select_read$()" data "select_text" data "set_focus" data "show" data "show()" data "sort_off" data "sort_on" data "sort" data "sound" data "spin" data "stretch_off" data "stretch_on" data "sub_menu" data "text_height()" data "text_width()" data "text" data "text$()" data "timer_interval" data "timer_off_all" data "timer_off" data "timer_on" data "timer" data "to_background" data "to_foreground" data "top" data "top()" data "track_bar" data "vertical" data "width" data "width()"
data "eod"
' ================================================== data " Mathématiques ",17 ' ================================================== data "abs()" data "acos()" data "adr()" data "asin()" data "atn()" data "bin_and()" data "bin_or()" data "bin_xor()" data "cos()" data "even()" data "exp()" data "frac()" data "hcos()" data "hex()" data "hex$()" data "hsin()" data "htan()" data "int()" data "log()" data "log10()" data "log2()" data "max()" data "min()" data "mod()" data "numeric()" data "odd()" data "power()" data "rnd()" data "sgn()" data "sin()" data "sqr()" data "tan()" data "wrap_value()"
data "eod"
' ================================================== data " Variables Système ",19 ' ================================================== data "clipboard_string_paste$" data "date$" data "dir_current$" data "error_line" data "error_number" data "error_type$" data "file_find_first$" data "file_find_next$" data "inkey$" data "key_down_code" data "key_down_special" data "key_up_code" data "key_up_special" data "message_text$" data "number_2d_target" data "number_3d_objects" data "number_3d_target" data "number_change" data "number_click" data "number_command_target" data "number_current_line" data "number_double_click" data "number_events" data "number_input_source" data "number_key_down" data "number_key_up" data "number_objects" data "number_print_target" data "number_sprite_target" data "number_sprites" data "number_variables" data "param_number" data "scancode" data "screen_x" data "screen_y" data "time$"
data "eod"
' ================================================== data " Objets 3D ",21 ' ================================================== data "scene3d"
data "3d_actor" data "3d_mesh" data "3d_load_object" data "3d_load_texture" data "3d_image_texture"
data "3d_box"
data "3d_chain_break" data "3d_chain"
data "3d_collision_as_cube" data "3d_collision_as_ellipsoid" data "3d_collision_as_faces" data "3d_collision_as_point" data "3d_collision_as_sphere" data "o3d_collision()"
data "3d_color"
data "3d_cone" data "3d_cube" data "3d_cylinder"
data "3d_delete" data "3d_delete_all"
data "3d_dodecahedron"
data "3d_hide"
data "3d_line" data "3d_line_width"
data "3d_move"
data "3d_plane" data "3d_u_tile" data "3d_v_tile"
data "3d_point_object"
data "3d_position" data "3d_x_position" data "3d_y_position" data "3d_z_position" data "o3d_x_position()" data "o3d_y_position()" data "o3d_z_position()"
data "3d_rotate" data "3d_x_rotate" data "3d_y_rotate" data "3d_z_rotate" data "o3d_x_rotate()" data "o3d_y_rotate()" data "o3d_z_rotate()"
data "3d_scale" data "3d_x_scale" data "3d_y_scale" data "3d_z_scale" data "o3d_x_scale()" data "o3d_y_scale()" data "o3d_z_scale()"
data "3d_show"
data "3d_skybox" data "3d_load_texture_back" data "3d_load_texture_bottom" data "3d_load_texture_front" data "3d_load_texture_left" data "3d_load_texture_right" data "3d_load_texture_top"
data "3d_sphere" data "3d_target_is" data "3d_teapot"
data "3d_text" data "3d_text_change"
data "3d_torus" data "3d_transparent"
data "axes_hide" data "axes_show"
data "cam_move" data "cam_pitch" data "cam_position" data "cam_roll" data "cam_turn" data "cam_x_position" data "cam_y_position" data "cam_z_position" data "point_object" data "point_position" data "point_x_position" data "point_y_position" data "point_z_position"
data "fog_color" data "fog_distance_max" data "fog_distance_min" data "fog_off" data "fog_on"
data "light_position" data "light_x_position" data "light_y_position" data "light_z_position"
data "number_3d_objects" data "o3d_object_exists()" data "o3d_object_type()"
data "eod"
' ================================================== data " Mouse/Cursor_ ",23 ' ================================================== data "mouse_left_down()" data "mouse_left_up()" data "mouse_right_down()" data "mouse_right_up()" data "mouse_x_left_down()" data "mouse_x_left_up()" data "mouse_x_position()" data "mouse_x_right_down()" data "mouse_x_right_up()" data "mouse_y_left_down()" data "mouse_y_left_up()" data "mouse_y_position()" data "mouse_y_right_down()" data "mouse_y_right_up()" data "cursor_arrow" data "cursor_beam" data "cursor_cross" data "cursor_default" data "cursor_help" data "cursor_hide" data "cursor_hourglass" data "cursor_noparking" data "cursor_point"
data "eod"
' ================================================== data " Message/input ",25 ' ================================================== data "message" data "message_confirmation_ok" data "message_confirmation_yes_no" data "message_error_ok" data "message_error_yes_no" data "message_information_ok" data "message_information_yes_no" data "message_input()" data "message_input$()" data "message_text$" data "message_warning_ok" data "message_warning_yes_no" data "input" data "input_mark_off" data "input_mark_on" data "input_redo_off" data "input_redo_on" data "input_source_is" data "input_visible_off" data "input_visible_on"
data "eod"
' ================================================== data " Direct./Référence ",27 ' ================================================== data "#include" data "chain" data "data" data "dim" data "dim_local" data "display" data "end" data "error_english" data "error_french" data "error_line" data "error_number" data "error_type$" data "gosub" data "goto" data "label" data "label()" data "off_error_goto" data "on_error_goto" data "param_number" data "param_value$()"
data "peek()" data "poke"
data "print" data "print_locate" data "print_x_locate" data "print_y_locate" data "read" data "rem" data "restore" data "return" data "stop" data "terminate" data "trace_off" data "trace_on" data "variable()"
data "eod"
' ================================================== data " Entrées-Sorties ",29 ' ================================================== data "parallel_inp()" data "parallel_off" data "parallel_on" data "parallel_out"
data "eod"
' ================================================== data " Chaine ",31 ' ================================================== data "asc()" data "chr$()" data "insert$()" data "instr()" data "left$" data "len()" data "lower$()" data "ltrim$()" data "mid$()" data "right$()" data "rtrim$()" data "str$()" data "string$()" data "trim$()" data "upper$()" data "val()"
data "eod"
' ================================================== data " Font ",33 ' ================================================== data "font_bold_off" data "font_bold" data "font_color" data "font_italic_off" data "font_italic" data "font_name" data "font_names_add" data "font_names_load" data "font_size" data "font_strike_off" data "font_strike" data "font_underline" data "font_unerline_off"
data "eod"
' ================================================== data " Évènements ",35 ' ================================================== data "key_down_code" data "key_down_special" data "key_up_code" data "key_up_special" data "number_change" data "number_click" data "number_double_click" data "number_events" data "number_key_down" data "number_key_up" data "off_change" data "off_click" data "off_close" data "off_double_click" data "off_key_down" data "off_key_up" data "on_change" data "on_click" data "on_close" data "on_double_click" data "on_key_down" data "on_key_up" data "on_timer"
data "eod"
' ================================================== data "Système/DLLs",37 ' ================================================== data "2d_target_is" data "application_title" data "beep" data "beep_error" data "beep_exclamation" data "beep_information" data "beep_question" data "clipboard_string_copy" data "clipboard_string_paste$" data "disk_exixts()" data "disk_kilo_free()" data "disk_kilo_size()" data "execute" data "execute_wait" data "free" data "handle_form()" data "inkey$" data "pause" data "print_target_is" data "wait" data "dll_call0()" data "dll_call1()" data "dll_call2()" data "dll_call3()" data "dll_call4()" data "dll_call5()" data "dll_call6()" data "dll_off" data "dll_on"
data "eod"
' ================================================== data " Dessin(2d) ",39 ' ================================================== data "2d_circle" data "2d_clear" data "2d_fill_color" data "2d_fill_cross" data "2d_fill_diagonal_cross" data "2d_fill_diagonal_down" data "2d_fill_diagonal_up" data "2d_fill_horizontal" data "2d_fill_solid" data "2d_fill_vertical" data "2d_flood" data "2d_image_copy" data "2d_image_paste" data "2d_line" data "2d_pen_color" data "2d_pen_dash_dot_dot" data "2d_pen_dash_dot" data "2d_pen_dash" data "2d_pen_dot" data "2d_pen_solid" data "2d_pen_width" data "2d_point" data "2d_poly_from" data "2d_poly_to" data "2d_rectangle" data "cls"
data "eod"
' ================================================== data " Sprite ",41 ' ================================================== data "number_sprites" data "scene2d" data "sprite" data "sprite_create_hide" data "sprite_create_show" data "sprite_delete" data "sprite_delete_all" data "sprite_exists()" data "sprite_file_load" data "sprite_hide" data "sprite_hide_all" data "sprite_image_load" data "sprite_position" data "sprite_scale" data "sprite_show" data "sprite_show_all" data "sprite_target_is" data "sprite_x_position" data "sprite_x_position()" data "sprite_x_scale" data "sprite_y_position" data "sprite_y_position()" data "sprite_y_scale"
data "eod"
' ================================================== data " Structures ",43 ' ================================================== data "and" data "case" data "else" data "end_if" data "end_select" data "end_sub" data "end_while" data "exit_for" data "exit_repeat" data "exit_sub" data "exit_while" data "for" data "if" data "next" data "not" data "or" data "repeat" data "select" data "step" data "sub()" data "then" data "to" data "until" data "while"
data "eod"
' ================================================== data " Grid ",45 ' ================================================== data "grid" data "grid_clear" data "grid_column_delete" data "grid_column_fixed" data "grid_column_insert" data "grid_column_sizing_off" data "grid_column_sizing_on" data "grid_column_width" data "grid_column" data "grid_fixed_color" data "grid_load" data "grid_one_column_width" data "grid_one_row_height" data "grid_read$()" data "grid_row_delete" data "grid_row_fixed" data "grid_row_height" data "grid_row_insert" data "grid_row_sizing_off" data "grid_row_sizing_on" data "grid_row" data "grid_save" data "grid_write" data "grid_x_to_column()" data "grid_y_to_row()"
data "eod"
' ================================================== data " Midi/Excel ",47 ' ================================================== data "midi_instrument" data "midi_off" data "midi_on" data "midi_play" data "midi_volume" data "excel_file_close" data "excel_file_new" data "excel_file_open" data "excel_read$()" data "excel_start" data "excel_stop" data "excel_write"
data "eod"
' ================================================== data " Historique ",49 ' ==================================================
data "eod"
data "eof1",51
A+ | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Panora-clic! Mer 20 Nov 2013 - 22:54 | |
| J'ai omis de préciser qu'il faut adapter le chemin du dossier où se trouve KGF.dll dans le programme pano_clic.bas avant de le convertir en exe.
| |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Panora-clic! Mer 20 Nov 2013 - 23:39 | |
| Eh bien, voilà qui semble très intéressant, ami bignono ! et ça va être dûment testé pour voir ce qu'on peut en faire ! merci en tout cas. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Panora-clic! Mer 20 Nov 2013 - 23:44 | |
| Bravo Bignono pour l'idée. Déjà, avec le système de Klaus, le fait d'ajouter un bouton pour mettre en forme automatiquement le source depuis l'éditeur ce serait très bien. Après pour la saisie des mots clé en cliquant, c'est clairement à tester, pour le moment je ne sais pas encore si ça facilite la vie ou non. Mais ça laisse le choix et c'est peut être un gain de temps. En tout cas ça en fait sans doute gagner quand on ne se souvient plus bien de certaines commandes et je pense que ça peut encore être optimisé en ajoutant des boutons qui injectent directement dans le code certaines procédures ou certaines déclaration de variables que l'on utilise souvent. Mais là ça devient un réglage plus personnel. L'idée en tout cas est excellente | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Panora-clic! Mer 20 Nov 2013 - 23:52 | |
| Je viens de tester à la va-vite. Hé bien, c’est intéressant tout ça ! Merci Bignono. Et un grand merci à Klaus. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Panora-clic! Jeu 21 Nov 2013 - 0:58 | |
| C'est une idée très intéressante, et une très belle application de ma fonction !
Et comme Jicehel, j'entre-vois la possibilité de faire des boutons agissant un peu comme des macros, injectant directement des portions plus ou moins grandes de code. On peut meme imaginer une possibilité de dynamiquement charger des section du programme à traiter dans plusieurs de ces boutons (en les sélectionnant par surlignage au préalable): il suffira d'envoyer ctrl/C puis utiliser CLIPBOARD_STRING_PASTE$ pour récupérer ces portions de texte dans ton utilitaire. Et même les sauvegarder afin de les retrouver au prochain lancement. Tu auras ainsi un super presse-papier contenant plusieurs morceaux... | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Panora-clic! Dim 24 Nov 2013 - 13:51 | |
| Bonjour à tous! Bon, j'ai revu mon programme, j'ai modifié mon pano_datas.bas car il y avait quelques erreurs dedans, et quelques manques aussi. Dans le programme principal j'ai permis au curseur de se placer avant les 2 parenthèses quand on copie le mot clé "sub ()". J'ai ensuite adjoint un memo avec 5 boutons. Que peut-on faire avec ces nouvelles commandes: 1- bouton "Ajouter fichier au mémo" comme son nom l'indique vous permet de charger n'importe quel fichier dans le mémo. À chaque fois que vous ouvrez un fichier, il s'ajoute au mémo. Après, vous pouvez travailler dans le mémo: Sélectionner avec la souris, supprimer des lignes, en rajouter, en copier avec ctrl-C ou en coller avec ctrl-V, taper un programme si cela vous tente, etc... 2- bouton "Effacer le mémo" pas besoin d'expliquer à quoi ça sert! 3- bouton "Enregistrer le mémo" c'est pour le cas où après modification ou fusion des programmes ou fichiers dans le mémo vous voulez garder trace. ==> enregistre au format .bas 4- bouton "Sélectionner sub" vous permet de mettre en surbrillance la prochaine sub trouvée dans le mémo. Chaque clic dessus permet de passer à la suivante. 5- bouton "Copier la sélection" permet d'envoyer directement dans Panoramic Editor le texte sélectionné en surbrillance dans le mémo. Je pense que c'est assez complet, mais on pourrait sophistiquer encore en ajoutant d'autres boutons comme "Sélectionner While", "Sélectionner Repeat", "Sélectionner For", "Sélectionner Gosub", etc... ce qui permettrait d'extraire rapidement des morceaux de code en provenance de différents programmes, mais je préfère nettement sélectionner avec la souris... Même principe que dans mon premier post: Après avoir adapté le chemin pour KGF.dll on fait un exécutable de pano_clic.bas et on n'oublie pas aussi pano_datas.bas en include. pano_clic.bas - Code:
-
' PANORA-CLIC V2! réalisé du 22 au 24/11/2013 par J-L NAUDIN dit bignono ' ce programme nécessite KGF.dll de Klaus et pano_datas.bas
dim p,s,fch$,dll$ label liste,copier,fin,ouvre,efface,sauve,envoi,sub_select
dll$="c:\PANORAMIC\KGF.dll":' <======== CHEMIN DU DOSSIER À ADAPTER !!!! if file_exists(dll$)=1 dll_on dll$ else message "Le fichier "+dll$+" est introuvable." terminate end_if
GetWindowByTitle(1,"PANORAMIC EDITOR") if GetWindowByTitle%=0 message "Panoramic n'est pas actif." gosub fin terminate end_if
init() creer_les_listes() creer_boutons_memo()
p=1 s=11 show s+1 color s,250,100,100 end
ouvre: open_dialog 99 fch$=file_name$(99) delete 99 if fch$<>"_" then file_add 10,fch$ return
efface: clear 10:p=1 return
sauve: save_dialog 99 filter 99,"Fichier Panoramic|*.bas" fch$=file_name$(99) delete 99 if right$(fch$,4)<>".bas" then fch$=fch$+".bas" if file_exists(fch$)=1 beep_exclamation if message_warning_yes_no("Le fichier "+fch$+" existe déjà dans le répertoire!"+chr$(10)+chr$(13)+" Désirez-vous le remplacer?")=1 file_read_only_off fch$ file_delete fch$ else goto sauve end_if end_if file_save 10,fch$ return
envoi: clipboard_string_copy select_read$(10) SendSingleKey(GetWindowByTitle%,86,1,0,0) return
sub_select: if count(10)>0 if lower$(left$(item_read$(10,1),4))="sub " then item_insert 10,1,"" cherche_sub() end_if return
sub cherche_sub() dim_local i,j1,j2,k,k1,k2,v,a$ v=count(10) dim_local r(v):v=0 for i=1 to count(10) r(i)=v+len(item_read$(10,i))+2:' +2 pour chr$(10) et chr$(13) v=r(i) if lower$(left$(item_read$(10,i),4))="sub " then k1=k1+1 if lower$(left$(item_read$(10,i),7))="end_sub" then k2=k2+1 next i k=k1+k2 if k>1 i=p repeat if lower$(left$(item_read$(10,i),4))="sub " then exit_repeat i=i+1 if i>count(10) then i=1 until 1=0 j1=r(i-1) repeat if lower$(left$(item_read$(10,i),7))="end_sub" then exit_repeat i=i+1 if i>count(10) then i=1 until 1=2 j2=r(i) caret_position 10,j1 select_text 10,j1,j2-j1 set_focus 10 p=i else message "Aucune SUB trouvé!" end_if end_sub
liste: color s,150,150,150:' remettre sur fond gris la gatégorie de mots clés hide s+1:' cacher le list de la catégorie de mots clés s=number_click color s,250,100,100:' mettre en surbrillance la catégorie de mots clés sélectionnée show s+1:' montrer le list contenant la catégorie de mots clés sélectionnée return
copier: if item_index(s+1)<>0 if checked(1)=1 clipboard_string_copy upper$(item_read$(s+1,item_index(s+1))):' Copier l'item sélectionné dans le clipboard en majuscule else clipboard_string_copy item_read$(s+1,item_index(s+1)):' Copier l'item sélectionné dans le clipboard en minuscule end_if
if s<>49 then item_add 50,item_read$(s+1,item_index(s+1)):' Ajouter à l'historique
SendSingleKey(GetWindowByTitle%,86,1,0,0):' Envoyer un CTRL+V à PANORAMIC EDITOR pour coller le contenu du clipboard
if right$(item_read$(s+1,item_index(s+1)),1)=")" SendSingleKey(GetWindowByTitle%,37,0,0,0):' Envoyer flèche gauche à PANORAMIC EDITOR if lower$(left$(item_read$(s+1,item_index(s+1)),3))="sub" SendSingleKey(GetWindowByTitle%,37,0,0,0):' Envoyer flèche gauche à PANORAMIC EDITOR end_if else SendSingleKey(GetWindowByTitle%,32,0,0,0):' Envoyer un espace à PANORAMIC EDITOR end_if end_if return
' ==== Obtenir le handle de la fenêtre PANORAMIC EDITOR sub GetWindowByTitle(mode%,titre$) if variable("GetWindowByTitle%")=0 then dim GetWindowByTitle% GetWindowByTitle% = dll_call2("GetWindowByTitle",mode%,adr(titre$)) end_sub
' ==== Simuler une séquence de touches au clavier adressée à une fenêtre ciblée par son handle sub SendSingleKey(hnd%,VK%,ctrl%,alt%,shift%) if variable("SendSingleKey%")=0 then dim SendSingleKey% SendSingleKey% = dll_call5("SendSingleKey",hnd%,VK%,ctrl%,alt%,shift%) end_sub
sub init() on_close 0,fin border_small 0 height 0,700 width 0,(width(0)/2)-93 left 0,screen_x-width(0) caption 0,"PANORA-CLIC!" check 1 font_name 1,"Consolas" font_size 1,8 width 1,35 caption 1,"Maj" left 1,width(0)-width(1)-16 picture 2 width 2,width(0)-16 top 2,18 height 2,height(0)-top(2)-34 color 2,100,0,0 end_sub
sub creer_les_listes() dim_local a$,b$,n,d,h,g restore read a$ read n g=2 : h=425 while a$<>"eof1" alpha n on_click n,liste color n,150,150,150 font_name n,"Consolas" font_size n,8 font_bold n left n,g top n,h caption n,a$ h=h+15 : d=n+1 list d hide d on_click d,copier width d,width(0)-20 left d,2 top d,20 height d,400 read b$ while b$<>"eod" item_add d,b$ read b$ end_while read a$ read n if n=31 then h=top(11):g=g+width(11)+1 end_while end_sub
sub creer_boutons_memo() button 3 on_click 3,ouvre font_name 3,"Lucida Console" font_size 3,8 left 3,left(11)+1 top 3,578 height 3,15 width 3,width(12)-2 caption 3,"Ajouter fichier au mémo" button 4 on_click 4,efface font_name 4,"Lucida Console" font_size 4,8 left 4,left(3) top 4,595 height 4,height(3) width 4,width(3) caption 4,"Effacer le mémo" button 5 on_click 5,sauve font_name 5,"Lucida Console" font_size 5,8 left 5,left(3) top 5,612 height 5,height(3) width 5,width(3) caption 5,"Enregistrer le mémo" button 6 on_click 6,sub_select font_name 6,"Lucida Console" font_size 6,8 left 6,left(3) top 6,629 height 6,height(3) width 6,width(3) caption 6,"Sélectionner sub" button 7 on_click 7,envoi font_name 7,"Lucida Console" font_size 7,8 height 7,height(3) width 7,width(3) left 7, left(3) top 7,646 caption 7,"Copier la sélection" form 9 border_hide 9 color 9,200,0,100 height 9,height(0) width 9,575:' width(0)*2 left 9,left(0)-width(9) command_target_is 9 memo 10 bar_both 10 font_name 10,"Lucida Console" font_size 10,8 width 10,width(9)-6 left 10,3 height 10,height(9)-6 top 10,3 end_sub
fin: dll_off return #include "c:\PANORAMIC\pano_datas.bas"
pano_datas.bas - Code:
-
' ================================================== data " Fichiers ",11 ' ================================================== data "file_add" data "file_archive_off" data "file_archive" data "file_close" data "file_copy" data "file_delete" data "file_eof()" data "file_exists()" data "file_extract_disk$()" data "file_extract_extension$()" data "file_extract_name$()" data "file_extract_path$()" data "file_find_close" data "file_find_first$" data "file_find_next$" data "file_hide_off" data "file_hide" data "file_load" data "file_move" data "file_name$()" data "file_open_append" data "file_open_read" data "file_open_write" data "file_read_only_off" data "file_read_only" data "file_read" data "file_readbuf" data "file_readln" data "file_rename" data "file_save" data "file_system_off" data "file_system" data "file_write" data "file_writebuf" data "file_writeln" data "filebin_block_read" data "filebin_block_write" data "filebin_close" data "filebin_hexa_read" data "filebin_hexa_write" data "filebin_open_read" data "filebin_open_write" data "filebin_pos()" data "filebin_position" data "filebin_read" data "filebin_size()" data "filebin_write" data "filter"
data "eod"
' ================================================== data " Répertoires ",13 ' ================================================== data "dir_change" data "dir_current$" data "dir_exists()" data "dir_make" data "dir_remove" data "rmdir"
data "eod"
' ================================================== data " Objets Système ",15 ' ================================================== data "alpha" data "button" data "caption" data "caption$()" data "check" data "checked()" data "combo" data "container_option" data "container" data "edit" data "form" data "grid" data "list" data "memo" data "movie" data "option" data "picture" data "progress_bar" data "scene2d" data "scene3d" data "scroll_bar" data "spin" data "track_bar" data "command_target_is" data "delete" data "hide" data "show" data "width" data "height" data "left" data "top" data "width()" data "height()" data "left()" data "top()" data "hide()" data "show()"
data "dlist" data "image" data "sound" data "play" data "play_wait" data "timer" data "timer_on" data "timer_interval" data "timer_off" data "timer_off_all" data "on_timer" data "main_menu" data "sub_menu" data "parent" data "dir_dialog" data "open_dialog" data "save_dialog"
data "on_click" data "on_double_click" data "on_change" data "on_key_down" data "on_key_up" data "on_close" data "off_click" data "off_double_click" data "off_change" data "off_key_down" data "off_key_up" data "off_close" data "clicked()" data "double_clicked()"
data "full_space" data "border_hide" data "border_normal" data "border_small" data "color" data "color_pixel_blue()" data "color_pixel_green()" data "color_pixel_red()" data "text_height()" data "text_width()"
data "caret_position" data "caret_position()" data "clear" data "count()" data "item_add" data "item_delete" data "item_index()" data "item_index$()" data "item_insert" data "item_read$()" data "select_read$()" data "select_text" data "set_focus" data "sort" data "sort_off" data "sort_on" data "text" data "text$()" data "bar_both" data "bar_horizontal" data "bar_none" data "bar_vertical"
data "active" data "active()" data "inactive" data "inactive()"
data "clipboard_copy" data "clipboard_cut" data "clipboard_paste" data "brightness" data "contrast" data "gamma"
data "horizontal" data "vertical" data "hint_hide" data "hint" data "max" data "min" data "mark_on" data "mark_off" data "maximize" data "minimize" data "normal" data "object_exists()" data "object_parent()" data "object_type()" data "position" data "position()" data "stretch_on" data "stretch_off" data "secret_on" data "secret_off" data "to_background" data "to_foreground" data "handle()" data "handle_canvas()" data "handle_form()"
data "eod"
' ================================================== data " Mathématiques ",17 ' ================================================== data "abs()" data "acos()" data "adr()" data "asin()" data "atn()" data "bin_and()" data "bin_or()" data "bin_xor()" data "cos()" data "even()" data "exp()" data "frac()" data "hcos()" data "hex()" data "hex$()" data "hsin()" data "htan()" data "int()" data "log()" data "log10()" data "log2()" data "max()" data "min()" data "mod()" data "numeric()" data "odd()" data "power()" data "rnd()" data "sgn()" data "sin()" data "sqr()" data "tan()" data "wrap_value()"
data "eod"
' ================================================== data " Variables Système ",19 ' ================================================== data "clipboard_string_paste$" data "date$" data "dir_current$" data "error_line" data "error_number" data "error_type$" data "file_find_first$" data "file_find_next$" data "inkey$" data "key_down_code" data "key_down_special" data "key_up_code" data "key_up_special" data "message_text$" data "number_2d_target" data "number_3d_objects" data "number_3d_target" data "number_change" data "number_click" data "number_command_target" data "number_current_line" data "number_double_click" data "number_events" data "number_input_source" data "number_key_down" data "number_key_up" data "number_objects" data "number_print_target" data "number_sprite_target" data "number_sprites" data "number_variables" data "param_number" data "scancode" data "screen_x" data "screen_y" data "time$"
data "eod"
' ================================================== data " Objets 3D ",21 ' ================================================== data "scene3d"
data "3d_actor" data "3d_mesh" data "3d_load_object" data "3d_load_texture" data "3d_image_texture"
data "3d_box"
data "3d_chain_break" data "3d_chain"
data "3d_collision_as_cube" data "3d_collision_as_ellipsoid" data "3d_collision_as_faces" data "3d_collision_as_point" data "3d_collision_as_sphere" data "o3d_collision()"
data "3d_color"
data "3d_cone" data "3d_cube" data "3d_cylinder"
data "3d_delete" data "3d_delete_all"
data "3d_dodecahedron"
data "3d_hide"
data "3d_line" data "3d_line_width"
data "3d_move"
data "3d_plane" data "3d_u_tile" data "3d_v_tile"
data "3d_point_object"
data "3d_position" data "3d_x_position" data "3d_y_position" data "3d_z_position" data "o3d_x_position()" data "o3d_y_position()" data "o3d_z_position()"
data "3d_rotate" data "3d_x_rotate" data "3d_y_rotate" data "3d_z_rotate" data "o3d_x_rotate()" data "o3d_y_rotate()" data "o3d_z_rotate()"
data "3d_scale" data "3d_x_scale" data "3d_y_scale" data "3d_z_scale" data "o3d_x_scale()" data "o3d_y_scale()" data "o3d_z_scale()"
data "3d_show"
data "3d_skybox" data "3d_load_texture_back" data "3d_load_texture_bottom" data "3d_load_texture_front" data "3d_load_texture_left" data "3d_load_texture_right" data "3d_load_texture_top"
data "3d_sphere" data "3d_target_is" data "3d_teapot"
data "3d_text" data "3d_text_change"
data "3d_torus" data "3d_transparent"
data "axes_hide" data "axes_show"
data "cam_move" data "cam_pitch" data "cam_position" data "cam_roll" data "cam_turn" data "cam_x_position" data "cam_y_position" data "cam_z_position" data "point_object" data "point_position" data "point_x_position" data "point_y_position" data "point_z_position"
data "fog_color" data "fog_distance_max" data "fog_distance_min" data "fog_off" data "fog_on"
data "light_position" data "light_x_position" data "light_y_position" data "light_z_position"
data "number_3d_objects" data "o3d_object_exists()" data "o3d_object_type()"
data "eod"
' ================================================== data " Mouse/Cursor_ ",23 ' ================================================== data "mouse_left_down()" data "mouse_left_up()" data "mouse_right_down()" data "mouse_right_up()" data "mouse_x_left_down()" data "mouse_x_left_up()" data "mouse_x_position()" data "mouse_x_right_down()" data "mouse_x_right_up()" data "mouse_y_left_down()" data "mouse_y_left_up()" data "mouse_y_position()" data "mouse_y_right_down()" data "mouse_y_right_up()" data "cursor_arrow" data "cursor_beam" data "cursor_cross" data "cursor_default" data "cursor_help" data "cursor_hide" data "cursor_hourglass" data "cursor_noparking" data "cursor_point"
data "eod"
' ================================================== data " Message/input ",25 ' ================================================== data "message" data "message_confirmation_ok" data "message_confirmation_yes_no" data "message_error_ok" data "message_error_yes_no" data "message_information_ok" data "message_information_yes_no" data "message_input()" data "message_input$()" data "message_text$" data "message_warning_ok" data "message_warning_yes_no" data "input" data "input_mark_off" data "input_mark_on" data "input_redo_off" data "input_redo_on" data "input_source_is" data "input_visible_off" data "input_visible_on"
data "eod"
' ================================================== data " Direct./Référence ",27 ' ================================================== data "#include" data "chain" data "data" data "dim" data "dim_local" data "display" data "end" data "error_english" data "error_french" data "error_line" data "error_number" data "error_type$" data "gosub" data "goto" data "label" data "label()" data "on_error_goto" data "off_error_goto" data "param_number" data "param_value$()"
data "peek()" data "poke"
data "print" data "print_locate" data "print_x_locate" data "print_y_locate" data "print_target_is" data "read" data "rem" data "restore" data "return" data "stop" data "terminate" data "trace_off" data "trace_on" data "variable()"
data "eod"
' ================================================== data " Entrées-Sorties ",29 ' ================================================== data "parallel_inp()" data "parallel_off" data "parallel_on" data "parallel_out"
data "eod"
' ================================================== data " Chaine ",31 ' ================================================== data "asc()" data "chr$()" data "insert$()" data "instr()" data "left$" data "len()" data "lower$()" data "ltrim$()" data "mid$()" data "right$()" data "rtrim$()" data "str$()" data "string$()" data "trim$()" data "upper$()" data "val()"
data "eod"
' ================================================== data " Font ",33 ' ================================================== data "font_bold_off" data "font_bold" data "font_color" data "font_italic_off" data "font_italic" data "font_name" data "font_names_add" data "font_names_load" data "font_size" data "font_strike_off" data "font_strike" data "font_underline" data "font_unerline_off"
data "eod"
' ================================================== data " Évènements ",35 ' ================================================== data "key_down_code" data "key_down_special" data "key_up_code" data "key_up_special" data "number_change" data "number_click" data "number_double_click" data "number_events" data "number_key_down" data "number_key_up" data "off_change" data "off_click" data "off_close" data "off_double_click" data "off_key_down" data "off_key_up" data "on_change" data "on_click" data "on_close" data "on_double_click" data "on_key_down" data "on_key_up" data "on_timer"
data "eod"
' ================================================== data "Système/DLLs",37 ' ================================================== data "2d_target_is" data "application_title" data "beep" data "beep_error" data "beep_exclamation" data "beep_information" data "beep_question" data "clipboard_string_copy" data "clipboard_string_paste$" data "disk_exixts()" data "disk_kilo_free()" data "disk_kilo_size()" data "execute" data "execute_wait" data "free" data "handle_form()" data "inkey$" data "pause" data "print_target_is" data "wait" data "dll_call0()" data "dll_call1()" data "dll_call2()" data "dll_call3()" data "dll_call4()" data "dll_call5()" data "dll_call6()" data "dll_off" data "dll_on"
data "eod"
' ================================================== data " Dessin(2d) ",39 ' ================================================== data "2d_target_is" data "2d_circle" data "2d_clear" data "2d_fill_color" data "2d_fill_cross" data "2d_fill_diagonal_cross" data "2d_fill_diagonal_down" data "2d_fill_diagonal_up" data "2d_fill_horizontal" data "2d_fill_solid" data "2d_fill_vertical" data "2d_flood" data "2d_image_copy" data "2d_image_paste" data "2d_line" data "2d_pen_color" data "2d_pen_dash_dot_dot" data "2d_pen_dash_dot" data "2d_pen_dash" data "2d_pen_dot" data "2d_pen_solid" data "2d_pen_width" data "2d_point" data "2d_poly_from" data "2d_poly_to" data "2d_rectangle" data "cls"
data "eod"
' ================================================== data " Sprite ",41 ' ================================================== data "number_sprites" data "scene2d" data "sprite" data "sprite_create_hide" data "sprite_create_show" data "sprite_delete" data "sprite_delete_all" data "sprite_exists()" data "sprite_file_load" data "sprite_hide" data "sprite_hide_all" data "sprite_image_load" data "sprite_position" data "sprite_scale" data "sprite_show" data "sprite_show_all" data "sprite_target_is" data "sprite_x_position" data "sprite_x_position()" data "sprite_x_scale" data "sprite_y_position" data "sprite_y_position()" data "sprite_y_scale"
data "eod"
' ================================================== data " Structures ",43 ' ================================================== data "if" data "then" data "else" data "end_if" data "and" data "or" data "not" data "sub ()" data "end_sub" data "exit_sub" data "for" data "to" data "step" data "next" data "exit_for" data "while" data "end_while" data "exit_while" data "repeat" data "until" data "exit_repeat" data "gosub" data "goto" data "return" data "select" data "case" data "end_select" data "end" data "terminate" data "data" data "restore" data "read"
data "eod"
' ================================================== data " Grid ",45 ' ================================================== data "grid" data "grid_clear" data "grid_column_delete" data "grid_column_fixed" data "grid_column_insert" data "grid_column_sizing_off" data "grid_column_sizing_on" data "grid_column_width" data "grid_column" data "grid_fixed_color" data "grid_load" data "grid_one_column_width" data "grid_one_row_height" data "grid_read$()" data "grid_row_delete" data "grid_row_fixed" data "grid_row_height" data "grid_row_insert" data "grid_row_sizing_off" data "grid_row_sizing_on" data "grid_row" data "grid_save" data "grid_write" data "grid_x_to_column()" data "grid_y_to_row()"
data "eod"
' ================================================== data " Midi/Excel ",47 ' ================================================== data "midi_instrument" data "midi_off" data "midi_on" data "midi_play" data "midi_volume" data "excel_file_close" data "excel_file_new" data "excel_file_open" data "excel_read$()" data "excel_start" data "excel_stop" data "excel_write"
data "eod"
' ================================================== data " Historique ",49 ' ==================================================
data "eod"
data "eof1",51
Bon je vous laisse car c'est l'anniversaire de ma fille (9 ans aujourd'hui) et il faut que je prépare le gâteau! A+ | |
| | | Contenu sponsorisé
| Sujet: Re: Panora-clic! | |
| |
| | | | Panora-clic! | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |