FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Plugicielle pour Panoramic - Page 4 Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Plugicielle pour Panoramic - Page 4 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Plugicielle pour Panoramic - Page 4 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Plugicielle pour Panoramic - Page 4 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Plugicielle pour Panoramic - Page 4 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Plugicielle pour Panoramic - Page 4 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Plugicielle pour Panoramic - Page 4 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Plugicielle pour Panoramic - Page 4 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Plugicielle pour Panoramic - Page 4 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Plugicielle pour Panoramic - Page 4 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Plugicielle pour Panoramic - Page 4 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Plugicielle pour Panoramic - Page 4 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Plugicielle pour Panoramic - Page 4 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Plugicielle pour Panoramic - Page 4 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Plugicielle pour Panoramic - Page 4 Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment :
Smartphone Xiaomi 14 – 512 Go- 6,36″ 5G ...
Voir le deal
599 €

 

 Plugicielle pour Panoramic

Aller en bas 
+2
papydall
Jean Claude
6 participants
Aller à la page : Précédent  1, 2, 3, 4, 5  Suivant
AuteurMessage
Invité
Invité




Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyVen 13 Avr 2012 - 0:30

Merci Klaus, je partirais là dessus.
Pour l'instant je termine la représentation des lignes pour les erreurs dans les includes.

Ce que je ne sais pas encore, c'est comment je vais faire la sortie. Dans un fichier, dans un onglet. Peut-être faut-il pouvoir avoir les deux lectures: celle de la programmation, et celle codée pour Panoramic. Si tu as des noms pour les commandes qui te semblent appopriés, c'est le bien venu.

Demain c'est encore une dure journée, donc Sleep et merci pour ta participation.
Revenir en haut Aller en bas
Klaus

Klaus


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

Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyVen 13 Avr 2012 - 0:36

La sortie ? Peut-être dans un mémo séparé, éventuellement avec un bouton "Enregistrer sous..." ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyDim 22 Avr 2012 - 20:19

Retour sur ce programme!
Vu les problèmes rencontrés, dont j'ai déjà fait l'écho, après des tas d'essais pour avoir quelque chose de cohérent les problèmes de sauvegarde, et de relecture de fichiers qui devenaient bloqués, j'ai revu toute la structure et la méthode.
J'ai décidé de garder la structure d'AutoIt qui est indispensable pour agir sur l'éditeur, et j'ai fait une interface en Panoramic pour le fonctionnement.
Du coup, tous les problèmes ont disparu. Plus de problèmes de sauvegarde. Les commandes à venir pourront se faire depuis l'interface de Panoramic. Les commandes que je veux faire, comme des commandes pour les DLL, seront faites en Panoramic. Si un effet manque pour qu'une commande puisse fonctionner, je la ferais en Auto It (dans la mesure que c'est possible).
Aujourd'hui je mets une version stable d'Autoit et le programme Panoramic qui va avec. Vous allez penser que cela commence à faire beaucoup: l'éditeur Panoramic, le plugiciel Auto It, le programme Panoramic. Il faudra juste une fois tout mettre dans le même dossier, cliquez sur le plugin. C'est lui qui démarre le reste. À noter une chose: le programme Panoramic a une visibilité de 10 sur 255. J'ai eu des problèmes en mettant à Hide Panoramique, et j'ai laissé une visibilité minimum, vu qu'on ne le voie pas. Vous vous apercevrez de sa présence parfois, lors d'une sélection, une partie de celle-ci semblera non sélectionnée. Cela vient du fait que le complément Panoramic est dessus provisoirement, mais ne doit pas gêner, vu que le focus est rendu à l'éditeur, la commande finie.
Une info, ou une parenthèse: J'ai eu quelques soucis ces jours-ci avec Auto It, car si les paramètres sont mals réglés avec les clics de souris (ce qui n'est plus le cas maintenant), il est très difficile d'arriver le programme, vu que la souris va plus vite que le contrôle. Aussi j'ai eu l'idée de faire un programme particulier qui consiste à avoir une fenêtre en arrière-plan prenant tout l'écran, avec un bouton prenant aussi tout l'écran. Un clic sur ce bouton stop le programme. Si je vous en parle, c'est que je viens de faire l'essai pour Panoramic. Si cela vous intéresse, je peux vous mettre ce programme pour stopper un bouclage qui n'arrive pas à arrêter, sauf en passant par le gestionnaire de tâche. Un clic sur le bouton et on tue le programme qui ne répond pas.

Bon parle de ce plugin. On peut maintenant lancer un Programme Panoramic avec le bouton Run. Quel intérêt? Le programme n'étant pas lancé par Panoramic, mais par une fonction CHAIN, vous ne risquez plus de bloquer Panoramic, avec une erreur du type je ne sais plus très bien: impossible To load, ou Run impossible (je ne me rappelle plus de l'erreur) et qui fait perdre l'éditeur. En plus de cette façon on peut rajouter des commandes personnelles, ou des raccourcis, et c'est le programme Panoramic joint à Auto It, qui transforme le code.
La fonction RUN est complétée par la fonction Contrôle (en bas du plugiciel). Celle-ci permet lors d'une erreur signalée, de retrouver la ligne en cause. Il faut repérer le numéro de ligne, et un exemple: dans un programme avec des includes, erreur ligne 24: une fois cliqué sur ce bouton, un input box demande le numéro de ligne, et vous avez la représentation suivante:

