| Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 | |
|
+6Jicehel Jean Claude Minibug papydall Klaus Jack 10 participants |
Auteur | Message |
---|
Jack Admin
Nombre de messages : 2381 Date d'inscription : 28/05/2007
| Sujet: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Sam 30 Mai 2015 - 18:08 | |
| Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Une version instantanée est la version actuelle du développement de PANORAMIC, elle vous permet d'utiliser les toutes dernières améliorations, sans attendre la sortie de la prochaine version. Une version instantanée n'a pas de procédure d'installation (c'est un fichier zip contenant l'EDITEUR). Les nouveaux mots-clés n'ont pas de coloration syntaxique dans l'EDITEUR. Cette version instantanée est disponible ici : http://panoramic-language.pagesperso-orange.fr/Reference/Executable/PANORAMIC_EDITOR.zipainsi que sur mon Webdav dans le répertoire : PANORAMIC_VERSION_DE_TRAVAIL Voici les améliorations de cette version, par rapport à la dernière version instantanée PANORAMIC V0.9.26i5 du 7 janvier 2015 : 1 - deux nouveaux objets CONTAINER_TAB et TAB permettant de créer des systèmes à onglet.Un système à onglets se crée avec ces 2 objets: le CONTAINER_TAB qui crée le support le TAB qui ajoute une page (c'est à dire un onglet) au support. Pour qu'une page (TAB) soit reliée à un support (CONTAINER_TAB), on utilise la commande classique PARENT. On met un titre à une page par la classique commande CAPTION. Voici un exemple : - Code:
-
CONTAINER_TAB 1 : rem crée un support (container)
TAB 2 : rem crée une page (onglet) PARENT 2,1 : rem on attache cette page au support CAPTION 2,"Onglet 1" : rem titre pour la première page
TAB 3 : rem crée une nouvelle page PARENT 3,1 : rem on attache cette page au support CAPTION 3,"Onglet 2" : rem titre pour la deuxième page
On positionne un CONTAINER_TAB par les commandes classiques TOP et LEFT. On dimensionne un CONTAINER_TAB par les commandes classiques HEIGHT et WIDTH. On retire une page avec la classique commande DELETE N (N étant un numéro de TAB). On pose des objets sur une page avec la commande PARENT. On visualise une page par programme avec la commande classique MARK_ON N (N étant un numéro de TAB). Pour déterminer quelle page est visualisée par l'utilisateur, il y a deux méthodes: la méthode événementielle : celle qui utilise l'événement déclenché par l'utilisateur lorsqu'il visualise une page la méthode séquentielle : celle où le programme teste toutes les pages pour déterminer celle qui est visualisée - Manière événementielle en gérant un événement «SHOW» qui se déclenche ou pas quand une page est visualisée. Pour que cet événement se déclenche quand la page N est visualisée, on utilise la commande : ON_SHOW N,Label (N étant un numéro de TAB). On peut connaître le numéro de la page visualisée par variable système NUMBER_SHOW. - Manière séquentielle : il faut tester périodiquement si une page est visualisée ou pas, avec la fonction classique CHECKED(). Attention aux subtilités suivantes : Les commandes HIDE et SHOW appliquées sur un TAB cachent ou visualisent les objets appartenant à la page. Les commandes de police de caractères FONT_XXX appliquées sur un TAB s'appliquent aux CAPTION des objets appartenant à la page. 2 - correction de bug:TERMINATE qui produit un bip _________________ username : panoramic@jack-panoramic password : panoramic123 | |
|
| |
Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Sam 30 Mai 2015 - 18:37 | |
| Super ! Merci, Jack. J'ai mis à jour immédiatement. J'aime particulièrement la façon de détecter si un onglet est affiché, par évènement ! | |
|
| |
papydall
Nombre de messages : 6996 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Sam 30 Mai 2015 - 19:42 | |
| Merci Jack. Mais, chez moi, TERMINATE produit toujours le bip - Code:
-
dim a caption 0," BOUCLE INFINIE EN COURS <CLICK> pour arrêter ...." repeat if scancode <> 0 then terminate a = a + 1 if a > 100 then a = 0 until "Papydall" = "Jack" : ' Ce qui ne sera jamais vrai !
Une légère modification du code donné par Jack : TERMINATE produit encore le bip - Code:
-
label clic
CONTAINER_TAB 1 : rem crée un support (container) width 1,500 TAB 2 : rem crée une page (onglet) PARENT 2,1 : rem on attache cette page au support CAPTION 2,"Onglet 1" : rem titre pour la première page
TAB 3 : rem crée une nouvelle page PARENT 3,1 : rem on attache cette page au support CAPTION 3,"Onglet 2" : rem titre pour la deuxième page on_click 0,clic end
clic: terminate return
| |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Sam 30 Mai 2015 - 20:12 | |
| Merci Jack ! Je viens de télécharger la version. Je suis justement sur un programme avec un système a onglets, alors je vais tester... Ça va simplifier le programme c'est sûr, au lieu d'utilise des PANELs avec HIDE et SHOW ! Encore merci. | |
|
| |
Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Sam 30 Mai 2015 - 21:33 | |
| Encore une avancée, super Une remarque: (mais je n'ai pas encore téléchargé) le nom de ON_SHOW N, laisse entendre que la commande s'applique à tous les objets. Si c'est le cas, pas de problème, sinon il serait peut-être mieux de parler de ON_SHOW_TAB N,label ? pour éviter des confusions. Je vais tester ça demain. A+ | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 51 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Sam 30 Mai 2015 - 22:11 | |
| | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Sam 30 Mai 2015 - 22:49 | |
| Bonsoir a tous ! Je vous soumet ce petit code avec les objets TAB de la nouvelle version Il est issus d'un ensemble de plusieurs centaines de lignes. Il semblerai qu'il y a un soucis, a moins que cela vienne de moi. voyez plutôt... je vous propose 2 tests avec le programme. 1) vous lancez et cliquez directement sur QUITTER dans le menu -> pas de message. 2) vous cliquez sur TAB2 et cliquez ensuite sur QUITTER -> et là un message apparaît. Est ce que c'est pareil chez vous. En sachant que le code précédent utilisé des PANEL avec HIDE et SHOW et fonctionnait parfaitement. Mer d'avance pour vos retour... | |
|
| |
Invité Invité
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Sam 30 Mai 2015 - 22:51 | |
| Merci Jack pour cette version - Jean-Claude a écrit:
- Une remarque: (mais je n'ai pas encore téléchargé) le nom de ON_SHOW N, laisse entendre que la commande s'applique à tous les objets
Cette commande fait partie de la version du 26 septembre 14. |
|
| |
Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Sam 30 Mai 2015 - 23:25 | |
| @Minibug: Aurais-tu oublié de poster le petit code ? Je ne le vois pas...
@Jack: J'ai testé, et je suis très satisfait ! Une petite remarque, cependant: la commande CAPTION permet bien de donner un libellé à un onglet, mais la fonction CAPTION$() ne s'applique pas sur un onglet - erreur d'exécution ! Et la commande COLOR ne s'applique pas pour un objet TAB. FONT_SIZE, FONT_NAME, FONT_COLOR, CONT_BOLD etc ne sont pas rejetés, mais ignorés. | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Sam 30 Mai 2015 - 23:30 | |
| oups.... - Code:
-
LABEL proc_clic_simple
WIDTH 0,200 : HEIGHT 0,80 : BORDER_SMALL 0 : CAPTION 0,"MiNiBuG"
MAIN_MENU 1 SUB_MENU 2 : PARENT 2,1 : CAPTION 2,"Quitter" : ON_CLICK 2,proc_clic_simple
FORM 10 : TOP 10,85 : WIDTH 10,347 : HEIGHT 10,650 : BORDER_SMALL 10 CONTAINER_TAB 20 : PARENT 20,10 : FULL_SPACE 20 TAB 30 : PARENT 30,20 : CAPTION 30,"TAB1" TAB 40 : PARENT 40,20 : CAPTION 40,"TAB2"
END
proc_clic_simple: SELECT NUMBER_CLICK CASE 2 : TERMINATE END_SELECT RETURN Merci Klaus, j'avais même pas remarqué ! | |
|
| |
Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Dim 31 Mai 2015 - 0:16 | |
| J'ai testé, et en effet, ça plante. Mais uniquement si le CONTAINER_TAB est dans une autre form. Dans la Form 0, ça ne plante pas. Un bug pour Jack... | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Dim 31 Mai 2015 - 0:50 | |
| Merci klaus. Si tu delete le CO?TAINER_TAB avant TERMINATE, pas de message d'erreur ! Je vais l'utiliser comme cela pour l'instant. | |
|
| |
bignono
Nombre de messages : 1127 Age : 66 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Dim 31 Mai 2015 - 6:37 | |
| Bonjour Jack, Merci bien, je testerais demain si j'ai le temps. A+ | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 55 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Dim 31 Mai 2015 - 8:19 | |
| Merci Jack pour ces commandes très utiles ! Apparemment, le COMMAND_TARGET_IS n'est pas encore implémenté pour les objets CONTAINER_TAB et TAB. Le positionnement d'un alpha diffère entre un CONTAINER_TAB et un CONTAINER. (Celui du CONTAINER_TAB est bien mieux ) - Code:
-
CONTAINER_TAB 1 : rem crée un support (container) LEFT 1,10: TOP 1,10
TAB 2 : rem crée une page (onglet) PARENT 2,1 : rem on attache cette page au support CAPTION 2,"Onglet 1" : rem titre pour la première page
TAB 3 : rem crée une nouvelle page PARENT 3,1 : rem on attache cette page au support CAPTION 3,"Onglet 2" : rem titre pour la deuxième page
CONTAINER 4 LEFT 4,10:TOP 4, 210
ALPHA 20 PARENT 20,2 CAPTION 20,"Essai onglet 1" COLOR 20,255,255,255
ALPHA 30 PARENT 30,3 CAPTION 30,"Essai onglet 2" COLOR 30,255,255,255
ALPHA 40 : PARENT 40,4 CAPTION 40,"Essai container" COLOR 40,255,255,255
| |
|
| |
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 1 Juin 2015 - 9:04 | |
| Génial Jack, je me mets à jour tout de suite. | |
|
| |
pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Ven 5 Juin 2015 - 6:28 | |
| bjr jack
la commande terminate continu a effectuer le bip
source
************************************* LABEL quitte
CONTAINER_TAB 20 : PARENT 20,0 : FULL_SPACE 20 TAB 30 : PARENT 30,20 : CAPTION 30,"TAB1" TAB 40 : PARENT 40,20 : CAPTION 40,"TAB2" button 41 : parent 41,40 : on_click 41,quitte
END
quitte: TERMINATE
************************************ bonne journée et merci | |
|
| |
Jack Admin
Nombre de messages : 2381 Date d'inscription : 28/05/2007
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Mar 9 Juin 2015 - 21:16 | |
| @papydall: Chez moi, le TERMINATE ne produit plus de bip, mais comme ce n'est pas le cas partout, je vais continuer à enquêter.
@Jean-Claude: ON_SHOW et OFF_SHOW ne sont pas spécifiques aux TAB. Ils s'appliquent aussi aux FORMs.
@Klaus: La fonction CAPTION$() a été oubliée. Elle est maintenant codée et fera partie de la prochaine version.
@Nardo26: La commande COMMAND_TARGET_IS a été elle aussi oubliée. Elle est maintenant codée et fera partie de la prochaine version. _________________ username : panoramic@jack-panoramic password : panoramic123 | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 51 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Mar 9 Juin 2015 - 22:25 | |
| | |
|
| |
Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Mar 9 Juin 2015 - 23:52 | |
| Merci pour ta réactivité, Jack ! | |
|
| |
Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Mer 10 Juin 2015 - 7:23 | |
| Merci pour ces réponses individualisées.
Bon courage. | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 55 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Mer 10 Juin 2015 - 9:52 | |
| Merci Jack ! Pour info : Chez moi (Win7, 64 bits), la commande TERMINATE produit de temps en temps des bips mais pas tout le temps... | |
|
| |
Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Mer 10 Juin 2015 - 9:58 | |
| Chez moi, sous W8.1, le programme suivant: - Code:
-
label fin button 1 : on_click 1,fin end fin: terminate fait le beep en cliquant sur le bouton ! Et je suis bien en V0.9.26i6. EDIT Le programme suivant a 2 boutons. Le bouton "Terminate" fait le boop, le bouton "Kill" n'en fait pas: - Code:
-
label fin1, fin2 dim res% button 1 : on_click 1,fin1 : top 1,10 : caption 1,"Terminate" button 2 : on_click 2,fin2 : top 2,40 : caption 2,"Kill" end fin1: terminate fin2: dll_on "KGF.dll" res% = dll_call1("KillProcessByHandle",handle(0))
Et voici la fonction qui réalise cela: - Code:
-
function KillProcessByHandle(hWindowHandle: HWND):integer; stdcall; export; // KGF64 var hprocessID: INTEGER; processHandle: THandle; DWResult: DWORD; begin try SendMessageTimeout(hWindowHandle, WM_CLOSE, 0, 0, SMTO_ABORTIFHUNG or SMTO_NORMAL, 5000, DWResult); if isWindow(hWindowHandle) then begin { Get the process identifier for the window} GetWindowThreadProcessID(hWindowHandle, @hprocessID); if hprocessID <> 0 then begin { Get the process handle } processHandle := OpenProcess(PROCESS_TERMINATE or PROCESS_QUERY_INFORMATION, False, hprocessID); if processHandle <> 0 then begin { Terminate the process } TerminateProcess(processHandle, 0); CloseHandle(ProcessHandle); end; end; end; finally end; result := 0; end; | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 55 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Mer 10 Juin 2015 - 10:30 | |
| Le bip est certainement une notification masquée du système (un warning ?...) qui n'apparait pas à l'écran. L'appel à KillProcessByHandle est "assez violent" (car cela revient à ouvrir le gestionnaire de tache et à tuer le process "manuellement") et je suppose que cela doit shunter la notification (d'où l'absence de bip). D'ailleurs, en passant par la fct KillProcessByHandle, qu'en est-il de la libération de la RAM ?. Je suppose que le noyau Panoramic doit faire de l'allocation mémoire dynamique, non ? | |
|
| |
Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 Mer 10 Juin 2015 - 11:29 | |
| Toute mémoire dynamique est libérée, les fichiers sont fermés, les DLLs sont libérées et déchargées si elle ne sont pas utilisées par d'autres processus. Le seul problème qui peut exister, c'est avec des fichiers partagés mappés en mémoire: d'éventuelles modifications en suspens ne sont pas répercutées dans la zone mémoire partagée et donc pas visibles pour les autres clients. Mais à ma connaissance, ce problème ne se pose pas avec Panoramic.
TerminateProcess est "asynchrone". Ce qui veut dire que la demande est faite à Windows, et la fonction retourne immédiatement. La terminaison proprement dite s'effectuera lorsque Windows a détecté la faisabilité (essentiellement si aucun autre processus n'a un handle ouvert vers le processus à terminer). Ce qui est toujours le cas avec un programme Panoramic. Donc, honnêtement, je ne vois pas ce qui pourrait poser problème avec cette technique.
Il serait tout à fait différent de vouloir arrêter MicroSoft Office ou Outlook de cette manière. Certes, ça va s'arrêter. Mais on ne peut pas garantir que l'arrêt a été "propre", si un traitement était en cours. | |
|
| |
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 15 Juin 2015 - 22:36 | |
| Un petit truc bizarre avec tab
Si le parent de container_tab + 1 tab est un panel que je colore, le tab prend la couleur du panel.
( je n' ai pas fait l' expérience sur un form simple )
Edit : comme la commande color N ne fonctionne pas sur un tab... | |
|
| |
Contenu sponsorisé
| Sujet: Re: Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 | |
| |
|
| |
| Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6 | |
|