
		******************************************
		**					**
		**		  KWiKa			**
		**	      V1.00 (04.93)		**
		**	par Pierre-Louis MANGEARD	**
		**					**
		******************************************



SOMMAIRE :

		PRESENTATION ................. ligne 36
		MODE D'EMPLOI ................ ligne 88
		1.- Calculer ................. ligne 93
		2.- Le Clavier ............... ligne 114
		3.- Arithmétique ............. ligne 240
		4.- Les Menus ................ ligne 262
			4.1.- Project ........ ligne 270
			4.2.- Environment .... ligne 346
			4.3.- View ........... ligne 390
			4.4.- Print .......... ligne 448
		5.- Divers ................... ligne 467
			5.1.- Lancement ...... ligne 470
			5.2.- Mémoire ........ ligne 549
			5.3.- Avertissement .. ligne 560
			5.4.- Bugs ........... ligne 589
			5.5.- Alertes ........ ligne 608
		COMMENTAIRES ................. ligne 706
		CORRESPONDANCE ............... ligne 757




PRESENTATION :
____________



KWiKa signifie :  Keypad/WIndow KAlculator.  KWiKa est à mi-chemin entre un
éditeur de texte et une calculette, mais n'a rien à voir avec un tableur.

Le principe, assez original, est simple à comprendre : au lieu de saisir
des nombres un à un sur un "émulateur de calculatrice", ceux-ci s'affichent
dans la fenêtre de KWiKa comme sur un éditeur de texte.

Les avantages sont multiples :

- Tu saisis tes symboles au clavier, ce qui n'est pas le cas dans la
plupart des calculettes d'écran.

- Tu gardes l'historique de tes opérations. Tu peux te ballader dessus et
les modifier exactement comme dans un éditeur de texte.

- Tu peux sauvegarder et recharger ultérieurement tes calculs.

- Tu peux envoyer tes calculs à l'imprimante.

- Tu peux choisir ta police de caractères.

- La fenêtre de KWiKa possède tous les gadgets d'Intuition. Elle est
redimensionnable, et les calculs sont automatiquement reformatés.

- Tu peux sauvegarder tous les paramètres de ton environnement.

- KWiKa t'offre tout un panel d'options visant à atteindre un maximum de
convivialité et de puissance. Tu en prendras connaissance dans le mode
d'emploi ci-après.


KWiKa fonctionne parfaitement en multi-tâches et peux s'afficher sur
n'importe quel écran.

KWiKa se sert de la REQ.LIBRARY alors tu fais gaffe qu'elle figure bien
dans ton répertoire LIBS.  Si elle n'y figure pas, les requesters
(avertissements, erreurs, ...) n'apparaîtront pas et tu ne pourras pas
charger ou sauver tes calculs, ni charger de fonte depuis le disque.  Mais
ça n'empêchera pas KWiKa de remplir son rôle.

KWiKa est un hommage au pavé numérique d'un clavier d'ordinateur.  Tant pis
pour ceux qui ont acheté un Amiga 600 :  ils perdent 50% de l'intérêt de
KWiKa.




MODE D'EMPLOI :
_____________



1.- Calculer :
    ********

Tu écris ton calcul dans KWiKa comme dans un éditeur de texte :

	-(2*3)+4*5+((6+7)*(8+9))-10

Puis tu appuies sur <ENTER> ou sur <RC> : le résultat s'affiche :

	-(2*3)+4*5+((6+7)*(8+9))-10 = 225

KWiKa gère le formatage de tes calculs, et revient à la ligne quand c'est
nécessaire, comme un traitement de texte.

Quand une même opération s'étend sur plusieurs lignes, TOUTES LES LIGNES A
PARTIR DE LA DEUXIEME LIGNE COMMENCERONT PAR UN OPERATEUR, +, -, *, / ou \.
Ca permet de distinguer facilement les lignes appartenant à un même calcul
par rapport aux autres lignes.



2.- Le Clavier :
    **********

KWiKa ignore toutes les touches qui ne lui sont pas utiles.

KWiKa fait grand usage du pavé numérique.  Si tu n'en a pas, j'ai prévu des
facilités pour parer à ce manque.


* calculs :

Les touches	0 à 9 + - * / \	affichent leur valeur nominale.

La touche	<ENTER>		effectue l'opération.
La touche	<RC>		aussi.
La touche	=		effectue l'opération, et reporte
				le résultat sur la nouvelle ligne.
La barre	<ESPACE>	effectue l'opération, reporte le
				résultat sur la nouvelle ligne, et reporte
				le dernier opérande avec l'opérateur qui le
				précède.


* Explication plus détaillée du rôle de la barre <ESPACE> :

elle sert à effectuer des calculs en série avec un même opérande.  Ce
"facteur" commun est le dernier terme du calcul.  Exemple :

tu écris 12*2, et tu percutes <ESPACE>. KWiKa écrit " = 24" puis reporte le
24 sur la ligne suivante et enfin reporte le "*2" après le 24.

Si tu cognes plusieurs fois de suite sur <ESPACE>, il se passera ceci :

12*2 = 24
24*2 = 48
48*2 = 96
96*2 = 192
192*2 = 384
etc.

KWiKa reporte le dernier terme de l'opération tout entier : le calcul

156+(3*58/2-(89*10))

te donnera après avoir heurté <ESPACE>

156+(3*58/2-(89*10)) = -647
-647+(3*58/2-(89*10))

C'est bien tout le dernier terme "+(3*58/2-(89*10))" qui est reporté après
le "-647".


* déplacements :

La touche	^ (flêche haut)	déplace le curseur 1 ligne vers le haut.
La touche	ALT+^		place le curseur sur la 1° ligne du calcul.
La touche	SHIFT+^		déplace le curseur de la valeur d'un
				"écran" vers le haut.
La touche	CTRL+^		place le curseur sur la 1° ligne du fichier.

La touche	V (flêche bas)	fait le contraire de la précédente.

La touche	->		place le curseur sur le caractère suivant.
La touche	ALT+->		place le curseur sur le nombre suivant.
La touche	SHIFT+->	place le curseur en fin de ligne.
La touche	CTRL+->		place le curseur en fin de calcul.

La touche	<-		fait le contraire de la précédente.

Tu peux aussi te déplacer sur tes calculs à l'aide de la souris.


* effacements :

La touche	DEL		efface le caractère sous le curseur.
La touche	ALT+DEL		efface le chiffre sous le curseur.
La touche	SHIFT+DEL	efface la ligne sous le curseur.
La touche	CTRL+DEL	efface le calcul sous le curseur.

La touche	BACKSPACE	efface le caractère précédant le curseur.
La touche	ALT+BACKSPACE	efface le nombre sous le curseur.
La touche	SHIFT+BACKSPACE	efface la ligne sous le curseur.
La touche	CTRL+BACKSPACE	efface le calcul sous le curseur.


* quelques touches particulières :

Les touches	[ et {	 	affichent	(
Les touches	] et }	 	affichent	)
Les touches	F1 à F9	 	affichent	1 à 9
La touche	F10	 	affiche		0


**************************************************************************
**									**
**	A TOUT MOMENT, LA COMBINAISON " AMIGA-DROITE AMIGA-GAUCHE = "	**
**	(PAR DEFAUT) OU BIEN CELLE DEFINIE DANS LE 'TYPE D'OUTILS'	**
**	DE L'ICONE DE KWIKA AMENE KWIKA AU PREMIER PLAN DE L'ECRAN	**
**	ACTIF.								**
**									**
**************************************************************************


Démonstration :

Tu vas sur le WorkBench et tu lances KWiKa à partir de son icône ou du Shell.
Lors, tu reviens sur cet écran, là où on est présentement. Si c'est le
WorkBench, tu lances un programme quelconque qui ouvre son propre écran et
tu restes dessus. Là, tu fais la combinaison magique avec tes deux ou trois
doigts. KWiKa va venir envahir ton écran comme s'il était chez sa mère.
C'est pratique aussi, quand c'est la smala sur ton WorkBench, pour ramener
KWiKa au premier plan.

Pour l'instant, tu renvoies KWiKa ad patres avec l'item 'Kill' du menu
'Project' ou bien en heurtant la touche 'Amiga-K', s'il te plaît.  On aura
l'occasion de reparler de cette combinaison plus tard.


* les autres touches :

Presque tous les menus de KWiKa ont un raccourci clavier. Je te les
expliquerai au chapître "Les Menus de KWiKa".



3.- Arithmétique :
    ************

KWiKa travaille avec tous les entiers entre -2,147,483,647 et
2,147,483,647.

KWiKa accepte les 4 opérateurs arithmétiques binaires +, -, *, /,
l'opérateur modulo \, et les opérateurs unaires + et -.

KWiKa admet les parenthèses '(' et ')'.

KWiKa comprend la notation arithmétique classique telle qu'on l'enseigne à
l'école.

La hiérarchie des opérateurs est la suivante :

	1.	+,-	opérateurs unaires
	2.	*,/,\
	3.	+,-	  "    "   binaires



4.- Les Menus de KWiKa :
    ******************


Les shortcuts des items doivent bien sûr être combinés avec la touche
Amiga-droite.


4.1.- Project :
      -------

>>> New

On efface tout et on recommence.

Shortcut : N


>>> Open

Envoie un requester qui te permet de charger un fichier de calculs. Seuls
apparaissent les fichiers ayant un suffixe '.kwk'.

Shortcut : O


>>> Save

Envoie un requester qui te permet de sauver tes calculs sous forme d'un
fichier. Le fichier obtenu possède un format propre à KWiKa et se termine
par le suffixe '.kwk'.

Shortcut : S


>>> About

Shortcut : ?


>>> Iconify

Iconifie KWiKa et envoie l'icône sur le WorkBench.

Pour rappeler KWiKa, tu cliques sur son icône ou bien tu fais la
combinaison magique (défaut :  'A-droite A-gauche =') :  KWiKa apparaît
alors sur l'écran actif.

Iconifié, KWiKa garde tes calculs en mémoire. Tu les retrouve tels quels au
rappel de KWiKa.

La position de l'icône est sauvegardable : voir le menu Environment/Save
environment.

La jolie petite icône en haut à droite sur la barre de la fenêtre a pour
effet d'iconifier KWiKa (ne figure pas sur les 500, 1000, 2000, 2500 équipé
du système 1.3).

Shortcut : I


>>> Quit

Pour quitter KWiKa, mais le garder "dormant" en mémoire.

Pour rappeler KWiKa, tu fais la combinaison 'A-droite A-gauche =' :  KWiKa
apparaît alors sur l'écran courant.

Ainsi quitté, KWiKa garde tes calculs en mémoire.  Tu les retrouve tels
quels au rappel de KWiKa.

Le gadget de fermeture de la fenêtre de KWiKa correspond à Quit.

Shortcut : Q


>>> Kill

Exit complet et définitif.

Shortcut : K



4.2.- Environment:
      -----------

>>> Result mode

Fixe le mode d'affichage du résultat : normal ou vidéo inverse.

Le choix se fait par sélection d'un des 2 menus suivants.

Shortcut : V

>>> Normal view

>>> Inverse video


>>> Font

Pour sélectionner la police des calculs.

Les fontes proportionnelles ne sont pas supportées.

Shortcut pour appeler le requester de fontes : F


>>> Save environment

Permet de sauvegarder :

- le mode d'affichage du résultat.
- la fonte des calculs.
- les position et dimensions de la fenêtre de KWiKa.
- la position de l'icône de KWiKa.

Le fichier de préférences s'appelle KWiKa.Config et s'inscrit dans le
répertoire ENVARC:, sinon dans le tiroir s:.


>>> Restore default env

Restaure les préférences par défaut de KWiKa.



4.3.- View :
      ----

>>> Middle page

Traditionnellement, quand tu arrives en bas d'une fenêtre de texte, ton
curseur reste désespérément coincé dans les bas fonds : pour faire de
l'espace, tu n'as pas d'autre recours que de créer des lignes
supplémentaires.

Cette option te permet de remonter tes calculs au milieu de la fenêtre de
KWiKa.

Shortcut : M


>>> Top page

Selon le même principe que l'item précédent, cette option te permet de
remonter tes calculs tout en haut de la fenêtre de KWiKa.

Shortcut : T


>>> KWiKa colors

Cette option ne s'active que lorsque tu as envahi un écran étranger. Si ses
couleurs rendent tes calculs illisibles, tu peux imposer à cet écran de
prendre les couleurs par défaut de KWiKa. Seules les couleurs 0, 1, 2, et 3
seront affectées.

Poliment, KWiKa restitue les couleurs initiales de l'écran dès que tu
l'Iconify, le Quit ou le Kill, ou bien que tu l'appelles depuis un autre
écran.

Shortcut : C


>>> Dimensions

Permet de passer de la fenêtre standard à une fenêtre plein écran et
réciproquement.

Largeur maximum de KWiKa : 1000 pixels.

La fenêtre plein écran occupe tout l'écran sauf une rangée de 2 pixels
d'épaisseur en haut et une colonne de 2 pixels de large sur la droite.

Le choix se fait par sélection d'un des 2 menus suivants.

Shortcut : D

>>> Custom dim

>>> Full screen



4.4.- Print :
      -----

>>> Print file

Envoie l'ensemble des calculs effectués à l'imprimante.

Shortcut : P


>>> Print with

Mode "calculatrice à ruban", ou presque :  envoie chaque calcul à
l'imprimante dès qu'il a été effectué.

Shortcut : W



5.- Divers :
    ******

5.1.- Lancement :
      ---------

Tu peux lancer KWiKa depuis son icône ou depuis le CLI.

Depuis le CLI, ou bien depuis ta startup-sequence, KWiKa accepte des
paramètres:

KWiKa -S	lance KWiKa "dormant". A tout moment, tu peux réveiller
		KWiKa par la combinaison magique ("A-droite A-gauche =" par
		défaut).

KWiKa -I	lance KWiKa iconifié. A tout moment, tu peux rappeler
		KWiKa par la combinaison magique, ou bien en cliquant sur
		son icône.


Depuis le WorkBench, tu peux donner beaucoup plus de paramètres. Ceux-ci se
trouvent dans le 'type d'outils' de l'icône. Pour y accéder, tu clickes 1
fois sur l'icône de KWiKa, puis tu va chercher l'item 'Information...' dans
le menu 'Icônes' du WorkBench.

Les types d'outils peuvent être :

- CX_PRIORITY	: 	de -128 à 127, défaut 0.  c'est la priorité du broker
			de KWiKa par rapports aux autres commodités que tu as
			lancées.

- CX_POPKEY	: 	définit la combinaison de touches pour réveiller
			KWiKa. Défaut 'lcommand rcommand ='. Tu trouveras
			plus bas les noms des touches que tu peux
			combiner.

- ICON		:	si cet outil est mis, KWiKa apparaît icônifié au
			lancement.

- SLEEP		:	si cet outil est mis, KWiKa est lancé "dormant" et
			peut être réveillé à tout moment et n'importe où à
			l'aide de la combinaison magique.

- PUBSCREEN	:	nom de l'écran où apparaîtra KWiKa à son lancement.
			Par défaut 'WORKBENCH', sinon tu peux mettre le nom
			d'un écran public. Si au moment du lancement cet
			écran n'est pas ouvert, KWiKa apparaîtra sur le
			WorkBench. Attention le nom de l'écran est sensible
			aux majuscules/minuscules : si tu déclares
			"PUBSCREEN=rototo" pour un écran qui s'appelle
			"Rototo", KWiKa apparaîtra sur le WorkBench.


Toutes les touches peuvent être décrites par leur "valeur nominale", et
voici les "noms" des touches qui n'en ont pas :

les touches "mortes" :

lshift, rshift, control, lalt, ralt, lcommand, rcommand, numericpad (doit
figurer avant une touche du pavé numérique), repeat (prise en compte
seulement si la touche est maintenue enfoncée).

les autres touches :

space, backspace, tab, enter, return, esc, del, up, down, right, left, f1,
f2, f3, f4, f5, f6, f7, f8, f9, f10, help.

cas particuliers :

- Pour l'introduire en tant que tel, le '-' doit être précédé de lui-même : '--'.
- La touche capslock n'est volontairement pas prise en compte par KWiKa.


Des exemples que tu peux tester toi-même :

"control lshift lalt enter"
"rshift numericpad 8"		:	'shift droit' + '8'
"lalt --"			:	'alt gauche' + '-' du clavier
"lalt numericpad --"		:	'alt gauche' + '-' du pavé numérique



5.2.- Mémoire :
      -------

KWiKa occupe au minimum de 60 kilo-octets. Bien sûr, plus tu allonges tes
calculs, plus KWiKa gonfle.

Tu ne peux avoir qu'une seule copie de KWiKa en mémoire. Si tu relances
KWiKa à partir du CLI ou de son icône, c'est kif kif que de faire la
combinaison magique (défaut : 'A-droite A-gauche =').


5.3.- Avertissement :
      -------------

Il peut se produire des phénomènes bizarres au niveau graphique, lorsque
KWiKa occupe un écran autre que le WorkBench. Par exemple, sur CygnusEd,
les calculs et "l'armature" de la fenêtre de KWiKa peuvent scroller en même
temps que le texte.

Pareillement, il faut s'attendre à des comportements curieux sur des
logiciels graphiques comme Deluxe Paint.

Certains logiciels ne rafraîchissent pas les fenêtres de leur écran, comme
MonAm, le debugger du DevPac. Donc si tu appelles KWiKa sur un tel
programme, et que tu manipules sa fenêtre ou que tu le quittes, ça laissera
des trous à la place.

CECI EST ABSOLUMENT NORMAL.

Même si c'est déplaisant, ça ne gêne absolument pas le fonctionnement des
programmes.  Ce ne sont pas des bugs.  Souvent, les programmes manipulent
les graphismes à un niveau "plus bas" que celui des fenêtres, et en quelque
sorte "entraînent" la fenêtre de KWiKa avec eux.

En général, KWiKa supporte assez bien cette épreuve car il rafraîchit son
affichage dès que sa fenêtre est réactivée.  Donc il suffit que tu clickes
sur l'endroit où elle doit se trouver, ou bien que tu passes par dessus si
tu as activé l'option AutoPoint, pour qu'elle réapparaisse spontanément.


5.4.- Bugs :
      ---- 

Pas de méchants bugs connus.  Au cas où tu en repères un, tu es prié de
m'en référer au plus tôt.

Toutefois, voici 2 ou 3 petits défauts :

- sous 1.3, les tooltypes 'SLEEP' et 'ICON' ne répondent pas, et le gadget
d'icônification n'apparaît pas.

- à partir d'un grand nombre de ligne, "l'ascenseur" n'est plus totalement
précis.

- KWiKa reconnaît les moniteurs et les modes d'écrans principaux.  Si KWiKa
s'ouvre sur un type d'écran qu'il ne connaît pas, le petit gadget
d'icônification sera moins joli, c'est tout.


5.5.- Alertes :
      -------

Voici la liste de tous les messages d'alerte ou d'erreur susceptibles de se
présenter. Leur traduction, présentée ici, ne figure pas dans le programme
pour ne pas l'allourdir inutilement :


* Erreurs "système" :

"Problem in opening system libraries." :
"Problème d'ouverture des bibliothèques du système." 

"Can't open 'input.device'."
"Impossible d'ouvrir l'input.device."

"No signal bits available."
"Pas de bit signal disponible."

"Can't acceed to printer."
"Impossible d'accéder à l'imprimante."


* Erreurs "mémoire" :

"Not enough memory."
"Pas assez de mémoire."

"You should lack in memory.  Run KWiKa anyway ?"
"Vous risquez d'avoir des problèmes de mémoire. On lance KWiKa quand même ?"


* Erreurs "fichiers" :

"Can't open 'req.library' :  you may work with KWiKa, but no requester will
appear."
"Impossible d'ouvrir la 'req.library' : vous pouvez travailler avec KWiKa,
mais aucun requester n'apparaîtra."

"Can't open 'diskfont.library'."
"Impossible d'ouvrir la 'diskfont.library."

"File not found."
"Fichier non trouvé."

"Environment not saved."
"L'environnement n'a pu être sauvegardé."

"KWiKa version 1.00 can't load calculuses from a further version."
"KWiKa version 1.00 ne peut pas charger des calculs provenant d'une version
plus récente."


* Erreurs "calculs" :

"Work out calculus before any action."
"Effectuer votre calcul avant toute manipulation."

"Number is too long. Can't shrink window."
"Nombre trop long. Impossible de réduire la taille de la fenêtre."

"Number out of range :  -2,147,483,647 < x < 2,147,483,647"
"Nombre hors limites :  -2,147,483,647 < x < 2,147,483,647"

"Division by zero."
"Division par zero."

"Overflow !  -2,147,483,647 < Result < 2,147,483,647"
"Débordement !  -2,147,483,647 < Resultat < 2,147,483,647"

"Error opening bracket."
"Erreur de parenthèse ouvrante."

"Error closing bracket."
"Erreur de parenthèse fermante."

"Line MUST begin with an operator."
"La ligne DOIT commencer par un opérateur."

"No factor defined in previous calculus."
"Aucun facteur n'a été défini dans le calcul précédent."


* Erreurs "environnement" :

"Host screen too narrow for KWiKa :  min width = 285 ; min height = 101"
"Ecran hôte trop étroit pour KWiKa :  largeur min = 285 ; hauteur min = 101"

"Proportional fonts are not supported."
"Les fontes proportionnelles ne sont pas supportées."

"Expression too long :  can't format calculuses.  Enlarge KWiKa window."
"Expression trop longue : impossible de formater les calculs. Agrandissez
la fenêtre de KWiKa."




COMMENTAIRES :
____________



Cette première version de KWiKa ne travaille qu'avec des entiers sur 32
bits, c'est à dire compris entre -2,147,483,647 et 2,147,483,647. Je
souhaite et j'espère que tous ceux qui sont intéressés par le principe et
qui apprécient KWiKa me fassent part de leurs observations et m'encouragent
dans la réalisation d'une version plus élaborée.

Voici un aperçu des possibilités de la future version :

- calculs en virgule flottante, format (nombre de décimales) au choix pour
chaque calcul.

- valeurs comprises entre + ou - 4.5*10^16 environ.

- calculs scientifiques : cos, sin, tg, log, exp, puissance, etc.

- calculs statistiques : factorielles, arrangements, combinaisons.

- calculs à variables. Exemple :

	3*x+2*(y+5)
	FOR x = 1
	TO x = 10
	STEP 1
	FOR y = -5
	TO y = +5
	STEP 2

Les calculs s'afficheront pour chaque valeur du couple (x,y) en remplaçant
les variables par leurs valeurs successives :

	3*1+2*(-5+5) = 3
	3*1+2*(-3+5) = 7
	...

	3*2+2*(-5+5) = 6
	3*2+2*(-3+5) = 10
	...
	3*10+2*(5+5) = 50


- Affichage optionnel d'une "calculette" :  la saisie pourra se faire à la
souris ou au clavier.




CORRESPONDANCE :
______________



Tout courrier ou commande pourra être adressé à l'une des adresses
suivantes :



			Pierre-Louis MANGEARD
			95, chemin Kennedy
			97432 LA RAVINE DES CABRIS
			Ile de la Réunion
ou
			Pierre-Louis MANGEARD
			Médiathèque de Saint-Pierre
			BP 396
			97410 SAINT PIERRE
			Ile de la Réunion
ou
			Pierre-Louis MANGEARD
			15, rue des Cailles
			Plateau Caillou
			97460 SAINT PAUL
			Ile de la Réunion

tel: 19 ~ 262  57 40 28