Plugicielle pour Panoramic - Page 4 Form_lignes

On a trois lignes: la ligne précédente avec le chemin, et le nom du fichier, suivie du n° de cette ligne.
La ligne demandée, avec également le nom du fichier, est suivie du N° de la ligne, et le contenu. idem pour la ligne suivante. À noter la chose suivante: si vous avez utilisé le bouton RUN, le n° de la ligne est correct. Si vous avez utilisé: exécuter, il peut y avoir une différence si les lignes vides en fin de programme, ne correspondent pas au fichier. Ceci peut être le cas après un retour d'include.
Comment on procède? Vous récupérez le fichier zip, et vous mettez tout dans le même dossier: "c:\Panoramic-Init" obligatoire, c'est celui-là qu'AutoIt ira chercher.
J'ai fait une icône vite faite pour Auto It.

Le programme Panoramic a le nom de "Sauve_form_pour_autoit". Vous ne devez pas changer le caption et le nom du programme. C'est le programme AutoIt qui démarre "Sauve_form_pour_autoit" et Panoramic_Editeur. Ce dernier doit-être fermé, ou alors les onglets vides, car le plugiciel, ne pourraient pas retrouver le chemin des fichiers. Si vous fermez
Auto It, ou si celui-ci venait à bloquer, il n'y aurait pas de conséquence pour l'éditeur Panoramic, si ce n'est que les onglets ne sont reconnus que par Auto It, et que si la sauvegarde n'a pas été faite avant, il faudra refaire les sauvegardes pour le programme des onglets modifiés depuis.
Vous avez des fichiers de sauvegarde du dernier programme, si vous l'avez lancé avant. Il y a aussi la copie bak que
Panoramic fait si c'est dans les paramètres.

Je vais enfin pouvoir avancer dans ce qui m'intéresse le plus.
Le programme basic est pour l'instant unique, mais j'ai l'intention ensuite de le faire fonctionner comme un include,
afin de pouvoir faire des commandes qui ne soient pas enfermées dans le code.

