[Retour à la liste des qestions]
Question :
Après compilation d'un document Neobook contenant des fichiers .exe (diaporamas
compilés sous Axlialis), les liens vers ces diaporamas ne fonctionnent pas,
alors qu'ils fonctionnaient avant la compilation.
.A. On a fabriqué un montage multimédia sous Neobook.
Il s'appelle viste.pub et compilé il s'appellera visite.exe
Visite.exe est appelé une application NeoBook
Lorsque l'on fait l'essai sur le disque dur avant compilation tout fonctionne
très bien. Après compilation cela ne fonctionne plus, le chemin
du fichier n'est pas trouvé. Même constat lorsque l'application
est mise sur un cédérom.
« Sur le site WSKA, à l'adresse http://www.wska.com/htmlfr/main-faqneobook.html on trouve la réponse suivante :
Comment garantir le bon fonctionnement de la présentation quel que soit son emplacement ?
Si votre présentation est amenée à être déplacée sur un CD (par exemple) et qu'elle fait appel à des fichiers externes (exécutable, texte ou multimédia), il faut utiliser un chemin RELATIF.
Le problème :
• Vous travaillez dans l'éditeur de NeoBook Pro.
• Vous placez un bouton déclenchant l'apparition d'un texte.
• Vous indiquez le chemin vers ce texte (exemple : C:\Publis\Version1\Liste.TXT).
• Vous testez votre présentation au sein de NeoBook Pro.
• Tout va bien.
• Vous compilez et placez votre présentation et votre fichier texte sur un CD.
• Un message d'erreur vous indique que le fichier texte est introuvable.
C'est normal.
L'explication : Lors de la compilation, NeoBook Pro ne sauvegarde pas le chemin vers les fichiers externes à la présentation, ceci afin de permettre la portabilité.
La solution : Il convient d'utiliser une variable dans laquelle vous stockerez le chemin vers la présentation (où qu'elle se trouve par la suite).
Pour cela, il suffit de placer en attribut de la première page (par exemple) de votre présentation la commande : SystemInfo "PubDir" "[chemin]" puis d'utiliser la variable [chemin] pour localiser les fichiers externes.
Dans cette variable, la présentation trouvera le nom du disque et éventuellement du dossier où elle se trouve lors de son lancement.
Exemple : écrivez TextWindow "Liste complète" "132" "79" "-1" "195" "[chemin]Documents\Liste.TXT" "Wordwrap"
au lieu de TextWindow "Liste complète" "132" "79" "-1" "195" "C:\Publis\Documents\Liste.TXT" "Wordwrap"
Cette précaution ne concerne que les fichiers qui ne sont pas intégrés au sein de l'exécutable (c'est-à-dire les autres présentations, les fichiers textes ainsi que les vidéos, musiques et sons si vous faites ce choix au moment de la compilation).
Il faudra veiller ensuite à bien recréer l'arborescence sur le support de destination (CD-R, disquette ZIP, etc.) et à y copier vous-même les fichiers nécessaires.
Dans notre exemple, c'est le dossier \Publis qui accueille la présentation exécutable et le sous-dossier \Publis\Documents qui reçoit les fichiers auxquels elle a besoin d'accéder. »Si cette réponse vous convient c'est parfait, allez faire un tour chez WSKA pour avoir les dernières infos et au revoir. Pour les autres, ci-dessous la même chose expliqué d'une autre manière.
.B. Votre travail se trouve dans un répertoire du disque dur appelé Dossier Visite
.C. Vous avez mis les diaporamas dans un sous-répertoire de Dossier Visite appelé Diaporamas
.D. Ce répertoire contient plusieurs diaporamas appelés diapo1.exe, diapo2.exe, diapo3.exe etc ... Ces diaporamas ont été fabriqué avec Axialis Diapo par exemple ou tout autre produit capable de donner un fichier .exe (directement éxécutable, sans avoir besoin du programme qui a permis la fabrication). Ce sont des fichiers qui ne feront pas partie de la compilation visite.exe, ils resteront à l'extérieur.
Voir la copie d'écran ci-dessous pour retrouver l'organisation sur le disque dur.
.E. Dans NeoBook, vous avez ouvert votre fichier viste.pub
Vous vous positionnez sur la première page.
.F. Cliquez sur le nom de la page avec bouton droit de la souris. Un menu contextuel s'affiche.
.G. Cliquez sur "Attributs de la page ..." Une fenêtre s'ouvre avec trois onglets. Le premier a déjà été utilisé pour donner un nom à la page, mettre un effet ...
.H. Cliquez sur l'onglet "Action". Dans la fenêtre qui s'ouvre il est possible d'écrire des actions. Vous pouvez donner des instructions comme "jouer une musique" ....PlaySoundFile "F:\publication\Plage 01.WAV" "NORMAL"
C'est ici qu'il faut ajouter l'Instruction A : SystemInfo "PubDir" "chemin"
Explications : [PubDir] est l'indication d'une variable globale qui
va indiquer le lecteur et le répertoire dans lequel se trouve la publication
.exe
Dans l'aide de NeoBook on trouve l'information suivante à propos de
"SystemInfo" :
SystemInfo (= Informations système) Syntaxe : SystemInfo "type d'information"
"nom de variable"
Cette instruction permet d'obtenir des informations concernant l'ordinateur
sur lequel est exécuter l'aplication NeoBook et de stocker le résultat
dans une variable.
SystemInfo signifie donc que c'est une information sur les système sur lequel l'application est exécuter
PubDir relève le chemin de l'application NeoBook qui est en train
d'être exécuter sur l'ordinateur sur lequel se trouve cette application.Dans
l'exemple vu plus haut le chemin de l'application était E:\Dossier
Visite\visite.exe
L'instruction PubDir relève ce chemin et range cette information
dans la variable nommée ici chemin. Donc dans la variable globale
chemin il y aura l'adresse de l'application visite.exe c'est
à dire dans notre exemple E:\Dossier Visite\
A partir de ce moment, pour indiquer le chemin d'un diaporama il suffira d'écrire
quelque chose comme
DOSCommand "[chemin]\diaporama\diapo1.exe"
Si on remplace la variable chemin par l'adresse de l'application
on obtient DOSCommand "E:\Dossier Visite\\diaporama\diapo1.exe" ce qui
est bien la bonne adresse.
Remarque importante : on constate que dans cette indication du chemin, le répertoire diaporama est un sous-répertoire de l'emplacement de l'application NeoBook.
Ce qui vient d'être vu est valable pour tous les fichiers externes à l'application NeoBook (musique, vidéo, diaporama et autres fichiers ...).
Bon travail, à bientôt.