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.
Mon interface Panoramic - Page 4 Emptypar Pedro Aujourd'hui à 8:08

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

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

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

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

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

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

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

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

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

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

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

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

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

» fichier.exe
Mon interface 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 à ne pas rater :
Code promo Nike : -25% dès 50€ d’achats sur tout le site Nike
Voir le deal

 

 Mon interface Panoramic

Aller en bas 
+3
papydall
Jean Claude
JL35
7 participants
Aller à la page : Précédent  1, 2, 3, 4
AuteurMessage
RMont




Nombre de messages : 233
Age : 82
Localisation : charente maritime
Date d'inscription : 29/12/2008

Mon interface Panoramic - Page 4 Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic - Page 4 EmptyLun 20 Oct 2014 - 19:23


ça y est j'ai reussi
Mon interface Panoramic - Page 4 Erreur20
Revenir en haut Aller en bas
JL35




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

Mon interface Panoramic - Page 4 Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic - Page 4 EmptyLun 20 Oct 2014 - 19:54

??? tu as réussi quoi ? à provoquer une erreur ?
L'embêtant c'est que ton image n'est pas très nette et à peu près illisible, je ne vois pas (sur mon écran du moins) quelle erreur s'est produite ni quelle ligne est en cause...
Déjà, pour faire une copie d'écran, au lieu de la touche 'Impr écran' qui copie tout l'écran, tu devrais faire 'Alt'+'Impr écran' qui ne copie que la fenêtre active, ce serait peut-être plus lisible ?

Pardon  RMont, on a changé de page et je n'avais pas vu les messages précédents, je regarde...

(il peut y avoir une différence de deux ou 3 numéros de ligne avec toi...)
1) Création de ra$ = Pan$+"Manuel\"
  -> ligne 27:
Code:
IF DIR_EXISTS(ra$) = 0 THEN DIR_MAKE ra$
2) fl$ et fa$ sont passés en paramètres à la sub qui va les créer:
Code:
  MotsClesPano(Edp$,fl$,fa$)
3) L'erreur à la ligne 31:
Code:
  EXECUTE_WAIT "CMD.exe /C DIR "+q$+Edp$+q$+" /TC | clip"
   a$ = CLIPBOARD_STRING_PASTE$: i% = INSTR(a$,"/")
   i% = VAL(MID$(a$,i%+4,4)+MID$(a$,i%+1,2)+MID$(a$,i%-2,2)): ' date Editeur actuel
  -> on récupère dans le presse-papier le résultat de la commande DIR qui donne les caractéristiques du fichier Edp$ (Panoramic_Editor.exe), sous la forme:
Mon interface Panoramic - Page 4 Dir10
Il s'agit ici de récupérer la date de ce fichier. Je cherche donc le 1er caractère '/' (qui se trouve juste après le jour), et je reconstitue la date sous forme d'un nombre AAAAMMJJ: ici 20140419 pour pouvoir comparer à la dernière qui a été enregistrée (au moment de la mise à jour précédente), pour savoir s'il faut faire une mise à jour (si elle est supérieure) ou pas.

Manifestement tu récupères une mauvaise chaîne dans le clipboard, tu pourrais mettre un
MESSAGE a$ juste après la ligne a$ = CLIPBOARD_STRING_PASTE$ (avant le i% = ...), pour voir ce qu'il y a dedans ?

Bizarrement j'ai eu la même erreur que toi en voulant remplacer dans la commande DIR le nom du fichier par le nom court, et là ça ne me renvoie rien du tout... si je mets le nom long encadré par des quotes: chr$(34), là ça marche... scratch
Trouvé: en fait c'était ma routine de conversion nom long en nom court qui ajoutait à la fin un espace+retour chariot+interligne, et le DIR n'aimait pas du tout et ne rendait rien, sans signaler d'erreur.
Revenir en haut Aller en bas
JL35




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

Mon interface Panoramic - Page 4 Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic - Page 4 EmptyMar 21 Oct 2014 - 18:41

Voici donc le gros morceau (plus de 1000 lignes): le programme Aide.bas, qui, transformé en exécutable, est appelè par l'interface principale (bouton 'Aide').
La programmation n'est pas très sophistiquée, ça a été fait il y a assez longtemps (il n'y avait pas de subs, et des fonctions manquaient), j'ai un peu modernisé, tant bien que mal.
Il contient le programme de récupération de l'aide des mots-clés ci-dessus, en plus d'aide pour d'autres sujets (objets, etc.).
Il y aura sans doute des bricoles de mise au point, genre chemins de fichiers etc., mais ça ne devrait pas poser de gros problèmes:
(La deuxième partie, à recoller à celle-ci, dans le post ci-dessous, sinon c'est trop long...)
Code:

' Aide.bas: gestion de l'aide des mots-clés Panoramic
LABEL Detol, detolf, Detail, detex, Reinit, Docweb, Objets, Objets1, Clobj, Nmc
LABEL News, Recher, Afrec, Afrec1, Faff, Affiche, Vtt, Vtts, Vcel, Ajout
LABEL Astuces, Kgf, Aide
LABEL Majcat, Exec, Sauve, Clkc, Inil, Clkl, Fmaj, Vlc, Vlcok, Dtx

DIM a$, b$, d$, ra$, rm$, fa$, fc$,fl$, ff$, s$, v$, Edipan$
DIM i%, j%, w0, h0, wl, hl, wf, wa, ncl, k%, fnm$, fnews$
DIM seq$, rec, tr, nc, lc, hc, x%, y%, cc%, cr$, maj%, q$
DIM Cat$(50), Typ$(50), ncat, n1, n2, ini%, fas$, kgp$, fct$(10), obj%
q$ = CHR$(34)
cr$ = CHR$(13)+CHR$(10)
' Catégories des mots-clés (à chaque catégorie correspond un libellé au-dessous)
DATA "G2D","G3D","DPR","E/S","STR","FNT","SYS","MOC","LKB","MAT","OBJ","FIL"
DATA "SPR","VIS","EXC","EVE","XXX","F"
'
DATA "Graphismes 2D","Graphismes 3D","Déroulement du programme","Entrées/Sorties"
DATA "Fonctions chaînes","Fonctions polices","Fonctions système","Souris et curseur"
DATA "Lecture du clavier","Mathématiques et logique","Gestion des objets"
DATA "Répertoires et fichiers","Sprites","Vidéo et son","Fonctions Excel et grilles"
DATA "Événements","Divers (non classé)"
ncat = 0: READ a$
WHILE a$ <> "F": ncat = ncat+1: Cat$(ncat) = a$: READ a$: END_WHILE
FOR i% = 1 TO ncat: READ Typ$(i%): NEXT i%
DATA "","","DÉFINITION","FONCTION","SYNTAXE","USAGE","CAS D'ERREUR"
DATA "EXEMPLES","EN RAPPORT"
FOR i% = 1 TO 9: READ fct$(i%): NEXT i%: ' rubriques des fiches mots-clés

' ================== RÉPERTOIRES CI-DESSOUS A AJUSTER ! =======================+
ra$  = "C:\PANORAMIC\": '  Répertoire des sources Panoramic                ||||
kgp$ = ra$ + "KLAUS\DLLs\KGF.pdf": ' doc de KGF.dll                        ||||
Edipan$ = "C:\Program Files (x86)\Panoramic Editor\PANORAMIC_EDITOR.exe": ' ||||
' =============================================================================+
' Les fichiers d'aide créés le seront dans un sous-répertoire 'Manuel' du répertoire
' des fichiers sources Panoramic.
rm$ = ra$ + "Manuel\": ' répertoire des fichiers d'aide (sera créé si inexistant)
fa$ = rm$ + "Aide.txt": ' doc des mots-clés (créé)
fl$ = rm$ + "Listmc.lst": ' liste brute des mots-clés (créée)
ff$ = rm$ + "Listmc.cat": ' liste des catégories de mots-clés
fc$ = rm$ + "FonctMC.txt": ' liste des fonctions par mot-clé (créée)
fnews$ = rm$ + "News.rtf": ' ce qui est en cours (à créer, ou créé vide)
fas$ = rm$ + "Astuces_Pano.rtf": ' fichier trucs et astuces (à créer, ou créé vide)

fnm$ = "http://panoramic-language.pagesperso-orange.fr/French/HISTORY.htm": ' FORUM

rec = 0
IF DIR_EXISTS(ra$) = 0
    MESSAGE "Chemin des sources Panoramic non trouvé ! (variable ra$)"
    TERMINATE
END_IF
IF INSTR(ra$, " ") > 0
    Nomcourt(ra$): ra$ = CLIPBOARD_STRING_PASTE$
END_IF
IF FILE_EXISTS(Edipan$) = 0
    MESSAGE "Éditeur Panoramic non trouvé ! (variable Edipan$)"
    TERMINATE
END_IF
Nomcourt(Edipan$): Edipan$ = CLIPBOARD_STRING_PASTE$

IF DIR_EXISTS(rm$) = 0 THEN DIR_MAKE rm$
' ------------------------------------------------------------------------------
w0 = 800: h0 = SCREEN_Y-40
WIDTH 0, w0: HEIGHT 0, h0
CAPTION 0, " - "+CAPTION$(0)+": MANUEL DE RÉFÉRENCE -"
wl = 200: hl = h0-60
LIST 10: TOP 10, 0: LEFT 10, 5: WIDTH 10, wl: HEIGHT 10, hl: ' liste des mots-clés
COLOR 10,200,255,200: ON_CLICK 10, Detail

wf = w0-wl-30
LIST 11: TOP 11, 20: LEFT 11, wl+10: WIDTH 11, wf: HEIGHT 11, hl-25: ' description
    FONT_NAME 11, "Lucida Console": FONT_SIZE 11, 10
    i% = 1+TEXT_WIDTH("ABCDEF",11)/6: ncl = INT(wf/i%)-1
    COLOR 11, 255,255,200: ON_CLICK 11, Afrec
    ' BAR_VERTICAL 11
ALPHA 12: TOP 12, 0: LEFT 12, wl+10: WIDTH 12, wf: HEIGHT 12, 25: ' en-tête
    FONT_NAME 12, "Consolas": FONT_SIZE 12, 12: FONT_BOLD 12
    COLOR 12, 255,255,200
BUTTON 13: TOP 13,hl-30: LEFT 13,wl+wf-100: WIDTH 13,100: CAPTION 13,"Ajouter"
    ON_CLICK 13, Ajout
MAIN_MENU 15
SUB_MENU 16: PARENT 16, 15: CAPTION 16, "Réinit": ON_CLICK 16, Reinit
SUB_MENU 25: PARENT 25, 15: CAPTION 25, "Doc en ligne": ON_CLICK 25, Docweb
SUB_MENU 17: PARENT 17, 15: CAPTION 17, "Objets": ON_CLICK 17, Objets
SUB_MENU 18: PARENT 18, 15: CAPTION 18, "Historique": ON_CLICK 18, Nmc
SUB_MENU 19: PARENT 19, 15: CAPTION 19, "Nouveautés": ON_CLICK 19, News
SUB_MENU 20: PARENT 20, 15: CAPTION 20, "Rechercher": ON_CLICK 20, Recher
SUB_MENU 21: PARENT 21, 15: CAPTION 21, "Voir"
SUB_MENU 22: PARENT 22, 15: CAPTION 22, "Maj catégories": ON_CLICK 22, Majcat
SUB_MENU 23: PARENT 23, 15: CAPTION 23, "Astuces": ON_CLICK 23, Astuces
SUB_MENU 24: PARENT 24, 15: CAPTION 24, "KGF.dll": ON_CLICK 24, Kgf
SUB_MENU 28: PARENT 28, 15: CAPTION 28, "Aide": ON_CLICK 28, Aide

SUB_MENU 50: PARENT 50,21: CAPTION 50, "Liste détaillée": ON_CLICK 50, Vlc
SUB_MENU 51: PARENT 51,21: CAPTION 51, "Tous les mots-clés d'un coup"
    ON_CLICK 51, Vtt
' affichage éventuel par catégorie de mot-clé
FOR i% = 1 TO ncat
    j% = i%+51
    SUB_MENU j%: PARENT j%,21: CAPTION j%,Typ$(i%): ON_CLICK j%, Vtt
NEXT i%

DLIST 80: ' liste parallèle, catégories des mots-clés (catégorie + mot-clé)

FORM 70: WIDTH 70,1000: HEIGHT 70,HEIGHT(0): HIDE 70
LIST 71: PARENT 71, 70: TOP 71,0: LEFT 71,0: HEIGHT 71,hl: WIDTH 71,WIDTH(70)-34
    FONT_NAME 71, "Consolas": FONT_SIZE 71, 10
    COLOR 71,255,255,190: ON_CLICK 71, Dtx
BUTTON 72: PARENT 72,70: TOP 72,HEIGHT(70)-60: LEFT 72,WIDTH(70)/2: CAPTION 72,"OK"
    ON_CLICK 72, Vlcok
   
' affichage d'une fiche de mot-clé:
FORM 90: TOP 90,0: LEFT 90,100: WIDTH 90,wf+50: HEIGHT 90,950: HIDE 90
    COLOR 90,200,255,200: ON_CLOSE 90, Faff: BORDER_SMALL 90
LIST 91: PARENT 91,90:TOP 91,20: WIDTH 91,WIDTH(90)-16
    HEIGHT 91,HEIGHT(90)-58: COLOR 91,255,255,200: ' FONT_BOLD 91
    FONT_NAME 91,"Lucida Console": FONT_SIZE 91,10: FONT_COLOR 91,0,0,128
BUTTON 92: PARENT 92,90: TOP 92,0: WIDTH 92,100: LEFT 92,WIDTH(90)-116
    CAPTION 92, "OK": ON_CLICK 92,Faff
BUTTON 93: PARENT 93,90: TOP 93,HEIGHT(91)-30: LEFT 93,WIDTH(91)-100
    WIDTH 93,100: CAPTION 93,"Ajouter": ON_CLICK 93, Ajout
ALPHA 94: PARENT 94,90: LEFT 94,100: FONT_BOLD 94: FONT_SIZE 94,12

' Tableau de tous les mots-clés:
FORM 200: HIDE 200: CAPTION 200, " - LISTE DES MOTS-CLÉS PANORAMIC -"
    WIDTH 200,1500: HEIGHT 200,950
PICTURE 201: PARENT 201,200: TOP 201,0: LEFT 201,0: ON_CLICK 201, Vcel
BUTTON 202: PARENT 202,200: CAPTION 202,"OK": ON_CLICK 202, Vtts

' -------- Structure pour mise à jour des catégories de mots-clés: -------------
FORM 300: HEIGHT 300,1100: WIDTH 300,540: HIDE 300
    FONT_BOLD 300: COLOR 300,255,200,255: ON_CLOSE 300, Fmaj
    CAPTION 300, " - MISE À JOUR DES CATÉGORIES DES MOTS-CLÉS (fichier Listmc.cat) -"
LIST 301: PARENT 301,300: HEIGHT 301,HEIGHT(300)-38: WIDTH 301,300
    FONT_NAME 301,"Lucida Console": FONT_BOLD_OFF 301: ON_CLICK 301, Clkl
ALPHA 310: PARENT 310,300: LEFT 310,305: TOP 310, 22: CAPTION 310, "De la ligne:"
EDIT 311: PARENT 311,300: TOP 311,20: LEFT 311,370: WIDTH 311,75: ON_CLICK 311,Inil
ALPHA 312: PARENT 312,300: LEFT 312,315: TOP 312,52: CAPTION 312,"à la ligne:"
EDIT 313: PARENT 313,300: TOP 313,50: LEFT 313,370: WIDTH 313,75: ON_CLICK 313,Inil
ALPHA 318: PARENT 318,300: TOP 318,80: LEFT 318,360
    CAPTION 318, "Clic une catégorie:"
LIST 319: PARENT 319,300: TOP 319,TOP(318)+20: LEFT 319,305: WIDTH 319,210
    i% = TEXT_HEIGHT("ABC",319): HEIGHT 319,i%*(ncat+1)
    ON_CLICK 319,Clkc
    FOR i% = 1 TO ncat: ITEM_ADD 319,cat$(i%)+" "+typ$(i%): NEXT i%
ALPHA 314: PARENT 314,300: TOP 314, TOP(319)+HEIGHT(319)+20: LEFT 314, 330: CAPTION 314,"  Cat."
EDIT 315: PARENT 315,300: TOP 315,TOP(314)-2: LEFT 315, 370: WIDTH 315,75
BUTTON 316: PARENT 316,300: TOP 316, TOP(314)+30: LEFT 316, 370: CAPTION 316, "Appliquer"
    ON_CLICK 316, Exec
BUTTON 317: PARENT 317,300: TOP 317,TOP(316)+50: LEFT 317, 370: CAPTION 317, "Enregistrer"
    ON_CLICK 317, Sauve
LIST 320: PARENT 320,300: TOP 320,TOP(317)+100: LEFT 320,305: WIDTH 320,210
  HEIGHT 320, 160: COLOR 320,190,255,190
  ITEM_ADD 320,"            - USAGE: -": ITEM_ADD 320,""
  ITEM_ADD 320,"Cliquer la 1ère ligne à modifier": ITEM_ADD 320,"    (liste de gauche)."
  ITEM_ADD 320,"Si plusieurs lignes consécutives,"
  ITEM_ADD 320,"    cliquer la dernière ligne.": ITEM_ADD 320,"Cliquer une catégorie."
  ITEM_ADD 320,"Valider par 'Appliquer'.": ITEM_ADD 320,""
  ITEM_ADD 320,"A la fin, sauvegarder":ITEM_ADD 320,"    par 'Enregistrer'"
' ..............................................................................
CLEAR 80: ' dlist: catégories associées aux mots-clés

' -------------------------- LISTE DES OBJETS PANORAMIC ------------------------
FORM 400: WIDTH 400,640: HEIGHT 400,860: BORDER_SMALL 400: HIDE 400
CAPTION 400,STRING$(80," ")+"-  OBJETS  SYSTÈME  -"
FONT_NAME 400,"Consolas": FONT_SIZE 400,11: FONT_BOLD 400: COLOR 400,200,255,200
tr = 20
i%=401: ALPHA i%: PARENT i%,400: TOP i%,tr: CAPTION i%,"- Classiques:"
wa = 110
tr = tr+18
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,10: CAPTION i%,"ALPHA"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"BUTTON"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"FORM"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"GRID"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"MEMO"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"SPIN"
tr = tr+23
i%=411: ALPHA i%: PARENT i%,400: TOP i%,tr: CAPTION i%,"- Listes:"
tr = tr+18
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,10: CAPTION i%,"COMBO"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"DLIST"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"EDIT"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"LIST"
tr = tr+23
i%=421: ALPHA i%: PARENT i%,400: TOP i%,tr: CAPTION i%,"- Scènes:"
tr = tr+18
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,10: CAPTION i%,"SCENE2D"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"SCENE3D"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"SPRITE"
tr = tr+23
i%=431: ALPHA i%: PARENT i%,400: TOP i%,tr: CAPTION i%,"- Multimédia:"
tr = tr+18
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,10: CAPTION i%,"HVIEWER"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"IMAGE"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"MOVIE"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"PICTURE"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"SOUND"
tr = tr+23
i%=441: ALPHA i%: PARENT i%,400: TOP i%,tr: CAPTION i%,"- Choix:"
tr = tr+18
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,10: CAPTION i%,"OPTION"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"CHECK"
tr = tr+23
i%=451: ALPHA i%: PARENT i%,400: TOP i%,tr: CAPTION i%,"- Menus:"
tr = tr+18
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,10: CAPTION i%,"MAIN_MENU"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"SUB_MENU"
tr = tr+23
i%=461: ALPHA i%: PARENT i%,400: TOP i%,tr: CAPTION i%,"- Barres:"
tr = tr+18
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,10: CAPTION i%,"PROGRESS_BAR"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"SCROLL_BAR"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"TRACK_BAR"
tr = tr+23
i%=471: ALPHA i%: PARENT i%,400: TOP i%,tr: CAPTION i%,"- Dialogue:"
tr = tr+18
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,10: CAPTION i%,"OPEN_DIALOG"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"SAVE_DIALOD"
tr = tr+23
i%=481: ALPHA i%: PARENT i%,400: TOP i%,tr: CAPTION i%,"- Horloge:"
tr = tr+18
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,10: CAPTION i%,"TIMER"
tr = tr+23
i%=491: ALPHA i%: PARENT i%,400: TOP i%,tr: CAPTION i%,"- Conteneur:"
tr = tr+18
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,10: CAPTION i%,"CONTAINER"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa: CAPTION i%,"CONTAINER_OPTION"
i%=i%+1: ALPHA i%: PARENT i%,400: TOP i%,tr: LEFT i%,LEFT(i%-1)+wa+40: CAPTION i%,"PANEL"
FOR i% = 401 TO 499
    IF OBJECT_EXISTS(i%) = 1
        IF RIGHT$(STR$(i%),1) = "1"
            FONT_COLOR i%,255,0,0
        ELSE
            FONT_COLOR i%,0,0,255
            ON_CLICK i%,Objets1
        END_IF
    END_IF
NEXT i%
ALPHA 497: PARENT 497,400: LEFT 497,200: CAPTION 497,"( clic sur un nom d'objet )"
FONT_COLOR 497,128,128,128
MEMO 498: PARENT 498,400: TOP 498,tr+30: WIDTH 498,WIDTH(400)-16: HEIGHT 498,HEIGHT(400)-tr-65
FONT_SIZE 498,10: FONT_BOLD_OFF 498: COLOR 498,255,255,180: FONT_COLOR 498,0,0,0
BAR_VERTICAL 498
BUTTON 499: PARENT 499,400: TOP 499,0: LEFT 499,WIDTH(400)-100
CAPTION 499,"Quitter": ON_CLICK 499,Clobj

maj% = 0
GOSUB Detol: ' Extraction du manuel d'aide, de l'Editeur Panoramic (si utile)
IF FILE_EXISTS(ff$) = 0
    FOR i% = 1 TO COUNT(10)
        ' catégorie XXX partout (initialisation), à mettre à jour
        ITEM_ADD 80, "XXX " + ITEM_READ$(10, i%)
    NEXT i%
    FILE_SAVE 80, ff$: ' création initiale du fichier des associations
ELSE
    FILE_LOAD 80, ff$
    IF maj% = 1 AND COUNT(10) > COUNT(80)
        ' il y a eu une mise à jour (nouveaux mots-clés), mise à niveau des deux listes
        FOR i% = 1 TO COUNT(10)
            a$ = ITEM_READ$(10, i%)
            IF a$ <> MID$(ITEM_READ$(80,i%),5,100): ' c'est un nouveau mot
                ITEM_INSERT 80, i%+1, "XXX "+a$: ' catégorie sera à mettre à jour
            END_IF
        NEXT i%
        FILE_SAVE 80, ff$: ' sauvegarde
    END_IF
END_IF
' ==============================================================================
END: ' =========================================================================
' =========================== SOUS-PROGRAMMES ==================================
Detol:
IF DIR_EXISTS(rm$) = 0 THEN DIR_MAKE rm$
EXECUTE_WAIT "CMD.exe /C DIR "+Edipan$+" /TC | clip"
a$ = CLIPBOARD_STRING_PASTE$: i% = INSTR(a$,"/")
i% = VAL(MID$(a$,i%+4,4)+MID$(a$,i%+1,2)+MID$(a$,i%-2,2)): ' date Editeur actuel
b$ = "0"
IF FILE_EXISTS(fa$) = 1
    FILE_OPEN_READ 1,fa$: FILE_READLN 1,b$: FILE_CLOSE 1
    IF LEN(b$) >= 8
        b$ = LEFT$(b$,8): ' date de la dernière mise à jour (forme: aaaammjj)
    ELSE
        b$ = "0"
    END_IF
END_IF
IF VAL(b$) < i%
detolf:
    ' Date Editeur plus récente, ou création initiale
    CLEAR 10: ITEM_ADD 10,"Reconstitution de la liste ..."
    Chronos(1,40,80): ' affichage d'un chrono circulaire
    MotsClesPano(Edipan$,fl$,fa$,fc$): ' Création initiale, ou mise à jour de la doc
    Chronos(0): ' fin chrono
    maj% = 1: ' mise à jour de la liste des mots-clés effectuée
END_IF
FILE_LOAD 10,fl$
s$ = ITEM_READ$(10,1): GOSUB detex: ' affichage du premier (#INCLUDE)
RETURN
' ==============================================================================
Detail:
' Clic sur un mot-clé
rec = 0: HIDE 90
s$ = ITEM_INDEX$(10)
detex:
FILE_OPEN_READ 1,fa$
    FILE_READLN 1,b$: WHILE MID$(b$,4,50)<>s$: FILE_READLN 1,b$: END_WHILE
    a$ = TRIM$(MID$(b$,4,50)): i% = WIDTH(11)/TEXT_WIDTH(" ",12): ' nb car
    CAPTION 12, STRING$(INT((i%-LEN(a$))/2)," ")+a$
FILE_CLOSE 1
obj% = 11: GOSUB Affiche: ' afficher le mot-clé s$ sur le List 11
RETURN
' ==============================================================================
Affiche:
' Affichage de la fiche du mot-clé s$ dans l'objet obj%
FILE_OPEN_READ 1,fa$
FILE_READLN 1,b$: WHILE MID$(b$,4,50)<>s$: FILE_READLN 1,b$: END_WHILE
a$ = TRIM$(MID$(b$,4,50)): i% = WIDTH(11)/TEXT_WIDTH(" ",12): ' nb car
FILE_READLN 1,b$
CLEAR obj%
j% = WIDTH(obj%)
i% = 1+TEXT_WIDTH("ABCDEF",11)/6: ncl = INT(j%/i%)-1
WHILE LEFT$(b$,3)<>"1_ " AND FILE_EOF(1)=0
    IF MID$(b$,2,2) = "_ "
        i% = VAL(LEFT$(b$,1)): ITEM_ADD obj%,""
        IF i%>2
            d$ = fct$(i%): j% = (66-LEN(d$))/2
            ITEM_ADD obj%,STRING$(j%,"=")+" "+d$+" "+STRING$(j%,"=")
        END_IF
        b$ = MID$(b$,4,200)
    END_IF
    WHILE LEN(b$)>ncl
        FOR k% = ncl TO 1 STEP -1
            IF MID$(b$,k%,1)=" " THEN EXIT_FOR
        NEXT k%
        ITEM_ADD obj%,LEFT$(b$,k%-1): b$ = MID$(b$,k%+1,200)
    END_WHILE
    ITEM_ADD obj%,b$
    FILE_READLN 1,b$
END_WHILE
FILE_CLOSE 1
IF FILE_EXISTS(rm$+a$+".txu") = 1: ' fichier de commentaire perso pour ce mot-clé
    ITEM_ADD obj%,""
    ITEM_ADD obj%,STRING$(37,CHR$(7))+"( COMMENTAIRES PERSO )"+STRING$(37,CHR$(7))
    FILE_ADD obj%, q$+rm$+a$+ ".txu"+q$
END_IF
RETURN
' ==============================================================================
Vlc:
' Liste détaillée complète avec fonctions
FILE_LOAD 71,fc$
SHOW 70: TO_FOREGROUND 70
RETURN
' ==============================================================================
Vlcok:
' clic bouton OK
rec = 0: HIDE 70: s$ = ITEM_READ$(10, 1): GOTO detex
RETURN
' ==============================================================================
Dtx:
rec = 0: HIDE 70: s$ = ITEM_INDEX$(71)
k% = INSTR(s$,":"): s$ = TRIM$(LEFT$(s$,k%-1))
GOTO detex: ' doc du mot-clé cliqué
RETURN
' ==============================================================================
Reinit:
a$ = "Reconstituer l'aide complète à partir de l'Éditeur Panoramic ?"
IF MESSAGE_CONFIRMATION_YES_NO(a$) = 1
    GOSUB detolf
END_IF
RETURN
' ==============================================================================
Docweb:
EXECUTE_WAIT "http://panoramic-language.pagesperso-orange.fr/French/DOCUMENTS.htm"
RETURN
' ==============================================================================
Objets:
SHOW 400
RETURN
' ==============================================================================
Clobj:
HIDE 400
RETURN
' ==============================================================================
Objets1:
i% = NUMBER_CLICK
SELECT i%
    CASE 402: ' ALPHA
    a$ = "Objet 6 : ALPHA" + cr$
    a$ = a$ + cr$ + "Visualisation d'un texte statique, non modifiable" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 65 x 17" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Positionnement et dimensions: TOP, LEFT, HEIGHT, WIDTH"
    a$ = a$ + cr$ + "Texte à afficher: CAPTION n,chaîne"
    CASE 403: ' BUTTON
    a$ = "Objet 2 : BUTTON" + cr$
    a$ = a$ + cr$ + "Affichage d'un bouton cliquable" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 75 x 25" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Positionnement et dimensions: TOP, LEFT, HEIGHT, WIDTH"
    a$ = a$ + cr$ + "Intitulé: CAPTION n,chaîne"
    a$ = a$ + cr$ + "Lecture: par ON_CLICK n,adresse"
    a$ = a$ + "Événements: IF CLICKED(n) = 1, ON_KEY_UP, ON_KEY_DOWN"
    CASE 404: ' FORM
    a$ = "Objet 7 : FORM" + cr$
    a$ = a$ + cr$ + "Création d'un conteneur d'objets" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 320 x 240" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Positionnement et dimensions: TOP, LEFT, HEIGHT, WIDTH"
    a$ = a$ + cr$ + "Intitulé: CAPTION n,string"
    a$ = a$ + cr$ + "Modifier la bordure: BORDER_HIDE, BORDER_SMALL, BORDER_NORMAL"
    a$ = a$ + cr$ + "Événements: ON_CLICK, ON_KEY_UP, ON_KEY_DOWN, ON_CLOSE"
    CASE 405: ' GRID
    a$ = "Objet 22 : GRID" + cr$
    a$ = a$ + cr$ + "Création d'un objet grille (tableau)" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 320 x 120 (1+4 lignes, 1+4 colonnes)" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Caractéristiques:"
    a$ = a$ + cr$ + "    HINT, HINT_HIDE, FULL_SPACE"
    a$ = a$ + cr$ + "    GRID_COLUMN, GRID_COLUMN_FIXED, GRID_COLUMN_WIDTH"
    a$ = a$ + cr$ + "    GRID_ROW, GRID_ROW_FIXED, GRID_ROW_HEIGHT"
    a$ = a$ + cr$ + "    GRID_ONE_COLUMN_WIDTH, GRID_ONE_ROW_HEIGHT"
    a$ = a$ + cr$ + "    GRID_FIXED_COLOR, GRID_WRITE, GRID_READ$"
    a$ = a$ + cr$ + "    GRID_X_TO_COLUMN, GRID_Y_TO_ROW"
    a$ = a$ + cr$ + "    GRID_COLUMN_SIZING_ON, GRID_COLUMN_SIZING_OFF"
    a$ = a$ + cr$ + "    GRID_ROW_SIZING_ON, GRID_ROW_SIZING_OFF"
    a$ = a$ + cr$ + "Gestion de l'événement: ON_CLICK n, étiquette"
    CASE 406: ' MEMO
    a$ = "Objet 4 : MEMO" + cr$
    a$ = a$ + cr$ + "Visualisation d'une zone multilignes, modifiable par l'utilisateur" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 185 x 89" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Positionnement et dimensions: TOP, LEFT, HEIGHT, WIDTH"
    a$ = a$ + cr$ + "Barres de défilement: BAR_HORIZONTAL, BAR_VERTICAL, BAR_BOTH, BAR_NONE"
    a$ = a$ + cr$ + "Nettoyage du Memo: CLEAR n"
    a$ = a$ + cr$ + "Charger un fichier: FILE_LOAD n, fichier"
    a$ = a$ + cr$ + "Ajouter un fichier: FILE_ADD n, fichier"
    a$ = a$ + cr$ + "Sauvegarder la liste dans un fichier: FILE_SAVE n, fichier"
    a$ = a$ + cr$ + "Ajouter du texte: ITEM_ADD n, chaîne"
    a$ = a$ + cr$ + "Insérer du texte (après x): ITEM_INSERT n, x, chaîne"
    a$ = a$ + cr$ + "Supprimer une ligne: ITEM_DELETE n, x"
    a$ = a$ + cr$ + "Lire une ligne (x): ITEM_READ$(n, x)"
    a$ = a$ + cr$ + "Nombre d'éléments: COUNT(n)"
    CASE 407: ' SPIN
    a$ = "Objet 21 : SPIN" + cr$
    a$ = a$ + cr$ + "Choix d'une valeur numérique par incrémentation ou décrémentation" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 121 x 21" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Positionnement et dimensions: TOP, LEFT, HEIGHT, WIDTH"
    a$ = a$ + cr$ + "Forçage de la valeur initiale: POSITION n,v"
    a$ = a$ + cr$ + "Forçage des valeurs maxi et mini: MAX n,x  MIN n,y"
    a$ = a$ + cr$ + "Lecture de la position: POSITION(n), TOP(n), LEFT(n)"
    CASE 412: ' COMBO
    a$ = "Objet 5 : COMBO" + cr$
    a$ = a$ + cr$ + "Choix d'une ligne modifiable par l'utilisateur dans une zone multilignes" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 145 x 21" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Positionnement et dimensions: TOP, LEFT, HEIGHT, WIDTH"
    a$ = a$ + cr$ + "Charger un fichier: FILE_LOAD n, fichier"
    a$ = a$ + cr$ + "Ajouter un fichier: FILE_ADD n, fichier"
    a$ = a$ + cr$ + "Ajouter du texte: ITEM_ADD n, chaîne"
    a$ = a$ + cr$ + "Insérer du texte (après x): ITEM_INSERT n, x, chaîne"
    a$ = a$ + cr$ + "Supprimer une ligne: ITEM_DELETE n, x"
    a$ = a$ + cr$ + "Lire une ligne (x): ITEM_READ$(n, x)"
    a$ = a$ + cr$ + "Ligne sélectionnée: ITEM_INDEX(n), ITEM_INDEX$(n)"
    a$ = a$ + cr$ + "Visualiser un texte: TEXT n,a$"
    a$ = a$ + cr$ + "Nombre d'éléments: COUNT(n)"
    a$ = a$ + cr$ + "Effacement total: CLEARn"
    a$ = a$ + cr$ + "Charger la liste des polices système: FONT_NAMES_LOAD"
    a$ = a$ + cr$ + "Ajouter la liste des polices système: FONT_NAMES_ADD"
    a$ = a$ + cr$ + "Sauvegarder la liste dans un fichier: FILE_SAVE n, fichier"
    CASE 413: ' DLIST
    a$ = "Objet 26 : DLIST" + cr$
    a$ = a$ + cr$ + "Liste d'articles chaîne non visibles" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Charger un fichier: FILE_LOAD n, fichier"
    a$ = a$ + cr$ + "Ajouter un fichier: FILE_ADD n, fichier"
    a$ = a$ + cr$ + "Sauvegarder la liste dans un fichier: FILE_SAVE n, fichier"
    a$ = a$ + cr$ + "Ajouter du texte: ITEM_ADD n, chaîne"
    a$ = a$ + cr$ + "Insérer du texte (après x): ITEM_INSERT n, x, chaîne"
    a$ = a$ + cr$ + "Supprimer une ligne: ITEM_DELETE n, x"
    a$ = a$ + cr$ + "Lire une ligne (x): ITEM_READ$(n, x)"
    a$ = a$ + cr$ + "Nombre d'éléments: COUNT(n)"
    a$ = a$ + cr$ + "Effacement total: CLEAR n"
    a$ = a$ + cr$ + "Charger la liste des polices système: FONT_NAMES_LOAD"
    a$ = a$ + cr$ + "Ajouter la liste des polices système: FONT_NAMES_ADD"
    CASE 414: ' EDIT
    a$ = "Objet 3 : EDIT" + cr$
    a$ = a$ + cr$ + "Saisie et/ou modification d'une ligne de texte" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 121 x 21" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Visualiser un texte: TEXT n, chaîne"
    a$ = a$ + cr$ + "Lire le texte entré par l'utilisateur: TEXT$(n)"
    a$ = a$ + cr$ + "Événements: ON_CLICK, ON_CHANGE, ON_KEY_UP, ON_KEY_DOWN"
    CASE 415: ' LIST
    a$ = "Objet 8 : LIST" + cr$
    a$ = a$ + cr$ + "Choix d'une ligne dans une zone multilignes (non modifiable)" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 121 x 97" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Positionnement et dimensions: TOP, LEFT, HEIGHT, WIDTH"
    a$ = a$ + cr$ + "Charger un fichier: FILE_LOAD n, fichier"
    a$ = a$ + cr$ + "Ajouter d'un fichier: FILE_ADD n, fichier"
    a$ = a$ + cr$ + "Ajouter du texte: ITEM_ADD n, chaîne"
    a$ = a$ + cr$ + "Insérer du texte (après x): ITEM_INSERT n, x, chaîne"
    a$ = a$ + cr$ + "Supprimer une ligne: ITEM_DELETE n, x"
    a$ = a$ + cr$ + "Lire une ligne (x): ITEM_READ$(n, x)"
    a$ = a$ + cr$ + "Ligne sélectionnée: x = ITEM_INDEX(n) ou a$ = ITEM_INDEX$(n)"
    a$ = a$ + cr$ + "Nombre d'éléments: COUNT(n)"
    a$ = a$ + cr$ + "Effacement total: CLEAR n"
    a$ = a$ + cr$ + "Charger la liste des polices système: FONT_NAMES_LOAD"
    a$ = a$ + cr$ + "Ajouter la liste des polices système: FONT_NAMES_ADD"
    a$ = a$ + cr$ + "Sauvegarder la liste dans un fichier: FILE_SAVE n, fichier"
    CASE 422: ' SCENE2D
    a$ = "Objet 27 : SCENE2D" + cr$
    a$ = a$ + cr$ + "Visualisation d'un univers 2D" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 200 x 200" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "TOP, LEFT, WIDTH, HEIGHT, COLOR, FULL_SPACE, STRETCH_ON, STRETCH_OFF"
    CASE 423: ' SCENE3D
    a$ = "Objet 1 : SCENE3D" + cr$
    a$ = a$ + cr$ + "Visualisation d'un monde 3D" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 200 x 200" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "TOP, LEFT, WIDTH, HEIGHT, COLOR, HINT, HINT_HIDE, FULL_SPACE, ON_CLICK"
    CASE 424: ' SPRITE
    a$ = "Objet : SPRITE" + cr$
    a$ = a$ + cr$ + "Image déplaçable sur un SCENE2D sans perturber celui-ci"+cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): " + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "SPRITE_FILE_LOAD, SPRITE_IMAGE_LOAD, SPRITE_X_POSITION, SPRITE_Y_POSITION"
    a$ = a$ + cr$ + "SPRITE_POSITION, SPRITE_HIDE, SPRITE_SHOW, SPRITE_DELETE"
    CASE 432: ' HVIEWER
    a$ = "Objet : HVIEWER" + cr$
    a$ = a$ + cr$ + "Pour visualiser un fichier au format HTML"
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 185 x 105" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "FILE_LOAD"
    CASE 433: ' IMAGE
    a$ = "Objet 41 : IMAGE" + cr$
    a$ = a$ + cr$ + "Création d'un objet IMAGE en mémoire" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "FILE_LOAD, FILE_SAVE, 2D_IMAGE_COPY, 2D_IMAGE_PASTE,"
    a$ = a$ + cr$ + "CLIPBOARD_COPY, CLIPBOARD_PASTE, SPRITE_IMAGE_LOAD, 2D_IMAGE_TEXTURE"
    CASE 434: ' MOVIE
    a$ = "Objet 15 : MOVIE" + cr$
    a$ = a$ + cr$ + "Création d'un objet MOVIE" + cr$
    a$ = a$ + "pour jouer une vidéo multimédia chargée par FILE_LOAD" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 100 x 80" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "TOP, LEFT, WIDTH, HEIGHT, HINT, HINT_HIDE, FULL_SPACE, COLOR,"
    a$ = a$ + cr$ + "ON_CLICK, FILE_LOAD"
    CASE 435: ' PICTURE
    a$ = "Objet 9 : PICTURE" + cr$
    a$ = a$ + cr$ + "Création d'une zone d'affichage d'une image BMP ou JPG" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 105 x 105" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Positionnement et dimensions: TOP, LEFT, HEIGHT, WIDTH"
    a$ = a$ + cr$ + "Chargement d'une image dans le picture: FILE_LOAD n, Image"
    a$ = a$ + cr$ + "Ajuster l'image à la fenêtre: STRETCH_ON n"
    a$ = a$ + cr$ + " (inverse: STRETCH_OFF n)"
    a$ = a$ + cr$ + "Position de la souris sur le picture: MOUSE_X_POSITION, MOUSE_Y_POSITION"
    a$ = a$ + cr$ + "Effacement total (doit être la cible du 2D_TARGET): CLS"
    CASE 436: ' SOUND
    a$ = "Objet 14 : SOUND" + cr$
    a$ = a$ + cr$ + "Création d'un objet SOUND" + cr$
    a$ = a$ + "pour jouer un fichier son chargé par FILE_LOAD" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "FILE_LOAD, PLAY"
    CASE 442: ' OPTION
    a$ = "Objet 11 : OPTION" + cr$
    a$ = a$ + cr$ + "Sous-ensemble de CONTAINER_OPTION" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 113 x 117" + cr$
    a$ = a$ + cr$ + " Commandes associées:" + cr$
    a$ = a$ + cr$ + "PARENT n (n = le CONTAINER_OPTION)"
    a$ = a$ + cr$ + "Intitulé: CAPTION n, chaîne"
    a$ = a$ + cr$ + "Forçage d'une option: MARK_ON, MARK_OFF"
    CASE 443: ' CHECK
    a$ = "Objet 10 : CHECK" + cr$
    a$ = a$ + cr$ + "Case à cocher" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 97 x 17" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Positionnement et dimensions: TOP, LEFT, HEIGHT, WIDTH"
    a$ = a$ + cr$ + "Forçage de l'option: MARK_ON ou MARK_OFF"
    a$ = a$ + cr$ + "Intitulé: CAPTION"
    a$ = a$ + cr$ + "Lecture: IF CHECKED(n) = 1"
    CASE 452: ' MAIN_MENU
    a$ = "Objet 12 : MAIN_MENU" + cr$
    a$ = a$ + cr$ + "Création d'un système de menus" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "ON_CLICK"
    CASE 453: ' SUB_MENU
    a$ = "Objet 13 : SUB_MENU" + cr$
    a$ = a$ + cr$ + "Création des sous-menus d'un MAIN_MENU" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "PARENT, CAPTION, HIDE, SHOW, ACTIVE, INACTIVE, ON_CLICK"
    CASE 462: ' PROGRESS_BAR
    a$ = "Objet 20 : PROGRESS_BAR" + cr$
    a$ = a$ + cr$+ "Visualisation d'un indicateur de progression" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 150 x 17" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Positionnement et dimensions: TOP, LEFT, HEIGHT, WIDTH"
    a$ = a$ + cr$ + "Orientation: HORIZONTAL n, VERTICAL n "
    a$ = a$ + cr$ + "Valeurs limites: MIN n, v et MAX n, v"
    a$ = a$ + cr$ + "Fixation de la position initiale: POSITION n, v"
    a$ = a$ + cr$ + "Lecture de la position actuelle: POSITION(n)"
    CASE 463: ' SCROLL_BAR
    a$ = "Objet 19 : SCROLL_BAR" + cr$
    a$ = a$ + cr$ + "Déplacement d'un curseur carré vers une valeur choisie" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 121 x 17" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Positionnement et dimensions: TOP, LEFT, HEIGHT, WIDTH"
    a$ = a$ + cr$ + "Orientation: HORIZONTAL n, VERTICAL n "
    a$ = a$ + cr$ + "Valeurs limites: MIN n, v et MAX n, v"
    a$ = a$ + cr$ + "Fixation de la position initiale: POSITION n, v"
    a$ = a$ + cr$ + "Lecture de la position actuelle: POSITION(n)"
    CASE 464: ' TRACK_BAR
    a$ = "Objet 16 : TRACK_BAR" + cr$ + cr$
    a$ = a$ + "Choix d'une valeur par déplacement d'un curseur" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 150 x 45" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Positionnement et dimensions: TOP, LEFT, HEIGHT, WIDTH"
    a$ = a$ + cr$ + "Orientation: HORIZONTAL n, VERTICAL n "
    a$ = a$ + cr$ + "Valeurs limites: MIN n, v et MAX n, v"
    a$ = a$ + cr$ + "Fixation de la position initiale: POSITION n, v"
    a$ = a$ + cr$ + "Lecture de la position actuelle: POSITION(n)"
    CASE 472: ' OPEN_DIALOG
    a$ = "Objet 17 : OPEN_DIALOG" + cr$
    a$ = a$ + cr$ + "Création d'un OPEN_DIALOG pour choix de fichier ultérieur" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "FILTER, FILE_NAME$, DIR_DIALOG"
    CASE 473: ' SAVE_DIALOG
    a$ = "Objet 18 : SAVE_DIALOG" + cr$
    a$ = a$ + cr$ + "Création d'un SAVE_DIALOG pour sauvegarde ultérieure de fichier" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "FILTER, FILE_NAME$, DIR_DIALOG"
    CASE 482: ' TIMER
    a$ = "Objet 28 : TIMER" + cr$
    a$ = a$ + cr$ + "Déclenchement d'une interruption périodique" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Période (implicite 1000ms): TIMER_INTERVAL"
    a$ = a$ + cr$ + "Désactivation/Réactivation: TIMER_OFF, TIMER_ON"
    a$ = a$ + cr$ + "Gestion de l'événement: ON_TIMER n, étiquette"
    CASE 492: ' CONTAINER
    a$ = "Objet 23 : CONTAINER" + cr$
    a$ = a$ + cr$ + "Création d'un conteneur d'objets système" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "TOP, LEFT, WIDTH, HEIGHT, HINT, HINT_HIDE, FULL_SPACE,"
    a$ = a$ + cr$ + "PARENT, ON_CLICK"
    CASE 493: ' CONTAINER_OPTION
    a$ = "Objet 32 : CONTAINER_OPTION" + cr$
    a$ = a$ + cr$ + "Choix d'une option parmi plusieurs (choix exclusif)" + cr$
    a$ = a$ + cr$ + "Dimensions implicites (pixels): 185 x 105" + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "Positionnement et dimensions: TOP, LEFT, HEIGHT, WIDTH"
    a$ = a$ + cr$ + "Intitulé: CAPTION n, chaîne"
    a$ = a$ + cr$ + "Événements: ON_CLICK n, étiquette"
    CASE 494: ' PANEL
    a$ = "Objet : PANEL" + cr$
    a$ = a$ + cr$ + "- Dimensions implicites (pixels): 185 x 105" + cr$
    a$ = a$ + cr$ + "Création d'un conteneur d'objets système."
    a$ = a$ + cr$ + "Ce conteneur ne possède pas de contour." + cr$
    a$ = a$ + cr$ + "- Commandes associées:" + cr$
    a$ = a$ + cr$ + "CAPTION, CAPTION$(), ON_CLICK, ON_DOUBLE_CLICK"
END_SELECT
CLEAR 498
ITEM_ADD 498,a$
RETURN
' ==============================================================================
Nmc:
EXECUTE_WAIT fnm$
RETURN
' ==============================================================================
News:
EXECUTE_WAIT "Write.exe " + fnews$
RETURN
' ==============================================================================
Recher:
' rechercher une expression seq$ dans la documentation complète
seq$ = MESSAGE_INPUT$("Recherche d'une séquence dans les fiches","Séquence cherchée:","")
IF seq$ = "" THEN RETURN
CLEAR 11
CAPTION 12, "RECHERCHE DE LA SÉQUENCE: " + seq$
seq$ = UPPER$(seq$): tr = 0
FILE_OPEN_READ 1,fa$
WHILE FILE_EOF(1)=0
    FILE_READLN 1,a$
    IF LEFT$(a$,3)="1_ " THEN b$ = MID$(a$,4,50): ' nom du mot-clé
    IF LEFT$(a$,3)="2_ "
        k% = INSTR(UPPER$(a$),seq$)
        IF k%>0 THEN ITEM_ADD 11,b$: tr = 1
    END_IF
END_WHILE
FILE_CLOSE 1
d$ = " ***** RECHERCHE TERMINÉE: "
IF tr = 0
    d$ = d$ + "Non trouvé ! *****"
ELSE
    d$ = d$ + " Clic un article pour détails *****"
END_IF
ITEM_ADD 11, "": ITEM_ADD 11, d$
rec = 1
RETURN
' ==============================================================================
Afrec:
IF rec = 0 OR tr = 0 THEN RETURN
IF ITEM_INDEX(11) >= (COUNT(11)-1) THEN RETURN
s$ = ITEM_INDEX$(11)
Afrec1:
' visualisation d'une fiche dans le List 91
SHOW 90: TO_FOREGROUND 90: CLEAR 91
CAPTION 94,s$
obj% = 91: GOSUB Affiche
RETURN
' ==============================================================================
Faff:
HIDE 90
RETURN
' ==============================================================================
Vtt:
' Voir tous les mots-clés ou une catégorie seulement
i% = NUMBER_CLICK
IF i% = 51
    ' Voir tous les mots-clés
    FILE_LOAD 10, fl$
    SHOW 200
    WIDTH 201,WIDTH(200)-16: HEIGHT 201,HEIGHT(200)-38: COLOR 201,200,255,200
    TOP 202,HEIGHT(200)-70: LEFT 202,WIDTH(201)/2-40
    nc = 10: lc = INT(WIDTH(201)/nc): hc = 15
    x% = 0: y% = 0: d$ = "": cc% = -1
    2D_TARGET_IS 201: 2D_FILL_COLOR 255,255,200
    PRINT_TARGET_IS 201: FONT_SIZE 201,8: ' font_bold 201
    FONT_NAME 201,"Arial"
    HIDE 201
    FILE_OPEN_READ 1, fl$
    WHILE FILE_EOF(1) = 0
        FILE_READLN 1, a$
        IF LEFT$(a$,2) <> d$ THEN cc% = -1 * cc%
        FONT_COLOR 201,0,0,0: IF cc% <> 1 THEN FONT_COLOR 201,0,0,255
        d$ = LEFT$(a$, 2)
        PRINT_LOCATE x%, y%: PRINT a$
        x% = x%+lc: IF x%>=(WIDTH(201)-20) THEN x% = 0: y% = y% + hc
    END_WHILE
    FILE_CLOSE 1
    SHOW 201
ELSE
    ' Voir une catégorie seulement
    k% = i% - 51: d$ = Cat$(k%): ' catégorie cliquée
    CLEAR 10
    FOR i% = 1 TO COUNT(80)
        a$ = ITEM_READ$(80, i%)
        IF LEFT$(a$, 3) = d$
            ITEM_ADD 10, MID$(a$, 5, 100)
        END_IF
    NEXT i%
END_IF
RETURN
' ==============================================================================


Dernière édition par JL35 le Mer 22 Oct 2014 - 22:10, édité 1 fois
Revenir en haut Aller en bas
JL35




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

Mon interface Panoramic - Page 4 Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic - Page 4 EmptyMar 21 Oct 2014 - 18:44

La suite (deuxième partie, à coller à la première partie ci-dessus):
Code:

Vcel:
' Clic sur un élément de la liste complète
x% = MOUSE_X_LEFT_DOWN(201): y% = MOUSE_Y_LEFT_DOWN(201)
i% = 1 + nc*INT(y%/hc) + INT(x%/lc)
s$ = ITEM_READ$(10, i%)
IF x% < WIDTH(200)/2
    ' LEFT 90,WIDTH(200)/2+40
ELSE
    ' LEFT 90,40
END_IF
GOTO Afrec1
' ==============================================================================
Vtts:
HIDE 200
RETURN
' ==============================================================================
Ajout:
' Ajout de commentaires personnels à une fiche (création fichier spécial txu)
a$ = q$ + rm$ + s$ + ".txu" + q$
EXECUTE_WAIT "Notepad.exe " + a$
RETURN
' ==============================================================================
Astuces:
EXECUTE_WAIT "Wordpad.exe " + fas$: ' trucs et astuces
RETURN
' ==============================================================================
Kgf:
EXECUTE_WAIT kgp$: ' Affichage de KGF.pdf dans Acrobat: doc de KGF.dll
RETURN
' ==============================================================================
Aide:
v$ = CHR$(13)+CHR$(10)
a$ = " - VISUALISATION DE LA DOCUMENTATION SUR LES MOTS-CLÉS PANORAMIC -"+v$+v$
a$ = a$+"Aide succincte :"+v$+v$
a$ = a$+"La liste et l'aide des mots-clés sont extraits de Panoramic_Editor."+v$
a$ = a$+"Cette extraction est refaite automatiquement à chaque nouvelle version de"+v$
a$ = a$+"l'Éditeur, mais on peut également forcer la mise à jour (menu 'Réinit')."+v$
a$ = a$+"Le programme d'extraction génère trois fichiers : un fichier liste brute des mots-"+v$
a$ = a$+"clés, un fichier contenant l'ensemble de la documentation pour tous les mots-clés,"+v$
a$ = a$+"et un fichier de correspondance entre chaque mot-clé et sa fonction. L'ensemble"+v$
a$ = a$+"est rangé dans un répertoire particulier à définir (voir les chemins des répertoires"+v$
a$ = a$+"en début de programme, à adapter à ses conditions locales)."+v$
a$ = a$+"Affichage : à gauche la liste complète des mots-clés, à droite la fiche du mot-clé"+v$
a$ = a$+"cliqué dans la liste."+v$+v$
a$ = a$+"- Menu 'Réinit' : régénération des fichiers (voir plus haut)."+v$
a$ = a$+"- Menu 'Objets' : affichage d'une page présentant les caractéristiques principales"+v$
a$ = a$+"des différents objets Panoramic, pour mémoire."+v$
a$ = a$+"- Menu 'Historique' : lance la connexion sur la rubrique 'Historique' (évolution"+v$
a$ = a$+"du langage) du forum Panoramic."+v$
a$ = a$+"- Menu 'Nouveautés' : affichage d'un fichier au format .rtf (Wordpad), aide-"+v$
a$ = a$+"mémoire à tenir à jour soi-même, extrait de la rubrique 'Ce qui est en cours' du"+v$
a$ = a$+"forum."+v$
a$ = a$+"- Menu 'Rechercher' : permet de rechercher un mot ou une série de mots dans"+v$
a$ = a$+"toutes les fiches mots-clés, pour rechercher par exemple un mot-clé particulier."+v$
a$ = a$+"- Menu 'Voir' : Il est possible de visualiser l'ensemble des mots-clés dans une"+v$
a$ = a$+"seule fenêtre. En cliquant sur un élément, on obtient la fiche correspondant à"+v$
a$ = a$+"cet élément."+v$
a$ = a$+"Il est possible également de ne visualiser que les mots-clés appartenant à une"+v$
a$ = a$+"catégorie donnée, il faut avoir préalablement classé les mots-clés selon ces"+v$
a$ = a$+"critères (voir plus loin)."+v$
a$ = a$+"- Menu 'Maj catégories' : classement des mots-clés, voir plus loin."+v$+v$
a$ = a$+"Il a été ajouté la possibilité d'associer à un 'mot-clé' une fiche"+v$
a$ = a$+"'commentaire personnel', dans laquelle on peut consigner ses remarques"+v$
a$ = a$+"personnelles, exemples de programmes, aide-mémoire, etc. concernant ce mot-"+v$
a$ = a$+"clé particulier. Ce 'commentaire perso' sera affiché automatiquement à chaque"+v$
a$ = a$+"appel de la fiche du mot-clé correspondant."+v$
a$ = a$+"Pour créer et/ou modifier une fiche de commentaire perso, il suffit de cliquer"+v$
a$ = a$+"le bouton 'Ajouter' en bas à droite, au moment de l'affichage de la fiche."+v$+v$
a$ = a$+"Classement des mots-clés par catégories :"+v$
a$ = a$+"Un classement arbitraire par catégorie d'usage peut être réalisé: il est créé"+v$
a$ = a$+"au lancement un fichier des mots-clés avec leur catégorie (tous XXX au départ)."+v$
a$ = a$+"Mise à jour : Menu 'Maj catégorie', modifier le mot clé ou une série de mots-clés,"+v$
a$ = a$+"puis enregistrer le résultat, qui sera conservé."+v$
a$ = a$+"A chaque nouveau mot-clé, (nouvelles versions) il faudra faire son classement."+v$
a$ = a$+"On peut adapter les catégories à sa guise: série de DATAs en tête du programme,"+v$
a$ = a$+"le menu 'Voir' sera adapté en conséquence."
MESSAGE a$
RETURN
' ==============================================================================
Majcat:
' gestion des catégories des mots-clés
SHOW 300
CLEAR 301
FOR i% = 1 TO COUNT(80)
    ITEM_ADD 301, RIGHT$("  "+STR$(i%),3)+" "+ITEM_READ$(80,i%)
NEXT i%
RETURN
' ==============================================================================
Exec:
n1 = VAL(TEXT$(311)): n2 = VAL(TEXT$(313))
IF n2 = 0 THEN n2 = n1: ' une seule ligne
IF n2 < n1 THEN RETURN
IF n1<1 OR n1>COUNT(301) THEN RETURN
IF n2<1 OR n2>COUNT(301) THEN RETURN
d$ = TEXT$(315)
FOR i% = n1 TO n2
    a$ = ITEM_READ$(301, i%)
    b$ = LEFT$(a$, 4) + d$ + MID$(a$, 8, 100)
    ITEM_DELETE 301, i%: ITEM_INSERT 301, i%, b$
NEXT i%
ini% = 0
RETURN
' ==============================================================================
Sauve:
CLEAR 80
FOR i% = 1 TO COUNT(301)
    a$ = MID$(ITEM_READ$(301, i%), 5, 100)
    ITEM_ADD 80, a$
NEXT i%
FILE_SAVE 80, ff$
RETURN
' ==============================================================================
Clkl:
i% = VAL(LEFT$(ITEM_INDEX$(301),3)): ' ligne cliquée
IF ini% = 0
    TEXT 311, STR$(i%): TEXT 313, STR$(i%): ini% = 1
ELSE
    IF ini% = 1
        TEXT 313, STR$(i%): ini% = 2
    ELSE
        IF ini% = 2
            ' on recommence à la 1ère ligne
            TEXT 311, STR$(i%): TEXT 313, STR$(i%): ini% = 1
        END_IF
    END_IF
END_IF
RETURN
' ==============================================================================
Inil:
IF CLICKED(311) = 1 THEN ini% = 0: TEXT 311,"": TEXT 313,""
IF CLICKED(313) = 1 THEN ini% = 1
RETURN
' ==============================================================================
Clkc:
a$ = LEFT$(ITEM_INDEX$(319), 3)
TEXT 315, a$
RETURN
' ==============================================================================
Fmaj:
HIDE 300
RETURN
' ==============================================================================
' ==============================================================================
SUB MotsClesPano(Edp$,fl$,fa$,fc$)
' Extraction depuis Edp$ (Panoramic_Editor.exe) de la documentation des mots-clés
' Panoramic.
' Résultats dans:
'      - fl$: liste brute des mots-clés
'      - fa$: documentation complète, par mot-clé
'      - fc$: liste des fonctions par mot_clé (parallèle à fl$)
DIM_LOCAL rm$,sd$,sf$,p%,fz$,a$,b$,sz%,k%,k1%,nmc%,dl%
rm$ = FILE_EXTRACT_PATH$(fl$): ' répertoire de travail provisoire
fz$ = rm$+"ppp.txt": ' fichier provisoire de travail (créé puis supprimé)
sd$ = "300D0A23494E434C554445": ' séquence début de recherche = 0<=#INCLUDE
sf$ = "0D0A460D0A46": ' séquence fin de recherche = <=F<=F
p% = 0: ' recherche à partir du début de l'Éditeur
FILEBIN_OPEN_READ 8,Edp$: FILEBIN_OPEN_WRITE 9,fz$: sz% = FILEBIN_SIZE(8)
FILEBIN_POSITION 8,p%
FILEBIN_HEXA_READ 8,2000,a$: k% = INSTR(a$,sd$)
WHILE k% < 1
    IF FILEBIN_POS(8) >= sz%
        CLIPBOARD_STRING_COPY STRING$(16,"0"): ' séquence début non trouvée
        FILEBIN_CLOSE 8: FILEBIN_CLOSE 9: EXIT_SUB
    END_IF
    p% = p%+2000-LEN(sd$): FILEBIN_POSITION 8,p%
    FILEBIN_HEXA_READ 8,2000,a$: k% = INSTR(a$,sd$)
END_WHILE
k1% = INSTR_POS(a$,sf$,k%)
IF k1% > 0
    a$ = MID$(a$,k%,k1%+LEN(sf$)-k%)
    FILEBIN_HEXA_WRITE 9,LEN(a$)/2,a$)
ELSE
    a$ = RIGHT_POS$(a$,k%): k% = 0
    WHILE k% < 1
        FILEBIN_HEXA_WRITE 9,LEN(a$)/2,a$
        p% = p%+2000-LEN(sf$)
        FILEBIN_HEXA_READ 8,2000,a$: k%=INSTR(a$,sf$)
    END_WHILE
    a$ = LEFT$(a$,k%-1)+sf$
    FILEBIN_HEXA_WRITE 9,LEN(a$)/2,a$
END_IF
FILEBIN_CLOSE 8: FILEBIN_CLOSE 9
FILE_OPEN_READ 8, fz$: FILE_OPEN_WRITE 9,fa$: FILE_OPEN_WRITE 6,fl$
FILE_OPEN_WRITE 7,fc$
EXECUTE_WAIT "CMD.exe /C DIR "+CHR$(34)+Edp$+CHR$(34)+" /TC | clip"
a$ = CLIPBOARD_STRING_PASTE$: k% = INSTR(a$,"/")
a$ = MID$(a$,k%+4,4)+MID$(a$,k%+1,2)+MID$(a$,k%-2,2)
FILE_WRITELN 9,a$+" * date de Panoramic_Editor": ' archivage de la date Éditeur
FILE_READLN 8,a$: nmc% = 0
WHILE FILE_EOF(8) = 0
    FILE_READLN 8,a$
    IF LEN(a$) = 1 AND NUMERIC(a$) = 1
        WHILE a$<>"1": FILE_READLN 8,a$: END_WHILE: FILE_WRITELN 9,"": ' saut de ligne
        FILE_READLN 8,a$: FILE_WRITELN 9,"1_ "+a$: nmc%=nmc%+1: ' MOT-CLÉ COMPLET
        IF LEFT$(a$,1) = "("
            IF INSTR(a$,"STEP") > 0
                a$ = "STEP"
            ELSE
                a$ = "TO"
            END_IF
        END_IF
        FILE_WRITELN 6,a$: b$ = a$
        WHILE a$<>"2": FILE_READLN 8,a$: END_WHILE
        FILE_READLN 8,a$: FILE_WRITELN 9,"2_ "+a$: ' RÉSUMÉ
        IF LEN(b$)<24 THEN b$=b$+STRING$(24-LEN(b$)," ")
        FILE_WRITELN 7,b$+" :"+a$: ' fonction globale
        WHILE a$<>"3": FILE_READLN 8,a$: END_WHILE
        FILE_READLN 8,a$: FILE_WRITELN 9,"3_ "+a$: ' DÉFINITION
        FILE_READLN 8,a$: WHILE LEN(a$)>1: FILE_WRITELN 9,a$: FILE_READLN 8,a$: END_WHILE
        WHILE a$<>"4": FILE_READLN 8,a$: END_WHILE
        FILE_READLN 8,a$: FILE_WRITELN 9,"4_ "+a$: ' FONCTION
        FILE_READLN 8,a$: WHILE LEN(a$)>1: FILE_WRITELN 9,a$: FILE_READLN 8,a$: END_WHILE
        WHILE a$<>"5": FILE_READLN 8,a$: END_WHILE
        FILE_READLN 8,a$: FILE_WRITELN 9,"5_ "+a$: ' SYNTAXE
        FILE_READLN 8,a$: WHILE LEN(a$)>1: FILE_WRITELN 9,a$: FILE_READLN 8,a$: END_WHILE
        WHILE a$<>"6": FILE_READLN 8,a$: END_WHILE
        FILE_READLN 8,a$: FILE_WRITELN 9,"6_ "+a$: ' USAGE
        FILE_READLN 8,a$: WHILE LEN(a$)>1: FILE_WRITELN 9,a$: FILE_READLN 8,a$: END_WHILE
        WHILE a$<>"7": FILE_READLN 8,a$: END_WHILE
        FILE_READLN 8,a$: FILE_WRITELN 9,"7_ "+a$: ' CAS D'ERREUR
        FILE_READLN 8,a$: WHILE LEN(a$)>1: FILE_WRITELN 9,a$: FILE_READLN 8,a$: END_WHILE
        WHILE a$<>"8": FILE_READLN 8,a$: END_WHILE
        FILE_READLN 8,a$: FILE_WRITELN 9,"8_ "+a$: ' EXEMPLES
        FILE_READLN 8,a$: WHILE LEN(a$)>1: FILE_WRITELN 9,a$: FILE_READLN 8,a$: END_WHILE
        WHILE a$<>"9": FILE_READLN 8,a$: END_WHILE
        FILE_READLN 8,a$: FILE_WRITELN 9,"9_ "+a$: ' EN RAPPORT
        FILE_READLN 8,a$: WHILE LEN(a$)>1: FILE_WRITELN 9,a$: FILE_READLN 8,a$: END_WHILE
    END_IF
END_WHILE
FILE_CLOSE 8: FILE_CLOSE 9: FILE_CLOSE 6: FILE_CLOSE 7
FILE_DELETE fz$
dl%=1000: WHILE OBJECT_EXISTS(dl%)=1: dl%=dl%+1: END_WHILE
DLIST dl%: FILE_LOAD dl%,fl$: SORT dl%: FILE_SAVE dl%,fl$: DELETE dl%
END_SUB
' ==============================================================================
SUB Chronos(fct%,x%,y%)
' Affichage d'un chrono à aiguille tournante en x%,y% de l'écran
' fct%=1: lancement, fct%=0: arrêt
DIM_LOCAL Chron$, fpa$
Chron$ = ra$+"Chronos.exe": ' affichage d'un chrono circulaire
fpa$ = ra$+"Fminut.txt": ' fichier paramètres pour Chronos.exe
IF FILE_EXISTS(Chron$) = 0 THEN EXIT_SUB
IF fct% = 1
    FILE_OPEN_WRITE 1,fpa$
        FILE_WRITELN 1,STR$(x%): FILE_WRITELN 1,STR$(y%)
    FILE_CLOSE 1
    CLIPBOARD_STRING_COPY fpa$
    EXECUTE Chron$: ' programme d'affichage du chrono
ELSE
    FILE_DELETE fpa$: ' arrêt du chrono
END_IF
END_SUB
' ==============================================================================
SUB Nomcourt(Path$)
' Conversion de Path long en Path court (sans espace) -> clipboard
DIM_LOCAL u$
FILE_OPEN_WRITE 9, "C:\TEMP\nc.bat"
    FILE_WRITELN 9, "@echo off"
    FILE_WRITELN 9, "for %%A in ("+CHR$(34)+Path$+CHR$(34)+") do echo.%%~sfA | clip"
FILE_CLOSE 9
EXECUTE_WAIT "C:\TEMP\nc.bat": FILE_DELETE "C:\TEMP\nc.bat"
' suppression des 3 caractères: espace, retour chariot, interligne de fin
u$=CLIPBOARD_STRING_PASTE$: u$=LEFT$(u$,LEN(u$)-3): CLIPBOARD_STRING_COPY u$
END_SUB
' ==============================================================================
22/10 j'ai un peu simplifié le code...


Dernière édition par JL35 le Mer 22 Oct 2014 - 22:12, édité 1 fois
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Mon interface Panoramic - Page 4 Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic - Page 4 EmptyMar 21 Oct 2014 - 18:57

Pas trop le temps de regarder ce soir mais je vais le mettre dans ma TODO liste... Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jean Claude

Jean Claude


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

Mon interface Panoramic - Page 4 Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic - Page 4 EmptySam 25 Oct 2014 - 14:03

Salut JL35,

J'ai réussi à paramétrer les chemins, pour aide.bas. J'ai créer l'exe.

Et voici ce que çà donne:

Mon interface Panoramic - Page 4 Image_37

Si tu as une idée du problème, çà m'intéresse.

Te presse pas ! Car je vais être indisponible jusqu’à jeudi prochain (à partir de ce soir).


Que veux-tu, la retraite çà bouffe tout notre temps ?! Very Happy

A+
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Mon interface Panoramic - Page 4 Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic - Page 4 EmptySam 25 Oct 2014 - 14:26

Bonjour a tous,

@Jean Claude :

J'ai eu ce message lors des précédentes mise au point.
Il s'agit certainement d'un problème dans les chemins des fichiers....

Attention entre les noms longs et les noms courts (max 8 caractères) !
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




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

Mon interface Panoramic - Page 4 Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic - Page 4 EmptySam 25 Oct 2014 - 17:31

Salut Jean Claude,
Je t'avoue que ton erreur me laisse perplexe, c'est la poisse ce genre d'erreur qui ne donne aucun renseignement sur l'endroit où ça se produit.

A priori je n'ai pas d'idée, puisque ça marche chez moi (je suppose que tu utilises bien la dernière version que j'ai mis ci-dessus... ps, oui, tu as bien le dernier libellé des menus). Un problème de chemin, comme dit Minibug ? à vérifier, mais je n'y crois pas trop.
Et le problème des noms longs de chemins ne devrait pas exister puisqu'ils sont convertis par la sub Nomcourt.

On peut dire que c'est quelque part dans la sub MotsClespano(), mais ça n'avance guère...
On peut dire aussi (d'après le libellé) que ce n'est pas Panoramic qui détecte l'erreur, mais Windows, donc c'est un problème d'accès disque au fichier...

Ne reste plus qu'à mettre des 'stop' de loin en loin pour voir à quel endroit ça coince, c'est artisanal et un peu frustrant, mais je ne vois pas de moyens de faire autrement.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Mon interface Panoramic - Page 4 Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic - Page 4 EmptySam 25 Oct 2014 - 17:45

cela peut être aussi des problèmes de gestion de fichiers.

Ouverture ou fermeture impossible, etc...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




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

Mon interface Panoramic - Page 4 Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic - Page 4 EmptySam 25 Oct 2014 - 18:25

Dans ces cas-là il me semble que ça ferait une erreur panoramic, avec libellé plus explicite et numéro de la ligne où se produit l'erreur...
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Mon interface Panoramic - Page 4 Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic - Page 4 EmptySam 25 Oct 2014 - 18:29

j'ai eu ce message a plusieurs reprise lors des configuration de tes programmes...
Mais je ne sais plus pour quel raison.

Alors sinon est ce que ca ne serait pas un LIST ou DLIST vide sur lequel on demande un numéro de liste inexistant ?

Argh !! j'ai plus de mémoire...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




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

Mon interface Panoramic - Page 4 Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic - Page 4 EmptySam 25 Oct 2014 - 19:47

Non, je ne crois pas, là aussi ça ferait une erreur panoramic bien ciblée. Je vois plutôt une erreur système de plus haut niveau, mais du coup plus difficile à cerner...
Revenir en haut Aller en bas
Contenu sponsorisé





Mon interface Panoramic - Page 4 Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic - Page 4 Empty

Revenir en haut Aller en bas
 
Mon interface Panoramic
Revenir en haut 
Page 4 sur 4Aller à la page : Précédent  1, 2, 3, 4
 Sujets similaires
-
» Domotique avec Panoramic : Interface RS232 TTL
» Interface avec Outlook
» extension de l'interface avec les DLL
» extension de l'interface avec les DLL - bis
» Interface de puissance pour la régie lumière 8 canaux.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Présentation et bavardage-
Sauter vers: