APPLICATIONSDIVERS ★ GESTION DE FENETRES ★

Gestion de Fenetres (Amstrad Magazine)Applications Divers

Ce programme utilitaire entièrement écrit en Assembleur vous permet de gérer facilement des fenêtres a partir du Basic ou d'un programme en langage machine.
A partir du Basic, vous disposez des commandes RSX suivantes (précédées de la barre verticale, notée , obtenue en appuyant simultanément sur SHIFT et @).
– WINDOW, gauche, droite, haut, bas
– CLS (effacement de la fenêtre)
– CADRE
– WIND, numéro de fenêtres texte.
– PRINT, colonne, ligne, texte à afficher, type de video.
– WINDOFF

L'ensemble est constitue de deux programmes : un chargeur Basic et un petit programme de démonstration. Il vous faut tout d'abord saisir le premier programme (chargeur Basic). Ceci l'ait, sauvegardez-le. Puis effectuez un : le programme binaire s'élabore et l'ordinateur vous propose de le sauvegarder sous forme de fichier binaire (WINDOW. BIN). Suivez les instructions de l'ordinateur. Lorsque vous aurez sauvegardé les routines binaires sous forme d'un fichier binaire appelé WINDOW. BIN, vous pouvez saisir le second programme (exemple d'application) que vous sauvegarderez sous le nom de WINDOW. BAS. Réutilisation du programme ci mise en place des RSX :

MEMORY &A27B
LOAD"WINDOW.BIN
CALL &A280

faire ensuite un RUN du programme utilisant les nouvelles commandes RSX. Ce logiciel est compatible avec tous les modèles de CPC cassette ou disquette. Afin d'éviter plusieurs initialisations des commandes RSX, le programme place le code &C9 en &A280 après la première initialisation. Il faut également protéger la mémoire de la manière suivante ; si la plus grande fenêtre de votre programme tient tout l'écran (Window,1,80,1,25), placez dans le programme :

MEMORY HIMEM - (80*25*8) -1

ceci afin de protéger vos variables lors de la mise en mémoire d'une fenêtre. Descriptif des commandes :

a) WINDOW, gauche, droite, haut, bas, les paramètres sont identiques à ceux du WINDOW basic.

Gauche : doit être compris entre 1 et 79.
Droite : doit être compris entre 2 et 80.
Haut : doit être compris entre 1 et 24.
Bas : doit être compris entre 2 et 25 (valeurs incluses).
Une erreur dans les paramètres entraîne un message d'erreur.
Cette commande définit les dimensions de la fenêtre et la mémorise.

b) |CLS.

Efface remplacement de la fenêtre (remplissage par la couleur INK 0). CLS peut être utilisée plusieurs fois pendant que la fenêtre est ouverte.

c) |CADRE.

Trace un cadre (de couleur INK 1) autour de votre fenêtre. Peut être effacé par |CLS et |WINDOFF,

d) |WIND, numéro de fenêtre texte (de 0 à 7 inclus). Affecte une fenêtre de texte à l'intérieur du cadre.

Ex. : |WIND,7: LIST #7: PRINT #7: WINDOW, SWAP,7... etc.

c) PRINT,x,y,"texte", vidéo.

Il s'agit d'une routine d'affichage rapide d'un message à l'écran en mode 80 colonnes, avec x = colonne de départ de l'affichage et y = ligne de départ de l'affichage.

X et Y sont toujours fonction du coin supérieur gauche de l'écran. « Texte » est le message à afficher et peut prendre les formes suivantes :

* pour tous les CPC : TEXTES$ (variable précédée de l'arrobas),
* pour 664 et 6128 : @"texte", "texte".

Vidéo : 0 ou 1. Si Vidéo = 0, le message sera affiché en INK 1 sur fond INK 0. Si vidéo =1, l'affichage sera en INK 0 sur fond INK 1. PRINT permet un gain de temps à l'affichage d'environ 25 % par rapport à un locale et print traditionnels.

f) |WINDOFF.

Efface votre fenêtre et rétablit l'écran original.

Erreurs

Toute erreur de paramètres lors de l'utilisation des fenêtres vous sera signalée par la sortie de l'erreur 33, soit : UNKNOWN ERROR s'il n'y a pas de traitement d'erreurs ou tout message que vous aurez choisi lors du traitement d'erreur. Exemple :

10 ON ERROR GOTO 60000
20 |WINDOW,1,83,1,25 30 ....

60000 IF ERR = 33 THEN PRINT "ERREUR DANS LA GESTION DES FENETRES LIGNE";ERL
60010 PRINT "ERREUR NUMERO";ERR; "LIGNE"; ERL
60020 STOP

Cet exemple donnera lors de l'exécution : ERREUR DANS LA GESTION DES FENETRES LIGNE 20.
NOTA : le programme est prévu pour fonctionner en mode 80 colonnes : cependant, les fonctions suivantes fonctionnent dans tous les modes écran :

|WINDOW
|CLS
|WIND
|WINDOFF

Pour WINDOW, les paramètres seront les mêmes qu'en mode 80 colonnes (x de 0 à 80, 40 étant toujours le milieu de l'écran). Toutes les commandes peuvent être utilisées en mode direct ou dans un programme. Pour un fonctionnement satisfaisant, l'écran ne doit pas avoir subi de scrolling.

* Attention. La routine d'erreur n'est pas compatible avec le CPC 464. Pour arranger cela, tapez :

POKE &A503,&94
POKE &A504,&CA

Claude Masoni , AMSTRAD MAGAZINE n°18 (Janvier 87)
MEA CULPA

Le Programme de Démo "WINDOW" Numéro 18, page 157. Il semble que de petits problèmes soient apparus pour les possesseurs de 464 équipés de lecteurs de disquettes. En effet, le programme reconnaissant bien toutes les RSX jusqu'au CAT (ligne 660) après laquelle il faisait apparaître un message d'erreur. Pour y remédier (464 SEULEMENT), il suffit de remplacer le CAT de la ligne 660 par :

CALL &BC9B,23551

Seul inconvénient : votre programme Basic utilisant les nouvelles RSX devra impérativement avoir une taille inférieure à une vingtaine de Ko (ce qui est déjà pas si mal...). Ces remarques ne concernent, rappelons-le que les possesseurs de 464. Le programme fonctionne parfaitement sans modification sur les autres versions de CPC.

★ EDITEUR: AMSTRAD MAGAZINE
★ ANNÉE: 1986
★ CONFIG: 64K + AMSDOS
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTEUR: Claude Masoni
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» RSX-WINDOWS-CLAUDE  MASONIDATE: 2010-08-13
DL: 280
TYPE: ZIP
SiZE: 7Ko
NOTE: Extended DSK/40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » ScreenScroll (CPC Amstrad International)
» Applications » RSX Remfind (Happy Computer)
» Applications » Ultra-Basic v2
» Applications » RSX Sprint
» Applications » RSX Line (Computer Schau)
» Applications » RSX-Voz
Je participe au site:
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 245 millisecondes et consultée 1902 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.