J'ai une idée (dans la mesure, où certains d'entre-vous me suivent) pour les déclarations. Vu que l'interface Panoramic va servir à faire les commandes, et que ceux qui ont un intérêt ou une volonté d'en faire, c'est par exemple dans une variable, la définir ainsi: une lettre pour l'auteur (pour moi:"C." Klaus, s'il veut "K"..., une lettre préétablie pour la commande qui entre dans tout le programme de cette commande, suivi de l'espace "_", ensuite c'est comme on veut.

J'y ai mis trois petit programmes pour tester les includes, et la recherche de ligne. (modifiez les chemins pour les includes! (nom complet) et pas de variable!)
C'est en choisissant sur "Teste_Include.bas" comme programme de démarrage.

PENSEZ A FAIRE UN EXECUTABLE DU PROGRAMME PANORAMIC. (AutoIt recherche un exécutable, pas un fichier bas)

Voir le Fichier : 1.7z


Je vais enfin pouvoir jeter un oeil sur vos programmes.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyLun 23 Avr 2012 - 10:03

Wouah bravo pour les explications. Je testerais ce soir avant de commencer à jouer ... Smile Je te fais un retour juste après.
PS: puisque tu automatises, tu devrais inclure le programme de "remise en forme automatique" dans les options, je pense que je l'utiliserais plus si elle était intégrée à l'éditeur personnellement
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyLun 23 Avr 2012 - 10:41

Salut Cosmos,

Citation :
Comment on procède? Vous récupérez le fichier zip, et vous mettez tout dans le même dossier: "c:\Panoramic-Init" obligatoire, c'est celui-là qu'AutoIt ira chercher.

Peux-tu préciser, car sous XP les caractères : \ ne sont pas autorisés pour nommer un dossier.

J'ai déziper dans un dossier que j'ai nommé Plug en attendant, j'y ai ajouté une copie de panoramic.exe.

çà marche (sauf pour la sauvegarde à cause du nom de dossier) et je vois que tu as gagné en rapidité d'exécution.

A+
Revenir en haut Aller en bas
Klaus

Klaus


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

Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyLun 23 Avr 2012 - 11:06

Je suis sous XP et j'utilise le \ sans problème. Exemple, dans mon programme d'archivage:
Code:
dim crypto_dll$ : crypto_dll$ = "C:\temp\crypto.dll"
Si tu rencontres un problème, ça doit venir d'ailleurs - répertoire inexistant, droits d'accès inappropriés, etc.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyLun 23 Avr 2012 - 11:51

Bonjour,
Merci pour vous pencher sur ce programme.
@Jean-Claude: Je suis sous XP. Je suis surpris par tes problèmes, car sous XP et même les autres OS, la séparation des dossiers se fait par "\". Donc le problème vient d'ailleurs.

Normalement ce fichier devrait déjà être créé, vu que tu t'es servi du programme et que tu m'as déjà fait des retours.
C'est le premier fichier Panoramic, celui dans lequel tu sauvegardes les choix de Panoramic sur les couleurs et autres, qui créent ce dossier. Donc il devrait exister.

Maintenant les différentes sauvegardes et récupérations des fichiers sont dans ce dossier: "C:\Panoramic_Init"
Si au lancement, les choix sont récupérés, et cela se voit par les flaches sur le menu de Panoramic pour imposer les choix au démarrage, je ne vois pas le problème.

Le seul programme qui peut-être mis dans un autre dossier, est Auto It. Il ne se cherche pas (d'ailleurs chez moi, il n'est pas là, vu que j'ai un dossier différent, après l'envoi sur le forum, pour garder l'original du fichier source, et que je repars sur un nouveau dossier). Par contre les chemins sont imposés avec le nom du programme, et des fichiers. C'est déjà assez compliqué comme cela, et je suis parti sur ce principe.
Pour dézipper: le zip étant ouvert, tu ne fais aucune sélection dans la fenêtre, et tu extrais directement dans "C:\Panoramic-Init"
Et normalement cela doit fonctionner.

@Jicehel
Mon très gros problème, est le temps, et la fatigue de la journée. J'y ai pensé. Cela se fera surement dans un second temps. Par contre la prochaine fois, je mettrais un bouton, pour récupérer le fichier avec les includes dépilés dedans.

Là je vais voir pour les DLL. C'est déjà plus compliqué, vu qu'il faut déjà comprendre le fonctionnement de celles-ci, lire les explications, etc. Hier soir j'ai récupéré celles de Klaus sur ce qui vient de faire. Le point de départ est la mise en scène du programme pour la présentation des dlls. et comprendre comment faire des choses simples.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyLun 23 Avr 2012 - 12:53

Ok je crois que j'ai compris le problème,

Il s'agit d'appeler un chat un chat, il y a confusion entre nom d'un dossier et son chemin.

En faisant un nouvel essai j'ai perdu un code source complet (pas grave j'ai des copies), je vais tout mettre à la poubelle et recommencer la manip.

Je pense qu'il serait bon que tu nous décrive point par point l'installation.....

A+
Revenir en haut Aller en bas
Invité
Invité




Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyLun 23 Avr 2012 - 13:05

Ok Jean-Claude. Je referais toute la démonstration ce soir.
Normalement si tu as extrait dans un autre dossier, des simples copie/coller des fichiers de ton dossier, dans celui de "C:\Panoramic-Init" devrait suffire.
Dommage je n'ai pas le temps maintenant.
@+
Revenir en haut Aller en bas
Invité
Invité




Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyLun 23 Avr 2012 - 17:24

Je viens de m'apercevoir, qu'il manque un programme Panoramic, celui qui a la fonction Chain pour lancer à partir du bouton RUN.
Donc cette fonction ne peut fonctionner pour l'instant.
Je sauvegarde sur une clé, le contenu du dossier "c:\Panoramic_Init", pour voir la réception depuis le début.
Je fais l'ensemble des opérations, avec les démonstrations. Je mettrais l'ensemble ce soir normalement.
Revenir en haut Aller en bas
Invité
Invité




Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyLun 23 Avr 2012 - 19:46

J'ai refait le zip. À la réception, vous ouvrez le fichier texte d'explication.
J'ai rajouté le fichier manquant. J'ai refait l'installation au fur et à mesure du texte.
Chez moi, un clic sur le plugiciel fonctionne.

Ne pas hésiter s'il y a un problème.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyLun 23 Avr 2012 - 21:26

Chez moi, ça marche très bien Wink Beau boulot.
Je me demande ce que va donner la suite
Revenir en haut Aller en bas
Invité
Invité




Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyMar 24 Avr 2012 - 7:22

Merci pour ta réponse. Je ferais de mon meux.^^ (t'as vu, je t'imites) ^^
Revenir en haut Aller en bas
Invité
Invité




Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyMar 24 Avr 2012 - 18:18

Est-ce que l'un de vous peut me rappeler comment on récupère les mots-clés depuis Panoramic. ça un rapport avec ce programme.

@Jean-Claude
J'espère que tu n'as pas de problème car ton silence m'inquiète, vu les problèmes que tu as eus.
Je sais le service après-vente n'est pas à la hauteur. Sad
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyMar 24 Avr 2012 - 19:13

Non t'inquiète pas Cosmos, c'est que je n'ai pas réessayé, j'ai du monde à la maison pour la semaine et je suis un peu obligé de faire acte de présence. Very Happy
Revenir en haut Aller en bas
Invité
Invité




Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyMar 24 Avr 2012 - 19:18

Merci, tant mieux.
Vu l'heure bonne apéro:
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyMar 24 Avr 2012 - 21:05

Bonsoir cosmos, pour la liste des mots-clés tu peux regarder là: https://panoramic.1fr1.net/t1276-liste-des-mots-cle-de-panoramic-avec-leur-classification?highlight=mots+-cl%E9s (de Klaus)
Il y a eu plus tard une autre intervention de Nardo à ce sujet, mais avec une dll.
Revenir en haut Aller en bas
Invité
Invité




Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyMer 25 Avr 2012 - 0:24

Bonsoir, et merci JL35
Je ne suis pas du tout là-dessus, mais je me suis rendu compte qu'avec Auto It, la commande recherche et remplacement de Panoramic ne fonctionnait pas avec le plugin.

Je me suis demandé s'il ne serait pas possible de faire un écran avec toutes les lignes correspondant à un mot ne pouvait pas être affiché. Jusque-là pas de problème, mais ce qui serait bien, c'est d'avoir la possibilité de savoir si une variable ferait partie du nom d'un objet, ou autres. Si la distinction pouvait être faite, en un clic, on pourrait changer le numéro d'un objet, sans toucher aux variables, ou inversement. Je pense qu'il y aurait une idée là-dessus, à creuser.

Si l'un de vous a une très bonne idée, ou la volonté de faire un include qui s'adapte au programme: sauve_forme_pour_autoit.bas (le nom, n'est pas formidable, mais je voulais le reconnaitre parmi les autres que j'ai dans le dossier), cela me ferais plaisir. Il y a tellement de choses à faire.
Revenir en haut Aller en bas
Invité
Invité




Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyDim 29 Avr 2012 - 0:12

CONCERNE LE CHARGEMENT DES NOMS ET CHEMIN DES DLL DANS UN FICHIER


J'ai fait un programme pour avoir la liste et le chemin des DLL qui j'espère pourront avoir des commandes pour leurs manipulations. Il n'y a pas urgence, mais je gagnerai du temps en lemettant maintenant.

Voici comment cela se présente:
Plugicielle pour Panoramic - Page 4 Fenetre_DLL

Il faut cliquer sur le GRID VERT à gauche, sur une ligne. Cela fait apparaitre le numéro dans un cadre jaune. En cliquant sur ce numéro, une boite de dialogue pour les dossiers apparait (il faudra que je change le titre, un oubli)
Plugicielle pour Panoramic - Page 4 CheminDLL
Plugicielle pour Panoramic - Page 4 Boite_dialog

Pour revenir en arrière dans la boîte de dialogue, il faut cliquer sur les deux-points.
En recliquant sur la ligne de la grille, la liste des dlls apparaît. On peut tout sélectionner, ou désélectionner (bascule), et en cliquant sur une ligne, modifier une sélection. Au final, reste plus qu'à ajouter la liste dans le GRID de droite.
[url=https://sd-2.archive-host.com/membres/up/93503147062755081/EditeurPanoramic/liste_dll.jpg] Plugicielle pour Panoramic - Page 4 Liste_dll


On a le celui-ci. En cliquant sur une ligne, on déplace une barre de modification des textes. Le carré rouge, permet de recopier le nom directement de la ligne précédente. Au départ, tous les flags sont à zéro. Au fur et à mesure que le programme pour faire les commandes de dll est fait, on met le flag correspondant à 1.
Plugicielle pour Panoramic - Page 4 Barre_grid

PROGRAMME: (il y a un include compris dedans)
Spoiler:


Dernière édition par cosmos70 le Jeu 3 Mai 2012 - 3:33, édité 1 fois
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyDim 29 Avr 2012 - 1:03

Tu t'es éclaté ... bon, j'ai regardé un peu le programme fonctionne chez moi, je regarde demain les tenants et aboutissant, trop tard, ce soir ...
Revenir en haut Aller en bas
Invité
Invité




Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyDim 29 Avr 2012 - 2:05

Ce n'est pas que je m'éclate, mais moi je fonctionne aux idées. Quand j'en ai une, je ne peux pas m'empêcher de le mettre au point.
Ça fonctionne bien. Le seul défaut est qu'il faut que le nombre de lignes soit dans la page.
Autrement, pour une liste, on peut faire la comparaison entre item_index et la position du curseur. Pour une grille, il faut trouver autre chose. Je ne sais plus, mais il me semble que Jack avait parlé de commandes pour les clics. Je n'ai pas vérifié. On verra plus tard.
Revenir en haut Aller en bas
Invité
Invité




Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyDim 29 Avr 2012 - 19:11

Bon, j'ai pris le temps de faire des erreurs volontaires dans des includes, pour tester le programme, après avoir modifié la recherche d'une ligne, en cas d'erreur avec les includes.

Pour moi, c'est ok, au lieu de mettre une ou plusieurs minutes pour montrer la ligne en cause, celà met deux/trois secondes.

J'ai repris comme je crois l'avoir dit, le programme, pour s'adapter avec les includes. Donc il y a deux programmes, au lieu d'un: le lanceur qui est toujours:
"sauve_forme_pour_Autoit.bas", et le complément: "INCLUDE_Autoit_Pano.bas"

le programme: sauve_forme_pour_Autoit.bas". Il faudra faire un exécutable de ce programme.
Code:


' programme d'essai de sauvegarde pour AutoIt
left 0,100:width 0,900  :  error_french
caption 0,"Sauve_form_pour_autoit"
' ----------------- LABEL de départ pour INCLUDE_Autoit_Pano.bas ---------------
' label effacer,save,run,quit,cde ,copier ,err  ,ouvrir ,marque_ligne , ajout_marque, ligne_a_ligne ,suite_ligne_a_ligne
' ----------------- DIM de départ pour INCLUDE_Autoit_Pano.bas -----------------
dim fichier$ , cde% ,edit$ , er$ ,h, a$,b$, a%,f$ ,b% ,b1$ , objet% ,a1$ , c%,c$, flag% ,coller$
dim Dll$  :' dim pour les dll
' ---------mise en place code DLL-----------------------------------------------
' #INCLUDE "c:\Panoramic-Init\DEBUT_DLL.bas"

' ---------programme général pour AutoIt----------------------------------------
#INCLUDE "c:\Panoramic-Init\INCLUDE_Autoit_Pano.bas"
' résumé:
' MEMO 1: recoit le programme
' EDIT 10: $TFichier recoit le nom du fichier
' EDIT 11: $TCde par on_change, choisi la procédure
' EDIT 12: $Table recoit des infos qui peuvent être mises en list
' EDIT 13: $TCtrl pour envoyer un flag de retour si nécessaire
' EDIT 14: $TCount à l'origine, envoie le nb de lignes à lire, normalement plus utilisé
' LIST 15: pour l'assemblage des fichiers
' FORM 20 et PICTURE 21 pour montrer les lignes demandées. Détruit à chaque fois
' ---------------------------------------------------------------------------------------
' commande de EDIT 10: 1:efface le MEMO 1 | 2:sauvegarde
'                      3:run              | 4:quite
'                      5:copier          | 6:ouvrir
'                      7:marque_ligne    | 8:ligne à ligne (appelé par 7 / ou suite de 7)
' ----------------------------------------------------------------------------------------

et l'include: qui est le complément:

Code:


' programme include pour "sauve_forme_pour_autoit.bas"
' nommé: INCLUDE_Autoit_Pano.bas

label effacer,save,run,quit,cde ,copier ,err  ,ouvrir ,marque_ligne , ajout_marque, ligne_a_ligne ,suite_ligne_a_ligne
' dim fichier$ , cde% ,edit$ , er$ ,h, a$,b$, a%,f$ ,b% ,b1$ , objet% ,a1$ , c%,c$, flag% ,coller$


memo 1:full_space 1:font_size 1,10 :top 1,25:width 1,3000:color 1,253,253,217:font_name 1,"Fonts"
height 0,height(0)+65  :' width 0,width (0) +300 :left 1,300
main_menu 2
sub_menu 3  :parent 3,2:caption 3,"&fichier"
  sub_menu 4:parent 4,3:caption 4,"&effacer"
  sub_menu 5:parent 5,3:caption 5,"&save"
  sub_menu 6:parent 6,3:caption 6,"&run"
  sub_menu 7:parent 7,3:caption 7,"&quit"

EDIT 10:width 10,150:font_size 10,10:'  $TFichier
edit 11:left 11,160:width 11,50:'        $TCde
EDIT 12:left 12,220:width 12,150:'      $Table
EDIT 13:left 13,380:width 13, 50:'      $Tctrl
EDIT 14:left 14,440:width 14, 50:'      $Tcount

list 15: top 15,25:left 15,700:width 15,180:height 15,250:hide 15:' assemblage des fichiers
dlist 16:' width 16,50:height 16,430:top 16,25
dlist 17:' left 17,60:top 17,25:width 17,210:height 17,430

on_click 4,effacer
on_click 5,save
on_click 6,run
on_change 11,cde

end
' ----------------------------------------------------
err:
  er$="erreur depuis 'sauve_forme_pour_autoit.bas'"+ chr$(13) + "ligne:"+str$(error_line)+"  "+error_type$
  message er$
  on_change 11,cde
return
' ----------------------------------------------------
cde:
  cde%=val(text$(11))
  off_change 11
  fichier$=text$(10)
  edit$=text$(12)
  text 11,""

  select cde%
      case 1 :gosub effacer
      case 2 :gosub save
      case 3 :gosub run
      case 4 :gosub quit
      case 5 :gosub copier
      case 6 :gosub ouvrir
      case 7 :gosub marque_ligne
      case 8 :gosub ligne_a_ligne
  end_select
return
' ----------------------------------------------------
ligne_a_ligne:
  ' commande 8
  ' on va ajouter une forme avec picture, pour remplacer richedit

  form 20:top 20,100:width 20,screen_x:height 20,220:caption 20,"Vu sur des lignes du programme":border_small 20
  on_close 20,suite_ligne_a_ligne :HIDE 20

  picture 21:parent 21,20:full_space 21:font_name 21,"Bitstraem_Vera Sans_Mono":print_target_is 21 : font_size 21,14
  2d_target_is 21:color 21,240,240,236  :h = 30

  if count(1) >0
      a$ = message_input$("Recherche ligne","quelle ligne demandez-vous","")
      SHOW 20  :  to_foreground 20
      if numeric(a$)=1
        font_color 21, 0,0,255:font_bold 21 : print_locate screen_x /2 - 110,10 :2d_fill_color 255,255,0
        print " Vu sur des lignes du programme "  : font_bold_off 21
        a%=val(a$)
        if a%>1 and a%<=count(1)
            font_size 21,11

          ' 1ère ligne la précédente demandée---------------------------------
            a%=a%-1
            2d_fill_color 243,236,223:2d_pen_color 243 ,236, 223
            2d_rectangle 0,10+h,width(21),50+h : font_color 21,255,0,0 :' pour le fichier et le numéro
            a$ = item_read$(1,a%)

              c%= val(item_read$(16,a%)):c$= right$("    "+str$(c%) ,5)

              print_locate 50,12+h:print item_read$(17,a%) :' fichier$
              print_locate  5,30+h:print c$ +" ";
              font_color 21,0,0,255  :  print a$


            ' 2ème ligne, celle demandée----------------------------------------
              a%=a%+1
              2d_fill_color 255,255,163:2d_pen_color 255, 255, 163
              2d_rectangle 0,60+h,width(21),100+h : font_color 21,255,0,0 :' pour le fichier et le numéro
              a$ = item_read$(1,a%)

              c$ = item_read$(16,a%) :' n° de ligne
              c%= val(c$):c$= right$("    "+str$(c%),5)

              print_locate 50,62+h:print item_read$(17,a%)  :' fichier
              print_locate  5,80+h:print c$ +" ";
              font_color 21,0,0,255  :  print a$


            ' 3ème ligne, celle demandée----------------------------------------
              a%=a%+1
              2d_fill_color 243,236,223:2d_pen_color 243, 236, 223
              2d_rectangle 0,110+h,width(21),150+h : font_color 21,255,0,0 :' pour le fichier et le numéro
              a$ = item_read$(1,a%)

              b$ = mid$(a$,b%+5,len(a$))
              c$ = item_read$(16,a%) :' n° de ligne
              c%= val(c$):c$= right$("    "+str$(c%),5)

              print_locate 50,112+h:print item_read$(17,a%) :' fichier
              print_locate  5,130+h:print c$ +" ";
              font_color 21,0,0,255  :  print a$
              caption 20,"cliquez sur la fenêtre pour continer"

              2d_pen_width 1  :  2d_pen_color 140,140,140 : 2d_pen_solid  : 2d_line 40,0,40,255
              END
suite_ligne_a_ligne:
off_click 20
            end_if  :' / b%>0

      end_if        :' / numeric(a$)=1
  end_if          :' / count(1) >0
  delete 20
  text 13,"ok"
  on_change 11,cde
return
' ----------------------------------------------------
run:
'  fichier$=  "z:\Teste_Include.bas"
clear 1
' item_add 1,edit$
coller$ = clipboard_string_paste$
item_add 1,coller$
on_error_goto err
 '  if file_exists(fichier$) =1
 '    file_load 1,fichier$

      rem "=========== a partir d'ici je reprend le fichier =============="
' on regarde chaque ligne du programme, on regarde si il y a un INCLUDE,
' si c'est le cas, on met le flag à 1, et on ajoute chaque ligne de l'include,
' on ajoute le reste.
' on recommence tant que le flag est à 1
      if count(1) >0
        repeat
            flag%=0 : a%=1
            repeat
              a$=item_read$(1,a%):b$=  UPPER$(Ltrim$(a$) )
              if left$( b$  ,9) ="#INCLUDE "
                  f$=mid$(a$, instr(a$,chr$(34)) +1,len(a$))
                  f$=left$(f$, instr(f$,chr$(34))-1)
                  if file_exists(f$) = 1
                    file_load 15,f$
                    item_delete 1,a% :' ne rentre pas dans le compte de ligne
                  else
                    message "fichier:"+f$+"  pas trouvé" :on_change 11,cde
                    flag%=-1
                    text 13,"nul"
                    exit_repeat
                  end_if
                  ' on lit chaque ligne du dlist 15, si il y a include, le flag est mis à 1
                  if count(15) >0
                    for b%=1 to count(15)
                        b$ = item_read$(15,b%) :b1$ =  UPPER$(Ltrim$(b$) )
                        if left$( b1$  ,9) ="#INCLUDE " then flag%=1
                        item_insert 1,a%,b$ :' on insère à partir de l'appel de l'INCLUDE
                        a%=a%+1
                    next b%
                    ' fin d'inclusion
                  end_if
              end_if
              a%=a%+1
            until count(1) < a%  or scancode =27
            if flag%=-1 then return
        until flag%=0 or scancode =27
      else
        text 13,"nul" : return
      end_if
      rem "=========== la reprise du fichier est faite ==================="

      file_save 1,"C:\Panoramic-Init\lancement_Run.bas"
      repeat : wait 250: until file_exists("C:\Panoramic-Init\lancement_Run.bas") =1 or scancode =27
      wait 100
      execute_wait "C:\Panoramic-Init\Fonction_Exécute_Panoramic.exe"
      text 13,"ok"

  on_change 11,cde
return

' ----------------------------------------------------
marque_ligne:
  ' appel par 7
  ' fichier$=  "z:\Teste_Include.bas"
  on_error_goto err
  clear 1:clear 16:clear 17
        coller$ = clipboard_string_paste$
    item_add 1,coller$
          ' ========================================================================
      if count(1)>0
        flag%=0
        for a%=1 to count(1)
            a$=item_read$(1,a%)
            if left$(trim$(upper$(a$))  ,9)="#INCLUDE " then flag%=1
            item_add 16,a% : item_add 17,fichier$
        next a%

        while flag%=1
            flag%=0 :a%=1
            repeat
              a$ = item_read$(1,a%)
              if left$(trim$(upper$(a$))  ,9)="#INCLUDE "
                  flag%=1
                  item_delete 1,a% : item_delete 16,a% : item_delete 17,a%:' on enlève la ligne include
                  fichier$=mid$(a$, instr(a$,chr$(34))+1,len(a$))
                  fichier$=left$(fichier$,len(fichier$)-1)
                  if file_exists(fichier$) = 1
                    file_load 15,fichier$
                    if count(15)>0
                        for b%=1 to count(15)
                          b$=item_read$(15,b%)
                          item_insert 1,a%,b$ : item_insert 16,a%,str$(b%):item_insert 17,a%,fichier$
                          a%=a%+1
                        next b%
                    end_if
                  else
                    message "erreur: impossible de trouver:"+fichier$
                    text 13,"nul" : exit_while
                  end_if
              end_if
              a%=a%+1
            until a%>count(1)
        end_while
      end_if
      on_change 11,cde
      if text$(13) <> "nul" then text 11,8
return
' ----------------------------------------------------
ajout_marque:

        for a%=1 to count(objet%)
            a$=item_read$(objet%,a%):a1$=trim$(upper$(a$))
            if left$(a1$,9)="#INCLUDE "
              flag%=1
            else
              if instr(a1$," ")= 0 and right$(a1$,1)=":"
                  ' label
              else    :' ('¦'=204 '-'=205)    '¦'=219          '¦'  221; marqueur de repérage
                  a1$=  ":' "+chr$(204)+chr$(205) + fichier$ +  chr$(219) + str$(a%) + chr$(221)
                  item_delete objet%,a% : item_insert objet%,a%,a1$+a$
              end_if
            end_if
        next a%
return
' ----------------------------------------------------
effacer:
  clear 1
  on_change 11,cde
return
' ----------------------------------------------------
save:
  on_error_goto err
  clear 1
  item_add 1,edit$
  file_save 1,"C:\Panoramic-Init\copie.bas"
  if file_exists(fichier$) = 1  then file_delete fichier$
  file_save 1,fichier$
  text 13,"ok"
  on_change 11,cde
return
' ----------------------------------------------------
ouvrir:
  on_error_goto err
  clear 1
  if file_exists(fichier$) = 1  then  file_load 1,fichier$
  on_change 11,cde
return
' ----------------------------------------------------
copier:
  clear 1
  item_add 1,edit$
  file_save 1,"z:\on regarde.bas"
  on_change 11,cde
return
' ----------------------------------------------------
quit:
terminate

La prochaine fois, lorsque j'aurai fait une ou deux commandes, je ferais en sorte de mettre les includes de ce programme, dans un dossier à part. Cela sera plus lisible.
Revenir en haut Aller en bas
Invité
Invité




Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyLun 30 Avr 2012 - 9:46

COMMANDE EN TESTE POUR INCLURE ENSUITE DANS LE PLUGIN



mise à jour à 19h40 le 30 avril 2012: ajout de Nb_coord%

Bonjour,
Je viens de faire à titre d'essai, un codage pour l'instruction EXPLODE.
La commande est "@IF_EXPLODE". Pourquoi IF_? pour bien faire comprendre que c'est une instruction qui nécessite plusieurs lignes de remplacement, et que IF_ à pour effet que justement avec IF... THEN, ne doit pas être utilisé.
Normalement avec une instruction comme DEFINIR, c'est différent, vu que HIDE WIDTH ou autre, peut être misent sur une ligne.

Code:


' essai de faire une commande:
label explode, traitement
dim fichier$ , cde% ,edit$ , er$ ,h, a$,b$, a%,f$ ,b% ,b1$ , objet% ,a1$ , c%,c$, flag% ,coller$
top 0,50 :width 0,800
' ------------------------------------------------------------------------------
dim n%      :' variables génériques de la fonction
dim commande$:' chaines contenant les mot-clés
dim pref$    :' préfixe de @EXPLODE  ce qui est avant
dim trait$  :' traitement de la commande
dim separ$  :' caractère de séparation
dim ch$      :' la partie chaine d'explode

' les commandes s'ajoutent au fur et à mesure de leur création dans cette chaine, pour tester avec INSTR(, leur existance
commande$="FI_EXPL DEFINIR"
'          DEFINIR
'          123456789012345
' ensuite il suffira d'avoir un tableau de position dans cette chaine, pour trouver de suite la bonne
' position 1 pour IF_EXPLODE, position 9 pour DEFINIR

' semblant de programme
memo 40 :width 40,500
item_add 40,"dim chaine$, coord$(10) ,explode%,explode$,v_explode%,copie$,separ$,a%,Nb_coord%"
item_add 40,"chaine$ = "+chr$(34)+ "nom|prénom|adresse|téléphone"+chr$(34)
item_add 40,"coord$ = @FI_EXPLODE("+chr$(34)+"|"+chr$(34)+",chaine$)"
item_add 40,"for a%=1 to Nb_coord%:print coord$(a%):next a% "
memo 41:width 41,750:top 41,100 :height 41,220

memo 42:width 42,600:top 42,335

dim chaine$, coord$(10)
chaine$="nom|prénom|adresse|téléphone"
' on arrète ici pour commentaire
on_click 40,traitement
end

' fonction explode
' on reçoit:
chaine$="nom|prénom|adresse|téléphone"
coord$ = FI_EXPLODE("|",chaine$)

traitement:
  off_click 40
  for a%=1 to count(40)
      a$=item_read$(40,a%)
      n%= instr(a$,"@")
      if n%>0
        item_add 42,mid$(a$,n%+1,7)
        n%=instr(commande$,mid$(a$,n%+1,7))
        if n%>0
            select n%
              case 1:gosub EXPLODE
              case 9:' gosub DEFINIR
             
            end_select
        end_if
      ' --------------------------------------
      else
        item_add 41,a$
      end_if
  next a%
return
' =====================================
la commande EXPLODE nécessite plusieurs lignes pour le remplacement, et toutes les commandes nécessitant pluiseurs lignes, commenceront
par IF. au contraire d'une commande DEFINIR, qui permet de tout mettre sur une même ligne le remplacement
' la commande explode commence par IF pour bien montrer qu'il y a plusieurs lignes, et que IF ...THEN ne doit pas être utilisé
EXPLODE:
  n%=instr(a$,"@FI_EXPLODE(")
  pref$ = trim$(left$(a$,n%-1)) : if right$(pref$,1)= "=" then pref$=trim$(left$(pref$,len(pref$)-1))
  item_add 42,"pref$="+chr$(9)+pref$
  ' --- maintenant on traite la partie EXPLODE

  trait$= mid$( a$,n%+12,len(a$))
  item_add 42,"trait$="+chr$(9)+trait$


  separ$ = left$(trait$, instr(trait$,",")-1)
  item_add 42,"separ$="+chr$(9)+separ$
  ch$= mid$(trait$, instr( trait$,",")+1,len(a$)) : ch$= left$(ch$,len(ch$)-1)
  item_add 42,"ch$="+chr$(9)+ch$
 
  ' ---------------------------------------------------------------------------
  item_add 41,"separ$="+ chr$(34) + separ$  +chr$(34)
 
  ' ---------------------------------------------------------------------------
  item_add 41,"":item_add 41,"explode%=1:copie$="+ch$
  item_add 41,"if right$(copie$,1)<> separ$ then copie$ = copie$ + "+chr$(34)+separ$+chr$(34)
  item_add 41,"repeat"
  item_add 41,"  v_explode%=instr(copie$,"+ chr$(34)+  separ$+chr$(34) +")"
  item_add 41,"  if v_explode%>0 then " + pref$  +"(explode%)=left$(copie$,v_explode%-1):copie$=mid$(copie$,v_explode%+1,len(copie$)):explode%=explode%+1"
  item_add 41,"until v_explode%=0:Nb_coord%=explode%-1"
return




Quand pensez-vous?
Avant de l'inclure, il faut que je vérifie entre les variables, et autre du programme qui va avec AutoIt.

Le résultat est dans le memo du milieu.


Dernière édition par cosmos70 le Jeu 3 Mai 2012 - 3:39, édité 2 fois
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyLun 30 Avr 2012 - 10:26

Bonjour Cosmos, j'ai un peu de mal à voir comment ça s'intègre tout ça.
Si j'ai bien compris, dans ton dernier programme, il y aura toutes les commandes.
Pour les utiliser, on intégrera le programme en include.
Je dis ça, car dans ta librairie, pour moi, tu veux faire trop de chose.
Tu mets les exemples dans le code, mais ça pour moi, c'est un autre programme.
Dans la librairie, selon moi, tu dois avoir le minimum pour avoir un minimum de variables et d'objets définis.
Par contre pour la fonction IF_EXPLODE, je pense que tu peux récupérer aussi le nombre de chaines trouvées, pour une chaine longue ça devient intéressant (si j'ai compris le principe, tu pourrais l'appeler Nb_coord% par exemple pour une chaine qui serait coord$)
Revenir en haut Aller en bas
Invité
Invité




Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 EmptyLun 30 Avr 2012 - 10:51

Je réponds en vitesse, je vais partir.
Pour l'instant le programme n'est pas dans le plugiciel. Pour cela il faut que je fasse le découpage, entre trouver une fonction, et la fonction qui elle sera en include.
Il y a déjà une partie de faite avec la variable commande qui permet de voir d'un coup d'oeil si une fonction prédéfinie est là.
Pour l'instant c'est un teste. Le but est de récupérer la commande, de la retirer, et de remplacer le code par quelque chose que Panoramic puisse lire.
Citation :
je pense que tu peux récupérer aussi le nombre de chaines trouvées
Je lis un peu vite, je n'ai pas compris.
Salutation, je pars
Revenir en haut Aller en bas
Contenu sponsorisé





Plugicielle pour Panoramic - Page 4 Empty
MessageSujet: Re: Plugicielle pour Panoramic   Plugicielle pour Panoramic - Page 4 Empty

Revenir en haut Aller en bas
 
Plugicielle pour Panoramic
Revenir en haut 
Page 4 sur 5Aller à la page : Précédent  1, 2, 3, 4, 5  Suivant
 Sujets similaires
-
» Aide-mémoire des mots-clés Panoramic
» Logithèque : une base de données en Panoramic pour Panoramic
» Des DLL pour Panoramic ?
» Des DLL pour Panoramic
» POUR PANORAMIC

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: