Suivez-nous sur X
|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
En pratique : CanDo - création d'une application multimédia (deuxième partie)
(Article écrit par Guy Beteille et extrait d'Amiga News - décembre 1993)
|
|
L'application en cours gère une base de données. Cette base sera composée d'un fichier principal, toujours nommé
"GENRES.Txt", qui contiendra la liste des genres disponibles et autant de fichiers que de genres disponibles.
Les noms seront toujours sous la forme Genre.liste, exemple : Classique.liste, Rock.liste, Jazz.liste.
Ces fichiers seront rédigés en fonction d'un format précis afin que l'application s'y retrouve.
Ils devront se trouver dans le même répertoire que l'application.
Format du fichier GENRES.Txt, une liste : Classique, Rock, etc.
Format d'un fichier "Genre.liste", une suite de titre :
DEBUT. titre1
Chemin complet de l'image associée à titre1
Chemin complet du son associé à titre1
Le commentaire associé à titre1... sans limitation de lignes
FIN*
DEBUT* titre2
Chemin complet de l'image associée à titre2
Chemin complet du son associé à titre2
Le commentaire associé à titre2... sans limitation de lignes
FIN*
etc.
|
Construire l'interface
Dans l'article précédent nous avions
défini les objets nécessaires, trois boutons, trois documents. Rajoutons deux boutons
qui permettront de changer de titre (en avant et en arrière). L'interface proposée
(figure 1) est tout à fait arbitraire. CanDo est là pour permettre de réaliser l'interface
au plus vite et de réorganiser la disposition des objets.
Figure 1
Mais à mon avis, le mieux est
d'utiliser un programme graphique (Deluxe Paint par exemple) pour faire vos essais et
définir une image qui servira d'écran. Vous pourrez ainsi concevoir plusieurs dispositions
d'objets sur l'écran et adapter la palette. Bref, travailler l'aspect !
Les boutons dessinés seront sauvegardés sous forme de brosses dans le même répertoire que
l'application. Je rappelle qu'il est possible depuis CanDo de sauvegarder l'écran d'une
carte en faisant "Ctrl-F3". Il est utile par exemple pour récupérer le dessin de certains
objets. A vous de choisir en fonction des besoins. Avec le temps le jonglage d'un programme à
l'autre devient très facile.
Une fois que vous êtes satisfait de l'apparence de l'interface, et que toutes les brosses ont
été crées, effacez l'image (du moins toutes les images de boutons) de l'interface et sauvez
cette image, toujours dans le même répertoire que l'application. Puis, après être revenu à
CanDo, il faut modifier la fenêtre pour lui associer l'image que l'on vient de créer. Cette
image devient le fond de la fenêtre, fond d'une seule couleur ou plus sophistiqué si vous
avez des talents de graphiste. Ce fond sert surtout à ne pas avoir à s'occuper de la palette
par la suite, et à y inclure, si on le désire, certains éléments fixes, tels les textes "GENRES"
et "TITRES".
Un mot sur la fenêtre de la deuxième carte : elle sera en deux couleurs et de résolution 640x512,
sans aucun objet ni bordure. Ensuite, il ne reste plus qu'à créer les document listes et
les boutons à l'aide des éditeurs d'objets. tout cela en quelques minutes et sans aucune difficulté.
Les documents
Les documents qui recevront la liste des genres et la liste des titres seront bien sûr des
objets de type liste. Chaque objet a un nom d'objet et un nom de document.
Première liste : les genres, objet de nom "Document.1" et ayant pour nom de document
"Discothèque:GENRES.Txt" qui est notre fichier des genres. Ainsi il sera chargé automagiquement !
Deuxième liste : les titres, objet de nom "Document.2" ayant pour nom de document "TITRES".
Enfin un objet "memo" pour afficher le commentaire, objet de nom "Document.3" ayant pour nom
de document "Comment". Cet objet n'aura pas l'option "typing" activée afin d'éviter l'insertion de textes.
Les boutons
Chaque bouton aura pour image une des brosses précédemment créées. Cette technique permet
d'avoir des boutons personnalisés mais aussi de remodifier l'interface sans se soucier des
graphismes des boutons. Attention, chaque brosse doit être localisée par l'éditeur de bouton
dans l'assignation "Discothèque:" (Cf. article précédent !).
Début de programmation
Maintenant on peut passer à la programmation. D'ores et déjà on peut prévoir une routine pour
voir les images et une pour écouter les sons. De même, on peut être sûr qu'il faut une routine
qui gère le choix d'un nouveau genre et une autre qui gère le choix d'un nouveau titre.
Cela donne quatre routines : "Voir", "Ecouter", "ChangerGenre", "AfficherTitre".
Les scripts des différents objets seront un appel à une de ces quatre routines. Par exemple, un
clic sur un nouveau genre provoquera l'exécution de la routine "ChangerGenre", et un clic
sur le bouton "Voir" provoquera l'exécution de la routine du même nom.
Dans le prochain article nous verrons l'ensemble de la programmation. Vous pouvez déjà
l'entreprendre sachant qu'elle doit être basée sur la lecture des fichiers de données.
Un indice d'importance, le fichier d'une liste de titres (fichier genre.liste) ne peut
être affiché dans son état initial, il sera donc placé dans un document "caché" (par la commande
LoadDocument "Genre.liste"."Caché"). Chaque titre en sera extrait, puis placé dans la liste
des titres. Lorsqu'un titre sera sélectionné, la routine "AfficherTitre" ira chercher dans
ce document "caché" les données associées, commentaire, nom de l'image et du son. Il faut donc
recourir au commandes : WorkWithDocument (pour travailler sur un des documents), et SearchFor
(pour rechercher une donnée), par exemple pour retrouver un titre :
WorkWithDocument "Caché" ; revenir au document caché
MoveCursorTo StartOf Document ; aller au début du document
SearchFor "DEBUT*" || TitreCherché, NOCASE ; chercher un titre
If SearchFound ; le titre est trouvé !
MoveCursor DOWN ; descendre d'une ligne
Let Image = TheLine ; nom de l'image dans la variable Image
MoveCursor DOWN
Let LeSon = TheLine ; nom du son dans la variable LeSon
EndIf
|
|