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.
Lanceur pour l'éditeur Panoramic Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Lanceur pour l'éditeur Panoramic Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

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

» Décompilation
Lanceur pour l'éditeur Panoramic Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Lanceur pour l'éditeur Panoramic Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Lanceur pour l'éditeur Panoramic Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Lanceur pour l'éditeur Panoramic Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Lanceur pour l'éditeur Panoramic Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Lanceur pour l'éditeur Panoramic Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Lanceur pour l'éditeur Panoramic Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Lanceur pour l'éditeur Panoramic Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Lanceur pour l'éditeur Panoramic Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Lanceur pour l'éditeur Panoramic Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Lanceur pour l'éditeur Panoramic Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Lanceur pour l'éditeur Panoramic 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 à ne pas rater :
LEGO Icons 10331 – Le martin-pêcheur
35 €
Voir le deal

 

 Lanceur pour l'éditeur Panoramic

Aller en bas 
AuteurMessage
Invité
Invité




Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptyJeu 14 Nov 2013 - 23:41

Voici un petit programme écrit au AutoIt qui a seulement pour but de remplacer le lancement de notre éditeur, et provoquer parfois des plantage de celui-ci.
Ce programme ne fait aucun mal à l'éditeur Panoramic. Il n'agit qu'avec des clics pour forcer le focus, et des commandes de touches comme <CTRL><a> pour tout sélectionner, <ALT> et les touches du menu pour agir.

Une chose , pour ne pas se perdre avec l'emplacement du curseur, je me sers d'un signet: <CTRL> et 0 pour connaitre la position du curseur, et remettre celui-ci après sélection totale, sinon, on reste en bas du programme.

De plus il faut créer un dossier à la racine "C", et nommé "C:\PANORAMIC-INIT\", car j'ai besoin d'information:
- le chemin complet de l'éditeur Panoramic, le programme recherche Panoramic, ou l'ouvre si ce n'est pas le cas. Il suffira de regarder le contenu du zip pour comprendre.

CE programme a été fait en partie avec ce que j'avais publié: Plugiciel pour Panoramic, mais celui-ci a parfois des problèmes, et c'était bien dommage.

Ici ce n'est plus le cas, mais j'ai ajouté une sauvegarde des styles que l'on doit régler à l'ouverture de Panormic. Pour ce faire j'ai repris le programme qui avait été fait. Il s'appelle ici:
Sauvegarde_style.bas.
Vous le lancez, et répondez à tous les styles, et cela est sauvegardé dans PANORAMIC-INIT

En plus du programme, il faut faire un exe du lanceur qui remplace le RUN de Panoramic. Celui-ci est inclut dans le zip, mais il ne faut pas perdre le fichier .bas, car à la nouvelle édition de Panoramic, il faut refaire la compilation pour bénéficier des nouvelles fonctions.

Je n'ai pas réussi avec AutoIt, d'inclure un bouton dans l'éditeur. Il me semblait avoir réussi une fois, mais là je n'ai pas su. Donc le programme Autoit se trouve au dessus, et il faut laisser un décalage pour avoir accès au bouton.

Voir le Fichier : PANORAMIC-INIT.7z

Ah oui! Il y a deux versions pour AutoIt: pour 32 et 64 bits.
J'ai pas pu tester la version 32 bits, j'espère que ça fonctionne.

Sur le programme il y a trois boutons: RUN, choix initial et quitter.
En fait le 2ème bouton, ne sert pas, vu qu'au démarrage j'ai fait le lien pour que les styles soient enclenchés. Quand au bouton quitter, j'ai fait aussi en sorte que lorsqu'on ferme Panoramic, cela ferme AutoIt. Donc normalement il n'est pas utile.

EDIT: J'ai pas pu tester voir si cela fonctionnait bien avec des includes. J'ai envoyé sans y penser.


Dernière édition par cosmos70 le Sam 16 Nov 2013 - 19:38, édité 2 fois
Revenir en haut Aller en bas
Klaus

Klaus


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

Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptyVen 15 Nov 2013 - 0:59

Merci, Cosmos70. J'ai téléchargé et je prendrai le temps de regarder ça.

EDIT

Les tests sont faits.

J'ai adapté Sauvegarde style.bas" pour pouvoir choisir mon éditeur - facile. J'ai remplacé la ligne 37 par
Code:
open_dialog 13:filter 13,"Panoramic_editeur|*.exe" : ' PANORAMIC_EDITOR.exe"
et le tour était joué.

Mais "Lancer un run_editeur_PANO.au3" pose problème: il n'aime pas du tout mon nom de fichier pour l'éditeur PAnoramic. Voici le contenu de mon Panoramic.ini qui est correct:
Citation :
C:\Program Files\Panoramic Editor V 0.9.24\PANORAMIC_EDITOR V0.9.25i4.exe
Le programme AutoIt m'affiche un message d'erreur "Cannot open file V0.9.25i4.exe", puis lance la version de l'éditeur qui s"appelle simplement "C:\Program Files\Panoramic Editor V 0.9.24\PANORAMIC_EDITOR.exe".

Par contre, si je lance mon éditeur manuellement, puis ensuite seulement "Lancer un run_editeur_PANO.au3", tout se passe bien, et le bouton "Run" fonctionne parfaitement en lançant le programme contenu dans l'onglet actif. Exactement ce que je voulais.

Aurais-tu un moyen de faire de sorte que AutoIt reconnaisse le nom de fichier avec un espace dedans ? Si ce n'est pas possible, ce n'est pas grave -déjà comme ça, ça résoud parfaitement mon problème de test de 2 ou plusieurs programmes simulténement, sans conflit.

Un grand Merci, Cosmos70 ! Belle inventivité !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptyVen 15 Nov 2013 - 5:30

Merci pour les testes Klaus.
Pour ce qui est de filter, tu as raison. Sur mon ancien ordi celà fonctionnait, mais sur celui-ci, même problème, et ta solution fonctionne.
Ce programme était fait pour Plugiciel, et je l'ai repris tel-quel.

Ensuite pour les espaces, cela fait plusieurs année que j'évite les dossiers avec les espaces à cause de execute. Je ne savais pas qu'AutoIt avait le même problème. Avant d'aller plus loin dans la recherche, à tu essayé les noms courts?

Maintenant à la lecture de ta réponse, je vois que tu as lancé autoIt par le fichier .au3 . Je sais pour les essais avec le mode 64 bits, tu as téléchargé AutoIt, mais c'est pas le cas de tous le monde. J'ai besoin d'un rapport avec la version exe de 32 bits. Maintenant il peut y avoir une vue mineur par rapport avec au. J'ai fais quelques changements (juste pour la présentation) dans le programme AutoIt.

C'est pas évident, je ne peux pas faire directement la version 32 bits depuis mon ordi 64bits. Il y a un problème de fichier. Donc je reporte sur une clé usb pour la version 32 bits pour faire la compilation d'un xp.
Ensuite je reprends la clé pour reprendre le programme. Mais pour faire un zip, je ne peux pas à cause de droits, faire un zip, directement en c:\PANORAMIC-INIT: Pour cela j'ai installé il y a quelque temps un profil administrateur sur mon W7. Je suis donc obligé de changer d'utilisateur et prendre administrateur, pour faire la compile. Ensuite je me suis aperçu que le zip dans ma session normal, n'était pas visible. Il a fallu que je retourne dans mon administration pour mettre le zip dans le dossier PANORAMIC-INIT pour enfin pouvoir le lire et l'envoyé. Avant de changer, j'aimerai connaitre le résultat.
Revenir en haut Aller en bas
Klaus

Klaus


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

Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptyVen 15 Nov 2013 - 8:59

Je suis sous XP SP3 32 bits. Et avec "Lancer un run_editeur_x86.au3", j'ai exactement mem^meme comportement qu'avec le au3. Ce qui paraît normal.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptyVen 15 Nov 2013 - 12:47

Bonjour
J'ai pas eu le temps de regarder quoi que ce soit.
Citation :
Aurais-tu un moyen de faire de sorte que AutoIt reconnaisse le nom de fichier avec un espace dedans ?
As-tu fais l'essai avec des noms courts? Sinon je regarderais.

Une chose, j'ai fais un copie-coller pour que chain intègre les includes dans le code, mais j'ai été pris ailleurs, et je n'ai pas testé. Je ne peux pas le faire maintenant, et je vais bientôt partir.  Si quelqu'un peu faire l'essai ou mettre au point cette partie du code si cela ne marche pas. Autrement je regarderai lorsque j'aurai le temps.
Revenir en haut Aller en bas
Klaus

Klaus


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

Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptyVen 15 Nov 2013 - 13:00

Je vais tester ça.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptyVen 15 Nov 2013 - 23:22

J'ai testé avec un #INCLUDE, et il y a un problème.

Mon programme de test est celui-ci:
Code:
width 0,800

xScrollBar(10,10,200,0,0,0,10,300)
xTrackBar(40,10,200,0,0,0,10,300)
xProgressBar(70,10,200,0,0,0,10,300)
xSpin(100,10,200,0,3,7)

xGrid(10,300,400,150,0,0,0,0,0)
xList(170,300,400,150,0)

xForm(300,400,0,0,0,"Test")

end

#INCLUDE "KGF_OBJ.bas"
et KGF_OBJ.bas (dans le même dossier que le source de mon programme):
Code:
' KGF_OBJ.bas

' Ce fichier implémente la création normalisée d'objets,
' visuels ou non  Les objets visuels sont inclus ici pour
' être intégrés dans la gestion automatisée des numéros d'objets.
' Il n'y a rien d'autre à insérer dans le programme.

' ############# ici, le #INCLUDE KGF_OBJ.bas contenant tout ce qui suit #########
' ===============================================================================
' interface de procédures autour de KGF.dll
' Auteur: Klaus
'
' Objets visuels gérés:
'  alpha  edit  button  combo  container      container_option
'  memo  list  check  image  scene2d        scene3d
'  scroll_bat  track_bar      progress_bar  spin
'  sub_menu    grid          option        list
'  form
'
' Objets non visuels gérés:
'  Main_Menu    Sound  Movie  Open_Dialog    Save_Dialog
'  Dlist        Timer  Image

' =============== dipatching des fonctions ====================================
message "KGF: on ne peut pas executer ce module directement !"
terminate

' =============== objets visuels =============================================


' paramètres: (top,left,width,height,caption)
sub xContainer(t%,l%,w%,h%,c$)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : container no%
    top no%,t% : left no%,l% : width no%,w% : height no%,h%
    caption no%,c$
end_sub

' paramètres: (top,left,width,height,parent,caption)
sub xContainer_Option(t%,l%,w%,h%,p%,c$)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : container_option no%
    top no%,t% : left no%,l% : width no%,w% : height no%,h%
    caption no%,c$
    if p%>0 then parent no%,p%
end_sub

' paramètres: (top,left,parent,fontsize,caption)
sub xAlpha(t%,l%,p%,s%,s$)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : alpha no%  : caption no%,s$
    font_size no%,s%
    top no%,t% : left no%,l%
    if p%>0 then parent no%,p%
end_sub

' paramètres: (top,left,width,parent,inactive)
sub xEdit(t%,l%,w%,p%,a%)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : edit no%
    top no%,t% : left no%,l% : width no%,w%
    if p%>0 then parent no%,p%
    if a%=1 then inactive no%
end_sub

' paramètres: (top,left,width,parent,inactive,mask,userset)
' mask est un masque de saisie
' userset est un jeu de caractères donné par l'utilisateur.
' Les caractères suivants représentent des jeux de caractères spéciaux:
'  9 = chiffre 0...9
'  A = lettre majuscule ou espace
'  a = lettre minuscule ou espace
'  $ = lettre minuscule ou majuscule ou espace
'  X = code hexadécimal en majuscules
'  x = code hexadécimal en minuscules
'  * = tout caractère
'  U = contenu du paramètre userset
' tous les autres caractères sont imposés tels quels à leur place
' Exemples:
'  numéro de sécurité sociale: 9.99.99.999.999.99
'  Nom propre: A$$$$$$$
'  Numéro de téléphone: 09U99U99U99U99  avec userset = " ."
sub xEditMask(t%,l%,w%,p%,a%,m$,u$)
  if m$<>""  : ' au premier appel, création de tout ce qu'il faut
    if variable("mask_list%")=0
      dim mask_list%(3),  mask_temp$, mask_n%
      dim mask_c$, mask_ci%, mask_set$
      dim mask_i%, mask_m$, mask_s$
      dim mask_codes$ : mask_codes$ = "9Aa$Xx*U"
      dim mask_masks$(7)
      mask_masks$(1) = "01234567890"
      mask_masks$(2) = "ABCDEFGHIJKLMNOPQRSTUVWXYZ "
      mask_masks$(3) = "abcdefghijklmnopqrstuvwxyz "
      mask_masks$(4) = mask_masks$(2) + mask_masks$(3)
      mask_masks$(5) = mask_masks$(1) + "ABCDEF"
      mask_masks$(6) = mask_masks$(1) + "abcdef"
      mask_masks$(7) = u$
      no% = no% + 1 : dlist no% : mask_list%(1) = no%  : ' liste des numéros d'objet
      no% = no% + 1 : dlist no% : mask_list%(2) = no%  : ' liste des masques
      no% = no% + 1 : dlist no% : mask_list%(3) = no%  : ' liste des valeurs anciennes
    end_if
    if label("mask_change")=0 then label mask_change, mask_change_1
  end_if      : ' ici, on a fini de créer tout ce qu'il faut
  if variable("no%")=0 then dim no%
  no% = no% + 1 : edit no%
  top no%,t% : left no%,l% : width no%,w% : ' créer l'objet Panoramic
  if p%>0 then parent no%,p%              : ' autre parent que form 0 ?
  if a%=1 then inactive no%              : ' le EDIT doit être inactif au début ?
  if m$<>""                            : ' si un filtre est demandé, alors
    on_change no%,mask_change          : ' on utilise l'évènement On_CHANGE
    item_add mask_list%(1),str$(no%)    : ' on ajoute le numéro d'objet dans une 1ère liste
    item_add mask_list%(2),m$          : ' on ajoute le filtre dans une 2ème liste
    item_add mask_list%(3),""
  end_if                                : ' fin du traitement du filtre
end_sub
mask_change:                            : ' évènement ON_CHANGE sur EDITs maskqués
  mask_temp$ = str$(number_change)      : ' prendre le numéro de l'objet
  for mask_n%=1 to count(mask_list%(1))              : ' chercher cet objet dans la liste '
    mask_s$ = item_read$(mask_list%(1),mask_n%)
    if mask_temp$=mask_s$ then exit_for              : ' est-ce que l'objet est trouvé ?
  next mask_n%                                        : ' fin de recherche
  mask_temp$ = text$(number_change)                  : ' prendre le texte du EDIT
  if mask_temp$=""                                    : ' si le EDIT est vide:
    item_delete mask_list%(3),mask_n%                : ' alors vider la ligne de la 3ème liste
    item_insert mask_list%(3),mask_n%,""
    return                                            : ' on a fini
  end_if
  mask_s$ = item_read$(mask_list%(2),mask_n%)        : ' prendre le masque
  for mask_i%=1 to len(mask_temp$)                    : ' pour tous les caractères du EDIT:
    if mask_i%>len(mask_s$)
      mask_s$ = item_read$(mask_list%(3),mask_n%)          : ' alors reprendre l'état précédent
      off_change number_change                              : ' désactiver ON_CHANGE
      text number_change,item_read$(mask_list%(3),mask_n%)  : ' remplacer le contenu de l'EDIT
      caret_position number_change,mask_i%-1                : ' restaurer la position du curseur
      on_change number_change,mask_change                  : ' réactiver le ON_CHANGE
      return
    end_if
    mask_c$ = mid$(mask_s$,mask_i%,1)                : ' prendre le caractère du masque
    if instr(mask_codes$,mask_c$)=0
      if mid$(mask_temp$,mask_i%,1)<>mask_c$          : ' pas le bon caractère imposé ?
        mask_s$ = item_read$(mask_list%(3),mask_n%)          : ' alors reprendre l'état précédent
        off_change number_change                              : ' désactiver ON_CHANGE
        text number_change,item_read$(mask_list%(3),mask_n%)  : ' remplacer le contenu de l'EDIT
        caret_position number_change,mask_i%-1                : ' restaurer la position du curseur
        on_change number_change,mask_change                  : ' réactiver le ON_CHANGE
        return
      end_if
      goto mask_change_1
    end_if
    if mask_c$<>"*"
      mask_set$ = mask_masks$(instr(mask_codes$,mask_c$))    : ' prendre le bon jeu de caractères
      if instr(mask_set$,mid$(mask_temp$,mask_i%,1))=0        : ' est-ce que le car n'est pas dans le jeu ?
        mask_s$ = item_read$(mask_list%(3),mask_n%)          : ' alors reprendre l'état précédent
        off_change number_change                              : ' désactiver ON_CHANGE
        text number_change,item_read$(mask_list%(3),mask_n%)  : ' remplacer le contenu de l'EDIT
        caret_position number_change,mask_i%-1                : ' restaurer la position du curseur
        on_change number_change,mask_change                  : ' réactiver le ON_CHANGE
        return
      end_if
    end_if
mask_change_1:
  next mask_i%                                        : ' fin de la boucle sur le contenu de l'EDIT
  item_delete mask_list%(3),mask_n%                  : ' ici, tous les caractères sont valides,
  item_insert mask_list%(3),mask_n%,mask_temp$        : ' donc on sauvegarde le contenu de l'EDIT
  return                                              : ' ouf !

' paramètres: (top,left,width,parent,inactive,filtre)
sub xEditFilter(t%,l%,w%,p%,a%,f$)
  if f$<>""  : ' au premier appel, création de tout ce qu'il faut
    if variable("filter_list%")=0
      dim filter_list%(3),  filter_temp$, filter_n%
      dim filter_i%, filter_f$, filter_s$
      no% = no% + 1 : dlist no% : filter_list%(1) = no%  : ' liste des numéros d'objet
      no% = no% + 1 : dlist no% : filter_list%(2) = no%  : ' liste des filtres
      no% = no% + 1 : dlist no% : filter_list%(3) = no%  : ' liste des valeurs anciennes
    end_if
    if label("filter_change")=0 then label filter_change
  end_if      : ' ici, on a fini de créer tout ce qu'il faut
  if variable("no%")=0 then dim no%
  no% = no% + 1 : edit no%
  top no%,t% : left no%,l% : width no%,w% : ' créer l'objet Panoramic
  if p%>0 then parent no%,p%              : ' autre parent que form 0 ?
  if a%=1 then inactive no%              : ' le EDIT doit être inactif au début ?
  if f$<>""                            : ' si un filtre est demandé, alors
    on_change no%,filter_change        : ' on utilise l'évènement On_CHANGE
    item_add filter_list%(1),str$(no%)  : ' on ajoute le numéro d'objet dans une 1ère liste
    item_add filter_list%(2),f$        : ' on ajoute le filtre dans une 2ème liste
    item_add filter_list%(3),""
  end_if                                : ' fin du traitement du filtre
end_sub
filter_change:                          : ' évènement ON_CHANGE sur EDITs filtrés
  filter_temp$ = str$(number_change)    : ' prendre le numéro de l'objet
  for filter_n%=1 to count(filter_list%(1))          : ' chercher cet objet dans la liste '
    filter_s$ = item_read$(filter_list%(1),filter_n%)
    if filter_temp$=filter_s$ then exit_for          : ' est-ce que l'objet est trouvé ?
  next filter_n%                                      : ' fin de recherche
  filter_temp$ = trim$(text$(number_change))          : ' prendre le texte du EDIT
  if filter_temp$=""                                  : ' si le EDIT est vide:
    item_delete filter_list%(3),filter_n%            : ' alors vider la ligne de la 3ème liste
    item_insert filter_list%(3),""
    return                                            : ' on a fini
  end_if
  filter_s$ = item_read$(filter_list%(2),filter_n%)  : ' prendre le filtre
  for filter_i%=1 to len(filter_temp$)                : ' pour tous les caractères du EDIT:
    if instr(filter_s$,mid$(filter_temp$,filter_i%,1))=0    : ' est-ce que le car n'est pas dans le filtre ?
      filter_s$ = item_read$(filter_list%(3),filter_n%)    : ' alors reprendre l'état précédent
      off_change number_change                              : ' désactiver ON_CHANGE
      text number_change,item_read$(filter_list%(3),filter_n%)  : ' remplacer le contenu de l'EDIT
      caret_position number_change,filter_i%-1            : ' restaurer la position du curseur
      on_change number_change,filter_change                : ' réactiver le ON_CHANGE
      return                                                : ' et sortir
    end_if
  next filter_i%                                      : ' fin de la boucle sur le contenu de l'EDIT
  item_delete filter_list%(3),filter_n%              : ' ici, tous les caractères sont valides,
  item_insert filter_list%(3),filter_n%,filter_temp$  : ' donc on sauvegarde le contenu de l'EDIT
  return                                              : ' ouf !

' paramètres: (top,left,width,parent,caption)
sub xButton(t%,l%,w%,p%,c$)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : button no%
    top no%,t% : left no%,l% : width no%,w%
    if p%>0 then parent no%,p%
    caption no%,c$
end_sub

' paramètres: (top,left,width,parent,caption)
sub xOption(t%,l%,w%,p%,c$)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : option no%
    top no%,t% : left no%,l% : width no%,w%
    if p%>0 then parent no%,p%
    caption no%,c$
end_sub

' paramètres: (top,left,parent)
sub xCombo(t%,l%,p%)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : combo no%
    top no%,t% : left no%,l%
    if p%>0 then parent no%,p%
end_sub

' paramètres: (top,left,width,height,parent,bar_horizontal,bar_vertical)
sub xMemo(t%,l%,w%,h%,p%,bh%,bv%)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : memo no%
    top no%,t% : left no%,l% : width no%,w% : height no%,h%
    if p%>0 then parent no%,p%
    if bh%>0 then bar_horizontal no%
    if bv%>0 then bar_vertical no%
end_sub
   
' paramètres: (top,left,width,height,parent)
sub xList(t%,l%,w%,h%,p%)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : list no%
    top no%,t% : left no%,l% : width no%,w% : height no%,h%
    if p%>0 then parent no%,p%
end_sub

' paramètres: (top,left,width,parent,caption)
sub xCheck(t%,l%,w%,p%,c$)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : option no%
    top no%,t% : left no%,l% : width no%,w%
    if p%>0 then parent no%,p%
    caption no%,c$
end_sub

' paramètres: (top,left,width,height,parent)
sub xPicture(t%,l%,w%,h%,p%)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : picture no%
    top no%,t% : left no%,l% : width no%,w%
    if p%>0 then parent no%,p%
end_sub

' paramètres: (top,left,width,height,parent)
sub xScene2d(t%,l%,w%,h%,p%)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : picture no%
    top no%,t% : left no%,l% : width no%,w%
    if p%>0 then parent no%,p%
end_sub

' paramètres: (top,left,width,height,parent)
sub xScene3d(t%,l%,w%,h%,p%)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : picture no%
    top no%,t% : left no%,l% : width no%,w%
    if p%>0 then parent no%,p%
end_sub

' paramètres: (parent,caption)
sub xSub_Menu(p%,c$)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : sub_menu no%
    parent no%,p%
    caption no%,c$
end_sub

' paramètres: (top,left,width,height,parent,orientation,min,max)
'    w%,h%:  0 = défaut
'    o%:  0=défaut  1=horizontal  2=vertical
'    mn%,mx%:  0 = défaut
sub xTrackBar(t%,l%,w%,h%,p%,o%,mn%,mx%)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : track_bar no%
    top no%,t% : left no%,l%
    if w%>0 then width no%,w%
    if h%>0 then height no%,h%
    if p%>0 then parent no%,p%
    if o%=1 then horizontal no%
    if o%=2 then vertical no%
    if mn%<>0 then min no%,mn%
    if mx%<>0 then max no%,mx%
end_sub

' paramètres: (top,left,width,height,parent,orientation,min,max)
'    w%,h%:  0 = défaut
'    o%:  0=défaut  1=horizontal  2=vertical
'    mn%,mx%:  0 = défaut
sub xScrollBar(t%,l%,w%,h%,p%,o%,mn%,mx%)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : scroll_bar no%
    top no%,t% : left no%,l%
    if w%>0 then width no%,w%
    if h%>0 then height no%,h%
    if p%>0 then parent no%,p%
    if o%=1 then horizontal no%
    if o%=2 then vertical no%
    if mn%<>0 then min no%,mn%
    if mx%<>0 then max no%,mx%
end_sub

' paramètres: (top,left,width,height,parent,orientation,min,max)
'    w%,h%:  0 = défaut
'    o%:  0=défaut  1=horizontal  2=vertical
'    mn%,mx%:  0 = défaut
sub xProgressBar(t%,l%,w%,h%,p%,o%,mn%,mx%)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : progress_bar no%
    top no%,t% : left no%,l%
    if w%>0 then width no%,w%
    if h%>0 then height no%,h%
    if p%>0 then parent no%,p%
    if o%=1 then horizontal no%
    if o%=2 then vertical no%
    if mn%<>0 then min no%,mn%
    if mx%<>0 then max no%,mx%
end_sub

' paramètres: (top,left,width,parent,min,max)
'    w%    :  0 = défaut
'    mn%,mx%:  0 = défaut
sub xSpin(t%,l%,w%,p%,mn%,mx%)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : spin no%
    top no%,t% : left no%,l%
    if p%>0 then parent no%,p%
    if w%>0 then width no%,w%
    if mn%<>0 then min no%,mn%
    if mx%<>0 then max no%,mx%
    if mn%<>0 then position no%,mn%
end_sub

' paramètres: (top,left,width,height,parent,ncol,ncolfix,nrow,nrowfix)
'    w%,h%,nc%,ncf%,nr%,nrf%:      0 = defaut
sub xGrid(t%,l%,w%,h%,p%,nc%,ncf%,nr%,nrf%)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : grid no%
    top no%,t% : left no%,l%
    if w%>0 then width no%,w%
    if h%>0 then height no%,h%
    if p%>0 then parent no%,p%
    if nc%>0 then grid_column no%,nc%
    if ncf%>0 then grid_column_fixed no%,ncf%
    if nr%>0 then grid_row no%,nr%
    if nrf%>0 then grid_row_fixed no%,nrf%
end_sub

' paramètres: (top,left,width,height,border,caption)
'    w%,h%,b%:  0 = défaut
sub xForm(t%,l%,w%,h%,b%,c$)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : form no%
    top no%,t% : left no%,l%
    if w%>0 then width no%,w%
    if h%>0 then height no%,h%
    if b%=1 then border_normal,no%
    if b%=2 then border_small,no%
    if b%=3 then border_hide,no%
    caption no%,c$
end_sub

' =============== objets non visuels =========================================

' paramètres: aucun
sub xMainMenu()
  if variable("no%")=0 then dim no%
  no% = no% + 1 : main_menu no%
end_sub

' paramètres: aucun
sub xSound()
  if variable("no%")=0 then dim no%
  no% = no% + 1 : sound no%
end_sub

' paramètres: aucun
sub xMovie()
  if variable("no%")=0 then dim no%
  no% = no% + 1 : movie no%
end_sub

' paramètres: (filter)
sub xOpenDialog(f$)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : open_dialog no%
  if f$<>"" then filter no%,f$
end_sub

' paramètres: (filter)
sub xSaveDialog(f$)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : save_dialog no%
  if f$<>"" then filter no%,f$
end_sub

' paramètres: aucun
sub xDlist()
  if variable("no%")=0 then dim no%
  no% = no% + 1 : dlist no%
end_sub

' paramètres: (actif,interval)
'    a%,i%:    0 = défaut
sub xTimer(a%,i%)
  if variable("no%")=0 then dim no%
  no% = no% + 1 : timer no%
  if a%=0 then timer_off no%
  if i%>0 then timer_interval no%,i%
end_sub

' paramètres: aucun
sub xImage()
  if variable("no%")=0 then dim no%
  no% = no% + 1 : image no%
end_sub

En lançant mon petit programme test par l'éditeur, tout marche bien.

En le lançant par le lanceur AutoIt, j'ai le message suivant:
Citation :
(51) OBJECT does not exist (Not created). Line: 26
Tu peux essayer de reproduire cela ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptySam 16 Nov 2013 - 0:15

Avant de te répondre, je recopie le lien pour ne pas le perdre:
Voir le Fichier : PANORAMIC-INIT.7z
Je ne sais pas si c'est le même lien.
J'ai repris le programme du loader, et maintenant il doit marché.
J'ai mis un programme avec un include, qui lui-même avait un include aussi (programme teste que j'ai retrouvé), et ça fonctionne comme avec l'éditeur. En fait il fallait renommer un dlist.

J'ai refait le programme AutoIt, et maintenant je pense qu'il devrait fonctionner avec un espace dans le chemin. Je transforme le nom-long en nom-court. Peux-tu confirmer ?.
Apparemment tout fonctionne. Même le programme AutoIt en 32 bits fonctionne chez-moi en 64 bits.


Dernière édition par cosmos70 le Sam 16 Nov 2013 - 19:38, édité 2 fois
Revenir en haut Aller en bas
Klaus

Klaus


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

Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptySam 16 Nov 2013 - 0:49

J'ai pris le contenu du 7z du nouveau lien. Maintenant, en lançant "lancer un run_éditeur_PANO.au3", le bon éditeur s'ouvre bien - problème résolu.

Mais pas tout, pour autant. Il y a encore un problème, mais il s'annonce différemment:
Unable to load file (Line 26)

Le pense que c'est lié aux noms des fichiers et chemins. Mais, même si je mets le chemin complet dans la directive #INCLUDE, j'ai le même problème. Voici ma ligne include:
Code:
#INCLUDE "C:\Documents and Settings\Klaus\Mes documents\Mes projets Delphi\KGF\KGF_OBJ.bas"
Il faut bien voir que lorsqu'on charge un module source dans l'éditeur, celui-ci peut provenir de n'importe quel dossier. Cela n'a aucune importance tant qu'il n'y a pas de #INCLUDE, car tu prends le source complet par ctrl-A / ctrl-C pour le copier ailleurs. Bien. Mais si ce source contient un chemin vers un fichier #INCLUDE, le programme est perdu. Et, comme tu vois ci-dessus, même si je mets le chemin complet en dur, ça plante. Là, il y a encore quelque chose à creuser.

D'ailleurs, autre détail: lorsque le lance "lancer un run_éditeur_PANO.au3" en double-cliquant sur son icône, je charge mon source dans l'éditeur, puis je ferme l'éditeur, le programme AutoIt disparaît bien de la mémoire.

Mais, si je lance l'éditeur d'abord, ensuite "lancer un run_éditeur_PANO.au3", puis j'arrête l'éditeur, puis je sors du lanceur par le bouton de sortie, celui-ci disparaît de l'écran, mais PAS de la liste des tâches du gestionnaire des tâches. Et il garde ses ressources verrouillées (dossiers, fichiers sourcee etc). Il faut le tuer par le gestionnaire des tâches.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptySam 16 Nov 2013 - 1:44

Merci pour les testes. Mais un peu de mal de comprendre, d'autant que tes chemins je ne peux pas les adapter.
Comme je n'ai pas KGF_OBJ.bas, j'ai modifié le programme mis plus haut pour voir ce que fait le programme.
Malheureusement la longueur du message avec les codes, est trop longue pour être publiée, et à cette heure-ci, j'ai pas envie de tout reprendre. J'ai fais une copie de l'ensemble et mis sur le Webdaw. Je verrais demain pour améliorer les choses, si je peux.

c'est répose à Klaus ( pas original comme titre)Sleep 
Revenir en haut Aller en bas
Klaus

Klaus


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

Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptySam 16 Nov 2013 - 2:00

Eh bien, prends un autre programme à charger dans l'onglet de l'éditeur, comme celui-ci, par exemple:
Code:

' test.bas
dim txt$
charger_txt()
message txt$
end

#INCLUDE "module1.bas"
Et module1.bas, placé dans le même dossier que le module test.bas:
Code:

sub charger_txt()
txt$ = "Coucou"
end_sub
Si tu mets ces deux modules dans un dossier, différent de celui dans lequel se trouve le programme AutoIt, tu verras que le programme AutoIt a des difficultés pour ouvrir le fichier include. Et ce même si tu mets le chemin complet vers module1.bas dans la ligne #INCLUDE du programme test.bas.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptySam 16 Nov 2013 - 8:24

Klaus! je n'arrive pas à comprendre car cela n'a pas de logique.
Autoit ne fait qu'une chose après avoir ouvert, ou pris le handle de Panoramic:
Code:
ControlFocus($hWnd, "", $hSynedit)
 Send("^+à",0) ; MARQUE LA POSITION DANS L'ECRAN par <CTRL> <SHIFT> '0'  (le + signifiant <SHIFT>)
 ControlClick($hWnd, "", $hSynedit, "left", 20, 100)
 MouseClick("left", 30, 100, 1, 0)
 Send("^a!eo") ; ctrl a copier (menu)
Il fait un <CTRL>"a" pour tout sélectionner, puis il va dans le menu édition pour faire copier. Ensuite:
Code:
Run("C:\Panoramic-Init\lanceur_pour_Panoramic.exe")
Il lance le loader panoramic. Et là tu as le programme qui est comme tu le vois dans la ligne : lanceur_pour_Panoramic.exe, qui est l'exécutable de "lanceur_pour_panoramic.bas", et tu as le programme dans le zip.

Alors c'est à partir du programme Panoramic que normalement tu dois me répondre.
Il est évident que pour un include il faut mettre le chemin complet. Il y a toujours la possibilité de faire quelque chose comme moi. J'ai un programme qui cumul une série de commande de ce type:
Lanceur pour l'éditeur Panoramic Exacut10

dans lequel j'ai une liste des includes:
Lanceur pour l'éditeur Panoramic Liste_11
Mince l'image a grossi. je ne recommence pas.
Je marque dans mon programme: #include |1, et le loader (pas celui-ci) modifie la ligne pour mettre le chemin entier.
Bon ce genre de programme je l'ai déjà proposé mais j'ai rarement un retour, et de toute façon je ne peux programmer que pour moi.

le programme lanceur_pour_panoramic.bas, je le remets ici: (C'était une copie rapide d'un des mes loader, dans lequel j'ai retiré du code et une adaptation rapide)
Code:
' lanceur pour l'éditeur panoramic
memo 3:bar_both 3  :hide 3
hide 0
dlist 1
dlist 4
dlist  6
clipboard_paste 3
include()
file_save 1,"C:\Panoramic-Init\programme.bas"
chain "C:\Panoramic-Init\programme.bas"
end
' ==============
sub include()
dim_local a%,b%,a$,v%,c$,lig_a% ,include% ,c% , n% , n$
   if count(3)> 1
      b%=0 :' pour numéroter les #include
      a%=1
      repeat
         a$=item_read$(3,a%)
         ' je rajoute éventuellement les includes
         if left$(upper$(trim$(a$)),8)="#INCLUDE"  
            v%=instr(upper$(a$),"#INCLUDE ")  :b% = b% + 1 :c$ = mid$(a$, v% + 9 , 80)
             item_add 4,trim$(a$)
            item_add 1,"' #" + str$(b%) + " dépilé: " + trim$(a$)
            include%=1
            file_add 6, c$ : lig_a%=a%+1  :' on ajoute le fichier c$

            item_insert 3,a%+1,"' ==== FIN du programme #INCLUDE dépilé: "+c$+"  #"+str$(b%)+" ===="
            for c%=1 to count(6)
               a$=item_read$(6,1) : item_insert 3,lig_a%,a$ : item_delete 6,1:lig_a%=lig_a%+1
            next c%
         else
             item_add 1,a$
         end_if
         a%=a%+1
      until a% > count(3) or scancode=27
  end_if
  item_add 1,""
end_sub
Si tu as une solution pour modifier le programme et mettre des chemins relatifs dans les includes, je suis preneur. La seule que je vois est de mettre une copie du programme dans le dossier du programme bas. Là il peut y avoir deux possibilités; soit je mets un lien dans un fichier ini pour Autoit, et recopie le loader dans le dossier du programme (et là cela me parait scabreux, soit le loader sauvegarde programme.bas dans le dossier du programme. Dans les deux cas, il faut connaitre le dossier, donc il faut une astuce pour celui-ci.

Si il y avait un <CTRL> "s" à Panoramic, on pourrait s'en servir, mais Jack n'a pas voulu le coder. Donc à chaque fois que l'on veut lancer le programme dans ce sens, il faudra que je clique sur "enregistrer", ce qui me parait plus lourd, et pas nécessairement voulu, surtout pour des testes.

Il me faut ta réponse pour continuer. Connaitre ton point de vue. Si tu regardes le programme .bas, tu verras comment je procède, car une fonction chain ne prend pas encore les directives.

Là je le répète: AutoIt en aucun cas ne s'occupe des includes ici.
Revenir en haut Aller en bas
Klaus

Klaus


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

Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptySam 16 Nov 2013 - 10:12

D'accord, Cosmos. J'ai compris ton argument. C'est effectivement le programme en Panoramic qui est en cause, celui qui dépile des #INCLUDE.

Je vais voir ce que je peux y faire, et je te tiens au courant. Je tiens à cet outil, car il résout en effet un problème de test que j'ai assez souvant.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptySam 16 Nov 2013 - 10:32

J'ai trouvé. C'était un simple détail à la ligne 22: tu prends le nom du fichier en le limitant à 80 caractères ! Un nom long peut contenir 255 caractères !

J'ai fait comme ceci, et ça passe dans tous les cas:
Code:
                      ' lanceur pour l'éditeur panoramic
memo 3:bar_both 3  :hide 3
hide 0
dlist 1
dlist 4
dlist  6
clipboard_paste 3
include()
file_save 1,"C:\Panoramic-Init\programme.bas"
chain "C:\Panoramic-Init\programme.bas"
end
' ==============
sub include()
dim_local a%,b%,a$,v%,c$,lig_a% ,include% ,c% , n% , n$
  if count(3)> 1
      b%=0 :' pour numéroter les #include
      a%=1
      repeat
        a$=item_read$(3,a%)
        ' je rajoute éventuellement les includes
        if left$(upper$(trim$(a$)),8)="#INCLUDE": ' syntaxe possible ici: #INCLUDE |N°|
            v%=instr(upper$(a$),"#INCLUDE ") : b% = b% + 1 : c$ = mid$(a$, v% + 9 , len(a$))
            item_add 4,trim$(a$)
            item_add 1,"' #" + str$(b%) + " dépilé: " + trim$(a$)
            include%=1
            file_add 6, c$ : lig_a%=a%+1  :' on ajoute le fichier c$

            item_insert 3,a%+1,"' ==== FIN du programme #INCLUDE dépilé: "+c$+"  #"+str$(b%)+" ===="
            for c%=1 to count(6)
              a$=item_read$(6,1) : item_insert 3,lig_a%,a$ : item_delete 6,1:lig_a%=lig_a%+1
            next c%
        else
            item_add 1,a$
        end_if
        a%=a%+1
      until a% > count(3) or scancode=27
  end_if
  item_add 1,""
end_sub
Un grand MERCI pour cet outil qui me rendra de grands services !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptySam 16 Nov 2013 - 14:18

Je suis content pour toi.
Effectivement, je procédais ainsi il y a 2/3 ans, alors sauf cas rare, où je sais que le nombre (len()) ne dépassera pas la valeur marqué, aujourd'hui et depuis un bon moment je marque ",len(a$)". C'était un copie/coller, et j'ai pas fait gaffe.

Une chose de faite.
Revenir en haut Aller en bas
Klaus

Klaus


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

Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptySam 16 Nov 2013 - 15:31

En tout cas, je suis très content de cet outil. Je suis en train de chercher un moyen de l'attacher à l'éditeur de Panoramic...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptySam 16 Nov 2013 - 15:38

J'ai refait le zip, et mis à jour les deux autres liens, qui est le même que celui-ci
Voir le Fichier : PANORAMIC-INIT.7z

Je ne sais pas si c'est utile,  mais il serait possible de mettre un autre éditeur que Panoramic. Il suffirait de mettre le nom de la fenêtre de celui-ci dans un fichier ini.

J'ai supprimé dans AutoIt la séquence de touches au départ, qui validait les choix sauvegardés. Il faut appuyé sur la touche "choix initial" pour le faire.

On s'est croisé.


Dernière édition par cosmos70 le Sam 16 Nov 2013 - 19:37, édité 1 fois
Revenir en haut Aller en bas
Invité
Invité




Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptySam 16 Nov 2013 - 17:30

J'ai apporté une modification au lanceur panoramic.
Il sauvegarde non seulement le fichier à exécuter, mais il fait une copie de celui-ci avec les n° de lignes devant. Ainsi, si une erreur apparait, il suffit d'ouvrir ce fichier pour voir à quoi la ligne correspond.
Code:
' lanceur pour l'éditeur panoramic
memo 3:bar_both 3  :top 3,100
hide 0
list 2
list 1
list 4
list 6
clipboard_paste 3
include()
file_save 1,"C:\Panoramic-Init\programme.bas"
ligne()
chain "C:\Panoramic-Init\programme.bas"
end
' ==============
sub include()
dim_local a%,b%,a$,v%,c$,lig_a% ,include% ,c% , n% , n$
   if count(3)> 1
      b%=0 :' pour numéroter les #include
      a%=1
      repeat
         a$=item_read$(3,a%)
         ' je rajoute éventuellement les includes
         if left$(upper$(trim$(a$)),8)="#INCLUDE"   :' syntaxe possible ici: #INCLUDE |N°|
            v%=instr(upper$(a$),"#INCLUDE ")  :b% = b% + 1 :c$ = mid$(a$, v% + 9 , len(a$))
             item_add 4,trim$(a$)
            item_add 1,"' #" + str$(b%) + " dépilé: " + trim$(a$)
            include%=1
            file_add 6, c$ : lig_a%=a%+1  :' on ajoute le fichier c$

            item_insert 3,a%+1,"' ==== FIN du programme #INCLUDE dépilé: "+c$+"  #"+str$(b%)+" ===="
            for c%=1 to count(6)
               a$=item_read$(6,1) : item_insert 3,lig_a%,a$ : item_delete 6,1:lig_a%=lig_a%+1
            next c%
         else
             item_add 1,a$
         end_if
         a%=a%+1
      until a% > count(3) or scancode=27
  end_if
  item_add 1,""
end_sub

sub ligne()
   dim_local a%,a$
   for a% = 1 to count(1)
      a$ = item_read$(1,a%)
      item_delete 1,a%
      item_insert 1,a%,right$("   "+str$(a%),4)+"| "+a$
   next a%
   file_save 1,"C:\Panoramic-Init\LIGNE_programme.bas"
end_sub
Revenir en haut Aller en bas
Invité
Invité




Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptySam 16 Nov 2013 - 19:36

Je viens d'apporter des modifications.
Dans le fichier zip, le programme lanceur panoramic intègre la sauvegarde suplémentaire avec N° de lignes, pour le cas qu'une erreur interviendrait dans un include.

Ensuite j'ai ajouté 2 boutons au programme AutoIt: 1 voir qui affiche le fichier avec les numéros, et un pour caché le contenu du fichier.
Voir le Fichier : PANORAMIC-INIT.7z

Edit: tous les liens sont à jour.


Dernière édition par cosmos70 le Mer 20 Nov 2013 - 12:20, édité 4 fois
Revenir en haut Aller en bas
Klaus

Klaus


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

Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic EmptyDim 17 Nov 2013 - 17:06

Je m'étais isolé un peu, ces derniers temps, pour résoudre mon problème technique consistant en l'injection d'un bouton dans l'éditeur Panoramic.

Problème résolu, d'ou la nouvelle version V2.53 du 17/11/2013 de KGF.dll.

J'ai posté une application de cette nouveauté dans la rubrique "Vos sources, vos utilitaires à partager".

Je peux maintenant, directement dans l'éditeur, cliquer sur un bouton pour lancer le contenu de l'onglet actuel, à l'aide de ton outil ""C:\Panoramic-Init\lanceur_pour_Panoramic.exe"" qui est super !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Lanceur pour l'éditeur Panoramic Empty
MessageSujet: Re: Lanceur pour l'éditeur Panoramic   Lanceur pour l'éditeur Panoramic Empty

Revenir en haut Aller en bas
 
Lanceur pour l'éditeur Panoramic
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Des DLL pour Panoramic
» Logithèque : une base de données en Panoramic pour Panoramic
» pour panoramic
» Pour les dix ans de PANORAMIC
» Des DLL 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: