Pedro
Nombre de messages : 1595 Date d'inscription : 19/01/2014
| Sujet: Partage d'informations sur Panoramic. Mer 14 Jan 2015 - 15:03 | |
| Bonjour à tous les panoramiciens. Je poste ici mon petit fichier d'aide, que j'utilise quotidiennement, afin que tous puissiez en profiter. - Code:
-
Afficher la liste des variables d'environnement définies dans le système ------------------------------------------------------------------------ hide 0 Var_envir() end
SUB Var_envir() file_open_write 9999,"var_envir.bat" file_writeln 9999,"set |clip" file_close 9999 execute_wait "var_envir.bat" file_delete "var_envir.bat" message CLIPBOARD_STRING_PASTE$ END_SUB
Récupérer l'état du clavier (avec user32.dll) --------------------------------------------- res%=dll_call1("GetKeyboardState",vk%) donne des informations sur la touche dont on passe le VK_CODE en paramètre.
Clavier virtuel --------------- label clavier_virtuel BUTTON 10 : left 10,200 : width 10,100 : caption 10,"Clavier virtuel" : FONT_BOLD 10 on_click 10,clavier_virtuel EDIT 20 end
clavier_virtuel: set_focus 20 EXECUTE_WAIT "osk.exe" return
dll de Klaus ------------ Site: http://www.mydrive.ch/ Identifiant: panoramic@klausgunther Mot de passe: panoramic123 Dossier: DLL's La doc de kgf.dll est dans kgf.rtf.
Jack ---- username : panoramic@jack-panoramic password : panoramic123
Problème avec 'terminate' ------------------------- Si erreur "Panoramic a cessé de fonctionner", remplacer la commande par:
res%=dll_call1("KillProcessByHandle",handle(0)) dll_off
Erreur ------ "" is not a floating point value: une variable est déclarée entière, puis utilisée flottante.
Plein écran -----------
Width 0,screen_x Height 0,screen_y
border_hide 0
ou full_space 0
Remarque sur les Label ----------------------
Pas d'espace avant les ':'. Le 'return' doit se trouver sur une ligne différente.
suppression_espaces : return
doit s'écrire: suppression_espaces: return
Pour utiliser un OPEN_DIALOG ou un SAVE_DIALOG ----------------------------------------------
1- il faut bien sûr créer l'objet:
OPEN_DIALOG N ou SAVE_DIALOG N
2 - puis utiliser la fonction FILE_NAME$(N) Cette fonction fait apparaître l'objet et retourne le nom du fichier qui a été choisi par l'utilisateur. Si l'utilisateur n'a pas choisi de fichier, la fonction retourne "_"
Menu avec sous-menu -------------------
main_menu 1
sub_menu 2 ' Le main_menu 1 est le parent du sous-menu 2 parent 2,1 caption 2,"Fichier" sub_menu 3 parent 3,2 caption 3,"quitter"
Image de fond -------------
full_space 0
scene2d 1 : rem on crée un monde 2D (objet numéro 1) full_space 1 file_load 1,"photos\chili.jpg"
Même chose sans création d'un objet scene2d -------------------------------------------
full_space 0
picture 1 full_space 1 file_load 1,"chili.bmp"
Lecture d'un fichier texte --------------------------
dim ligne$
print time$
if file_exists("dico_espagnol.dat")=1 file_open_read 1,"dico_espagnol.dat" while file_eof(1)=0 file_readln 1,ligne$ end_while
file_close 1 end_if
print time$
Enregistrer le contenu d'une zone de texte multilignes (objet 'memo') dans une chaîne -------------------------------------------------------------------------------------
chaine$=text$(n° objet memo)
dim retour_chariot$, double_retour_chariot$ retour_chariot$=chr$(13) double_retour_chariot$=chr$(13)+chr$(13)
Afficher un message d'information ---------------------------------
dim resultat% resultat%=message_information_ok(chaine$)
Ajouter une ligne à une zone de texte -------------------------------------
memo 1 item_add 1,"texte"
Afficher une chaîne dans un objet memo --------------------------------------
print_target_is n° objet clear n° objet print chaine$
instr à partir d'une position -----------------------------
java: xx%=chaine$.indexOf(".",espace%)
panoramic: utiliser 'instr_pos'
substring ---------
java:
chaine="essai" chaine2=chaine.substring(0,3) -> "essa" chaine$.substring(x%,y%):
panoramic: utiliser 'righ_pos$'
Suppression d'un scene3D ------------------------
' Suppression des objets par ordre décroissant. for k%=10 to 2 step -1 o3d_delete k% next k%
' Suppression des sous-menus, puis de la barre de menu. delete 1143 delete 1142 delete 1141
' Suppression de scene3D. delete 1
Rotation d'un objet 3D à l'aide d'une boucle ('wait' obligatoire) -------------------------------------------- for angle=0 to 3.14 step 0.25 angle2=angle*57.29578 3d_x_rotate 3,angle2 wait 200 next angle
Objet progress_bar ------------------
La commande 'vertical n°' doit toujours être placée avant le positionnement de l'objet (left, top...). La commande 'color' n'est pas applicable à cet objet. =========================================================================================
Pour obtenir le focus avant le 1er caractère du texte d'un memo.
sub focus_sur_memo(param1%) set_focus param1% item_insert param1%,1,"" item_delete param1%,1 caret_position param1%,0 end_sub =========================================================================================
Commandes 'bar'
Elles sont également applicables sur un GRID. =========================================================================================
Saisie dans un GRID *******************
label clic_dans_grid dim ligne%,colonne%
grid 333 ' ici, paramétrer le grid... on_click 1,clic_dans_grid
clic_dans_grid: ligne%=grid_y_to_row(333,mouse_y_left_down(333)) colonne%=grid_x_to_column(333,mouse_x_left_down(333))
grid_write 333,ligne%,colonne%,message_input$("Donnée à entrer.", "Saisissez le RDV, ou autre." , "")
return
=========================================================================================
Version instantanée du 16 mai 2012: PANORAMIC V 0.9.23i6
1 - correction de bugs sur des objets 3D:
Les commandes 3D_HIDE et 3D_SHOW n'agissaient pas sur les objets 3D 3D_PLANE et 3D_SKYBOX. Les commandes 3D_TRANSPARENT et 3D_MOVE n'agissaient pas sur les objets 3D 3D_PLANE. Les fonctions O3D_X_POSITION(), O3D_Y_POSITION(), O3D_Z_POSITION(), O3D_X_ROTATE(), O3D_Y_ROTATE(), O3D_Z_ROTATE(), O3D_X_SCALE(), O3D_Y_SCALE(), O3D_Z_SCALE() n'agissaient pas sur les objets 3D 3D_PLANE. les numéros des objets 3D 3D_PLANE étaient limités. Les commandes 3D_LOAD_TEXTURE, 3D_LOAD_TEXTURE_TOP, 3D_LOAD_TEXTURE_BACK, 3D_LOAD_TEXTURE_LEFT, 3D_LOAD_TEXTURE_FRONT, 3D_LOAD_TEXTURE_RIGHT, 3D_LOAD_TEXTURE_BOTTOM ne traitaient pas convenablement certains fichier BMP ou JPG.
2 - correction de bugs sur des fonctions:
Problème quand N est grand sur OBJECT_EXISTS(N), OBJECT_TYPE(N), O3D_OBJECT_EXISTS(N), O3D_OBJECT_TYPE(N), SPRITE_EXISTS(N). Quand TEXT_WIDTH était dans les paramètres d'une commande, la chaine de caractères était convertie (en interne) en majuscules, ce qui faussait le résulat de la fonction TEXT_WIDTH.
3 - correction d'un bug sur la compatibilité des MENU et SCENE3D:
L'existence d'un SCENE3D créait un appel cyclique d'événements et à grande cadence, qui perturbait le traitement des "ON_CLICK" et en particulier le clic sur un SUB_MENU. Cet appel cyclique d'événements était prévu
pour gérer les animations futures.
4 - améliorations de commandes existantes:
CLIPBOARD_COPY et CLIPBOARD_PASTE s'appliquent aussi aux objets système PICTURE et IMAGE. FONT_SIZE : il n'y a plus la limite de 30 à la taille de la police
5 - nouvelles fonctions:
GRID_X_TO_COLUMN(N,X) : retourne le numéro de colonne du GRID numéro N à partir de la coordonnée X. GRID_Y_TO_ROW(N,Y) : retourne le numéro de ligne du GRID numéro N à partir de la coordonnée Y. HANDLE_FORM("titre") : retourne le handle d'une fenêtre (PANORAMIC ou pas) dont on connait le caption Exemple: Code: execute "notepad.exe" wait 1000 caption 0,handle_form("Sans titre - Bloc-notes")
6 - nouvelles commandes:
APPLICATION_TITLE T$ : donne un titre à l'application. Cela permet d'avoir ce titre dans le bandeau de la commande MESSAGE. DRAWING_TARGET_IS devient synonyme de COMMAND_TARGET_IS (cela servira à des commandes futures) FREE Variable : libère la variable Exemple: Code: dim v(10),t$ free v free t$ dim v(100),t$
7 - les numéros d'objets système vont de 1 à 9999
8 - correction d'un bug sur les événements: lorsque ceux-ci se déclenchaient avant le END, il arrivait que le programme principal s'arrête.
9 - déclenchement d'une erreur si un LABEL existe plusieurs fois dans le source
10 - correction d'un bug sur 3D_PLANE (8013): test de débordement
11 - gestion des FORMs: MINIMIZE N : iconisation du FORM numéro N MAXIMIZE N : maximalisation du FORM numéro N NORMAL N : retour à la taille qu'avait le FORM numéro N avant une commande MINIMIZE ou MAXIMIZE
12 - gestion du double clic pour les objets SCENE3D, EDIT, MEMO, COMBO, ALPHA, FORM, LIST, PICTURE, OPTION, SPIN, GRID, CONTAINER même syntaxe que pour le clic. ON_DOUBLE_CLICK N,L OFF_DOUBLE_CLICK N DOUBLE_CLICKED(N) NUMBER_DOUBLE_CLICK
13 - COLOR s'applique aussi aux objets SPIN, GRID, CONTAINER, SCENE2D, CONTAINER_OPTION
14 - PAUSE agit comme WAIT, mais traite ce qui était en file d'attente. WAIT N : attend pendant N millisecondes et fige tout PAUSE N : attend pendant N millisecondes mais traite ce qui est en attente =========================================================================================
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1
1 - nouvelles commandes pour les GRID :
GRID_CLEAR N,R,C : efface les cellules du GRID numéro N de la ligne 1 à R et de la colonne 1 à C GRID_SAVE N,R,C,F : sauvegarde le GRID dans le fichier F, de la ligne 1 à R et de la colonne 1 à C GRID_LOAD N,F : charge le fichier F dans le GRID numéro N
2 - les procédures :
On déclare une procédure par SUB, et les paramètres déclarés sont locaux à la procédure. On termine le code d'une procédure par END_SUB. On appelle une procédure directement par son nom.
=========================================================================================
Version instantanée du 12 septembre 2012: PANORAMIC V 0.9.24i2
1 - nouvelles commandes pour les GRID :
GRID_CLEAR N,R,C : efface les cellules du GRID numéro N de la ligne 1 à R et de la colonne 1 à C GRID_SAVE N,R,C,F : sauvegarde le GRID dans le fichier F, de la ligne 1 à R et de la colonne 1 à C GRID_LOAD N,F : charge le fichier F dans le GRID numéro N
2 - les sous-programmes (appelés aussi "procédures") :
On déclare un sous-programme par SUB, suivi de son nom et d'un ou plusieurs paramètres entre parenthèses. Les paramètres déclarés sont locaux au sous-programme. Il peuvent avoir le même nom que des variables globales (déclarées par DIM). On termine le code d'un sous-programme par END_SUB. On appelle un sous-programme directement par son nom. Pour déclarer un sous-programme sans paramètre, ainsi que pour l'appeler, on met des parenthèses.
3 - les variables locales:
DIM_LOCAL permet de déclarer des variables locales dans un sous-programme. Ces variables peuvent avoir le même nom que des variables globales (déclarées par DIM), mais n'existent que dans le sous-programme. On ne peut pas redéclarer le paramètre d'un sous-programme par DIM_LOCAL. DIM_LOCAL s'utilise comme DIM et permet de déclarer des variables entières, réelles, chaînes de caractères, simples ou des tableaux.
=========================================================================================
Version instantanée du 3 octobre 2012: PANORAMIC V 0.9.24i3
Cette version corrige des bugs, par rapport à la dernière version instantanée PANORAMIC V0.9.24i2 du 12 septembre 2012. Voici les améliorations:
- Dans un SUB, possibilité d'utiliser un tableau déclaré avec DIM_LOCAL. - Les variables locales à un SUB (déclarées avec DIM_LOCAL) sont libérées à la sortie du SUB. - Dans un SUB, une variable définie en paramètre (variable formelle) ne peut être redéfinie en variable locale (par DIM_LOCAL). - Dans un SUB, ADR() fonctionne sur les variables locales et sur les paramètres (variables formelles).
Il reste encore certains bugs (moins prioritaires), qui seront corrigés ultérieurement, par exemple: - appel d'un SUB avec une chaine de caractères contenant le signe "=". - appel d'un SUB avec un nombre de paramètres différent du nombre de paramètres défini par sa déclaration.
=========================================================================================
Version instantanée du 8 octobre 2012: PANORAMIC V 0.9.24i4 Voici les améliorations par rapport à la dernière version instantanée PANORAMIC V0.9.24i3 du 3 octobre 2012:
1 - Correction du bug qui empêchait l'utilisation d'un tableau global dans un SUB.
2 - EXIT_SUB : permet de sortir d'un SUB
3 - lecture et écriture en mémoire Pour les nostalgiques, voici deux instructions souvent demandées sur le forum, qui permettent de lire et d'écrire directement en mémoire : PEEK et POKE. Elles sont codées "à l'ancienne" : elles ne travaillent que sur des octets. Il y a quand même un garde-fou: vous ne pouvez lire et écrire que dans l'espace de votre processus. Il y a un brutal "Access violation" en dehors !
PEEK A : retourne le contenu (de 0 à 255) de l'adresse A POKE A,V : écrit la valeur V (de 0 à 255) à l'adresse A
=========================================================================================
Version instantanée du 25 octobre 2012: PANORAMIC V 0.9.24i5
Voici les améliorations de cette version, par rapport à la dernière version instantanée PANORAMIC V0.9.24i4 du 8 octobre 2012:
- 4 nouvelles commandes pour l'objet GRID:
GRID_ROW_DELETE N,R : détruit la ligne R de l'objet GRID numéro N GRID_COLUMN_DELETE N,C : détruit la colonne C de l'objet GRID numéro N
GRID_ROW_INSERT N,R : insère une ligne en position R de l'objet GRID numéro N GRID_COLUMN_INSERT N,C : insère une colonne en position C de l'objet GRID numéro N
- corrections de bugs:
COLOR devient actif sur un SCENE2D. La couleur par défaut d'un SCENE2D est le noir. La couleur n'est plus affectée par les modifications de taille d'un SCENE2D.
=========================================================================================
Version instantanée du 8 février 2013 : PANORAMIC V 0.9.24i8
- 2 nouvelles commandes pour les SPRITEs:
SPRITE_SHOW_ALL : visualise tous les SPRITEs SPRITE_HIDE_ALL : cache tous les SPRITEs
- améliorations :
Un DELETE sur un SCENE2D détruit tous les SPRITEs qu'il contenait
MARK_ON et MARK_OFF agissent aussi sur un SUB_MENU, ce qui permet de mettre des marques dans les menus
Possiblilité d'affecter FORM0 comme PARENT : PARENT N,0
PARENT fonctionne pour un SCENE3D
- corrections de bugs:
DIR_CHANGE : affiche l'erreur 161 si répertoire inconnu
correction de bugs dans la gestion des événements
correction d'un bug dans SPRITE_DELETE_ALL
=========================================================================================
Version instantanée du 12 février 2013 : PANORAMIC V 0.9.24i9
On oublie la V 0.9.24i8 et ses bugs: - PRINT qui ne traitait plus , et ; - numéros d'objets inutilisables de 1 à 35 sur MOVIE et SOUND.
Je suis reparti de la V 0.9.24i7 pour sortir cette version.
Voici les améliorations de cette version, par rapport à la dernière version instantanée PANORAMIC V0.9.24i7 du 29 novembre 2012:
- 2 nouvelles commandes pour les SPRITEs:
SPRITE_SHOW_ALL : visualise tous les SPRITEs SPRITE_HIDE_ALL : cache tous les SPRITEs
- améliorations :
Un DELETE d'un SCENE2D détruit tous les SPRITE qu'il contenait.
MARK_ON et MARK_OFF agissent aussi sur un SUB_MENU, ce qui permet de mettre des marques dans les menus:
Code: main_menu 1 sub_menu 2 sub_menu 3 sub_menu 4 parent 2,1:caption 2,"Sub_Menu2" parent 3,2:caption 3,"Sub_Menu3" parent 4,2:caption 4,"Sub_Menu4" mark_on 3 mark_on 4
ON_KEY_UP, OFF_KEY_UP, ON_KEY_DOWN, OFF_KEY_DOWN s'appliquent aussi à un SCENE2D.
Possiblilité d'affecter FORM0 comme PARENT : PARENT N,0
PARENT fonctionne pour un SCENE3D.
- corrections de bugs:
DIR_CHANGE : affiche l'erreur 161 si le répertoire est inconnu.
correction de bugs dans la gestion des événements.
correction d'un bug dans SPRITE_DELETE_ALL.
=========================================================================================
Version instantanée du 14 février 2013 : PANORAMIC V 0.9.24i10
Voici les améliorations de cette version, par rapport à la dernière version instantanée PANORAMIC V0.9.24i9 du 12 février 2013:
- corrections de 2 bugs:
Les appels de DLL ne fonctionnaient plus.
CHAIN ne détruisait pas les objets système.
- avertissement:
FONT_COLOR ne fonctionne toujours pas sur OPTION.
=========================================================================================
Version instantanée du 26 avril 2013 : PANORAMIC V 0.9.25i2
Voici les améliorations de cette version, par rapport à la dernière version PANORAMIC V0.9.24 du 28 mars 2013:
- commandes avec la caméra: CAM_PITCH A: tourne la caméra autour de son axe X de l'angle A (en degrés) CAM_TURN A : tourne la caméra autour de son axe Y de l'angle A (en degrés) CAM_ROLL A : tourne la caméra autour de son axe Z de l'angle A (en degrés) CAM_MOVE D : bouge la caméra de la distance D dans sa direction de pointage POINT_OBJECT N : la caméra pointe l'objet 3D numéro N =========================================================================================
Version instantanée du 5 septembre 2013 : PANORAMIC V 0.9.25i3
Voici les améliorations de cette version, par rapport à la dernière version instantanée PANORAMIC V0.9.25i2 du 26 avril 2012:
- 2 nouvelles commandes pour les SPRITEs:
SPRITE_CREATE_SHOW : après cette commande un SPRITE est visible quand il est créé SPRITE_CREATE_HIDE : après cette commande un SPRITE n'est pas visible quand il est créé La visualisation d'un SPRITE quand il est créé est l'option par défaut.
- une nouvelle commande pour les objets:
CARET_POSITION(N) : retourne la position du curseur (en caractères) de l'objet système numéro N Attention, pour le moment, cette fonction n'est valable que pour un EDIT
- corrections de bugs:
EXECUTE et EXECUTE_WAIT acceptent des noms de fichier et des paramètres avec un espace
=========================================================================================
Version instantanée du 9 septembre 2013 : PANORAMIC V 0.9.25i4
- 2 nouvelles commandes pour les SPRITEs:
SPRITE_CREATE_SHOW : après cette commande un SPRITE n'est pas visible quand il est créé SPRITE_CREATE_HIDE : après cette commande un SPRITE est visible quand il est créé La visualisation d'un SPRITE quand il est créé est l'option par défaut.
- une nouvelle commande pour les objets:
CARET_POSITION(N) : retourne la position du curseur (en caractères) de l'objet système numéro N Attention, pour le moment, cette fonction n'est valable que pour un EDIT
- corrections de bugs:
FILE_FIND_FIRST$ renvoyait parfois le troisième fichier au lieu du premier
=========================================================================================
Version instantanée du 14 décembre 2013 : PANORAMIC V 0.9.25i6
- 2 nouveaux objets:
PANEL N : crée un objet PANEL (de largeur 185 et de hauteur 105) et lui alloue le numéro N. Cet objet est analogue à CONTAINER, mais n'a pas de bordure.
HVIEWER N : crée un objet HVIEWER (de largeur 185 et de hauteur 105) et lui alloue le numéro N. Cet objet permet de visualiser du code HTML. Pour visualiser le fichier F au format html dans un objet HVIEWER numéro N, la commande est FILE_LOAD N,F
- 3 nouvelles fonctions:
REVERSE$(T) : retourne la chaine de caractères T inversée.
INSTR_POS(T,C,P) : retourne la position de la chaine de caractère C dans la chaine de caractères T, la recherche s'effectuant à partir de la position P. Retourne 0 si la chaine de caractères C n'est pas trouvée.
RIGHT_POS$(T,P) : retourne une chaine de caractères composée de la chaine de caractères T commençant à la position P.
==========================================================================================
Version instantanée du 17 décembre 2013 : PANORAMIC V 0.9.25i7
Cette nouvelle version corrige un bug dans le passage d'une chaine de caractères à un SUB.
ATTENTION: version retirée pour cause de bug !
==========================================================================================
Version instantanée du 16 décembre 2014 : PANORAMIC V 0.9.26i3
NUMBER_ACTIVATE : numéro du dernier objet (FORM) activé NUMBER_SHOW : numéro du dernier objet (FORM) visible
TRIGGER_CLICK N : simule un événement ON_CLICK sur l'objet système numéro N
2D_FILL_ON : à leur création, les formes 2D_CIRCLE et 2D_RECTANGLE sont remplies avec la couleur 2D_FILL_COLOR 2D_FILL_OFF : à leur création, les formes 2D_CIRCLE et 2D_RECTANGLE sont transparentes
Exemples -------- ARCHIVER_ON : démarre l'archiveur ARCHIVER_ADD D$, F$ : archive le contenu du répertoire D$ dans le fichier F$ ARCHIVER_EXTRACT F$, D$ : extrait le fichier archive F$ dans le répertoire D$. Attention, D$ doit exister. ARCHIVER_OFF : arrête l'archiveur
rem archives directory source into file fff.zip ARCHIVER_ON ARCHIVER_ADD "source", fff.zip ARCHIVER_OFF
rem extracts file fff.zip into directory dest DIR_MAKE "dest" ARCHIVER_ON ARCHIVER_EXTRACT fff.zip, "dest" ARCHIVER_OFF
Correction de bugs ------------------ appel d'un SUB avec chaine de caractère possédant le caractère = (égal) DELETE et ON_CLICK étaient inefficaces sur un SCENE2D
==========================================================================================
Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4
SEPARATOR_IS_POINT : le séparateur pour les nombres réels est le point (option par défaut). SEPARATOR_IS_COMMA : le séparateur pour les nombres réels est la virgule.
OBJECT_NUMBER(N) : retourne un numéro interne généré à la création de l'objet système de numéro N et -1 si l'objet de numéro N n'existe pas. Ne fonctionne pas avec la form 0.
Correction de bugs ------------------
L'objet HVIEWER est actif. Le séparateur pour les nombres réels est le point. ========================================================================================== Version instantanée du 7 janvier 2015 : PANORAMIC V 0.9.26i5
OBJECT_INTERNAL(N) s'applique à l'objet FORM de numéro 0.
L'objet HVIEWER est actif.
ON_CLICK peut être utilisé avec l'objet HVIEWER.
| |
|