=========================================================================
Ce fichier est une version "texte brut" de CMDCAML.DOC (documentation au format Word 7, prsente dans l'archive)
Les informations sont celles contenues dans le fichier d'aide CMDCAML.HLP
=========================================================================

 Prsentation, installation et utilisation de CMDCAML.EXE 
Frontal CAML pour Windows - Version 0.8

Prsentation

Installation
* Copie des fichiers
* configuration du systme
* Utilisation en rseau

Utilisation
* Fentre de commande {DOS}
* Frontal MDI
* Le systme de menus
* Comportement spcial des fentres d'dition
* Barres d'outils
* Macros et Raccourcis claviers

Affichage de graphiques pilots par CAML{DOS}

Note  destination des utilisateurs de Objective CAML (Ocaml et OCamlWin)


Pour les utilisateurs d'une ancienne version, regardez donc la section des Modifications du programme



  (C) Martial TARIZZO - Documentation version 0.8 du 20/02/97
   Pour me contacter :
     47 rue des anciens combattants d'AFN
     57000 METZ
     Tl :  (33) 03 87 55 95 89

     E-Mail: tarizzo@worldnet.fr
             74014.3307@compuserve.com
     Compuserve : 74014,3307

Toute remarque/suggestion sera la bienvenue. Merci d'avance.


 Modifications du programme
Les modifications suivantes sont particulirement notables :
Frontal Version 0.8
* Impression de code grandement amliore. Cls supplmentaires pour la gestion de l'imprimante dans le fichier INI (voir la Configuration du systme).
* Menu Outils configurable par l'intermdiaire du fichier INI, permettant de lancer depuis le frontal ses applications favorites (voir la Configuration du systme). 
* Possibilit de dfinir des macros. Voir Macros et Raccourcis claviers
* Adaptation  un fonctionnement en rseau : chemin de sauvegarde du fichier temporaire pour inclusion modifi (ainsi que pour les fichiers d'change graphiques quand CAML tourne dans un fentre DOS). Voir la section utilisation en rseau
* Traduction automatique des fichiers source d'origine Mac (seuls ceux dont les lignes se terminent par un caractre <Retour-chariot> isol sont traits...)
* Nouvelle section dans le fichier CMDCAML.INI : [EDITOR]
Permet d'ajuster le fonctionnement de l'diteur, en ce qui concerne les points suivants (voir la Configuration du systme) :
- pretty-read dans l'diteur. Configurable par la cl positiveIndent
- gestion plus fine des touches de tabulation, retour-arrire, dtection et slection de blocs entre parenthses . Nombre d'espaces dans un TAB fix par SpacesInTab
- expression rgulire pour dfinir les lignes affiches dans le butineur : RegExpLineToBrowse
- affichage du menu de dfinition des macros fix par defMacroVisible
* Acclrateur ajout : Ctrl-L pour reprer le dbut de dfinition d'une fonction. Voir le Menu Editer

Frontal Version 0.73
* Format de sauvegarde par dfaut des fichiers : Dans les anciennes versions, les fichiers taient toujours sauvegards en ASCII. Ce n'est plus le cas maintenant.
Pour plus de dtails, consultez la section concernant le Menu Fichier
* la deuxime concerne le chargement d'un environnement qui peut maintenant s'accompagner de l'valuation automatique d'un fichier d'initialisation. Pour plus de dtails, voir la description de la gestion des environnements


Retour  la prsentation gnrale

 Prsentation
 Ce programme est un frontal permettant de programmer facilement en CAML dans  l'environnement Windows, en compltant l'interprteur CAMLWIN de J.M Geoffroy (INRIA) grace  un programme Windows : CMDCAML.EXE.  

 Remarque : 
pour la version actuelle de CAMLWIN (0.73), il est possible d'interagir avec CAMLRUN dans une fentre DOS ou avec l'interface dveloppe par J.M Geoffroy. Les informations spcifiques  chacune de ces versions seront notes dans la suite {DOS} ou {CAMLWIN}

Edition de code
 L'utilisateur dispose alors :
 {DOS}
- d'une fentre de commande, offrant des facilits d'dition bien suprieures au programme d'origine, permettant d'valuer du code CAML en ayant la fentre CAML d'origine sous les yeux
- d'une ou plusieurs fentres d'dition de code, offrant elles aussi des facilits d'dition, afin d'crire et d'valuer du code CAML. Une aide en ligne complte est accessible (par un sommaire, un index ou une recherche contextuelle)
- d'outils performants de recherche dans le code CAML (butineur, recherche de texte)
- d'une possibilit de sortie graphique simple dans une fentre Windows indpendante gre par le frontal.
 {CAMLWIN}
- d'une ou plusieurs fentres d'dition de code, offrant elles aussi des facilits d'dition, afin d'crire et d'valuer du code CAML. Une aide en ligne complte est accessible (par un sommaire, un index ou une recherche contextuelle)
 - d'outils performants de recherche dans le code CAML (butineur, recherche de texte)

Environnements
Il est possible de sauvegarder l'environnement de travail, afin de le retrouver lors d'une session ultrieure. Un fichier de dmarrage peut y tre associ, permettant ainsi l'valuation automatique d'un fichier CAML au chargement de l'environnement.

Installation

 Installation
 La procdure d'installation est assez simple. Elle consiste en deux phases :
 - copie des fichiers
 - configuration du systme


 Copie des fichiers
 - installer CAMLWIN comme indiqu dans la documentation de l'INRIA.

{DOS} Ajouter les lignes suivantes dans le fichier Autoexec.bat :
set path=c:\caml\bin;%path%
set camllib=c:\caml\lib
si c:\caml est le rpertoire choisi pour l'installation de CAMLWIN
C'est le mme paramtrage que celui qui est utilis par CAML 0.73. Il est ncessaire pour que CAMLRUN tourne correctement (ainsi d'ailleurs que tous les outils fonctionnant en ligne de commande dans une fentre DOS)

 - Dans le rpertoire de votre choix (qui peut fort bien se situer sur un serveur. Voir la section concernant l'utilisation en rseau), dcompactez l'ensemble des fichiers. 
   
 Voil la liste des fichiers contenus dans l'archive :

* Un excutable, et ses fichiers associs
  CMDCAML.EXE	la racine du mal
  CMDCAML.HLP	le fichier d'aide associ
  CMDCAML.CNT	le fichier contenu de l'aide (utilisable sous Windows 95)
  CMDCAML.MAC	fichier initial des macros

* deux versions diffrentes du fichier de configuration, selon l'environnement
 d'excution : 
 - CMDCAML.W31 pour Windows 3.1 (Version franaise)
 - CMDCAML.W95 pour Windows 95  (Version franaise)

Recopier le fichier de votre choix sous le nom 
CMDCAML.INI 
dans le rpertoire o est install le programme 
CMDCAML.EXE

 *ATTENTION
 *Il est possible que vous ayez  modifier le fichie INI pour que le programme fonctionne sur votre systme. Voir la section :
 " Configuration du systme "
 
* des contrles Visual Basic, ncessaires  son fonctionnement. Ils peuvent ventuellement tre dplacs dans le rpertoire SYSTEM de Windows, mais   je vous conseille de les laisser en place si l'espace disque n'est pas trop compt. Cela peut vous faciliter la vie en cas de dsinstallation du   programme (et viter des conflits de version si des fichiers de mme nom   sont dj dans le rpertoire SYSTEM). 
  MTHOOK00.VBX	contrle maison de sous-classement de fentre
  THREED.VBX		contrles 3D
  CMDIALOG.VBX	Bote de dialogue
  MSOUTLIN.VBX	Contrle d'affichage hirarchique

* {DOS} deux fichiers PIF pour l'excution du programme DOS (CAMLRUN.EXE)
  CAML_W31.PIF   utiliser sous Windows 3.1
  CAML_W95.PIF   utiliser sous Windows 95 (c'est un raccourci)
 
* une DLL pour la recherche par expressions rgulires
  REGEXP.DLL
 
* une DLL pour l'affichage des botes de dialogue en "3D", sous Windows 3.1
  CTL3D.dll
 
* {DOS} le fichier source CAML de l'extension graphique, ainsi que les fichiers issus de sa compilation avec CAML Version 0.73.
 Ces fichiers ne sont utilisables que dans le cadre de l'option {DOS}. Si l'extension vous plat, dplacez donc les fichiers dans le rpertoire  point par CAMLLIB (si votre version est <> 0.73, il faudra srement les recompiler ...)
  MTGRAPH.ML
  MTGRAPH.ZI
  MTGRAPH.ZO

* une version du noyau graphique, implantant les mmes fonctions que les fichiers de la section prcdente ; utilisable avec le graphisme de CAMLWIN
  WMTGRAPH.ML

* un fichier CAML de test du graphisme MTGRAPH
  TSTGRAPH.ML
 
* trois fichiers d'informations 
  LISEZMOI.TXT , qui reprend sous forme texte le contenu de ce fichier d'aide
  CMDCAML.DOC , fichier WORD contenant le texte de ce fichier d'aide
  MTGRAPH.TXT  (description du systme graphique {DOS})


 Notez bien :
 - Ce programme ne fonctionne qu'avec Windows 3.1 (ou suprieure) 
 - Ce programme tant crit majoritairement en Visual Basic 3.0, il vous faut la DLL Runtime de Visual Basic 3.0 (VBRUN300.DLL)
 
 Si cette DLL n'est pas dans l'archive, rcuprez-la :
 - disponible gratuitement sur pratiquement tous les serveurs et BBS,
 - se trouve aussi sur pratiquement tous les CD-ROM diffuss dans la presse micro-informatique. Vous ne devriez avoir aucun mal  vous la procurer !

 Il vous est en gnral conseill de l'installer dans le rpertoire SYSTEM de Windows. (mais vous pouvez la placer dans le rpertoire contenant CMDCAML.EXE)


Une fois tout cela ralis, il ne vous reste plus qu' Configurer le systme

 configuration du systme
C'est la partie la plus ingrate actuellement, car elle ncessite la cration ou la modification directe d'un ou deux fichiers.

Le premier fichier : CMDCAML.INI
 Ce fichier permet de rgler la communication entre le noyau CAML et le frontal, ainsi que de configurer le fonctionnement de ce dernier. C'est un fichier texte d'initialisation, structur de faon habituelle.
 
 Dans les fichiers de distribution se trouvent deux exemplaires de CMDCAML.INI ; l'un pour Windows 3.1 (CMDCAML.W31), l'autre pour Windows 95 (CMDCAML.W95)
 
 LEUR FONCTIONNEMENT N'EST PAS GARANTI ; je vous conseille donc de lire attentivement la description des informations contenues dans le fichier INI
 
 Les sections qui contiennent les informations que vous DEVEZ FOURNIR pour que le systme fonctionne correctement sont les sections [GENERAL], [EDITOR], [CAML] et/ou [CAMLWIN]. 
 En voil le dtail :
 
 + section [GENERAL]
camlhelpfile=c:\caml\doc\refman73.hlp
dsigne le chemin du fichier d'aide contenant la rfrence du langage.

camlwin=0 ou -1
pour indiquer si le noyau tourne dans CamlWin (-1) ou dans une fentre DOS (0)

ExeSize=nnnnnnn
nnnnnnn correspond  la taille du fichier excutable CMDCAML.EXE
  * si cette cl est absente -> lancement sans vrification
  * si prsente, doit correspondre  la taille du fichier exe.
En cas de diffrence de taille -> message d'erreur et arrt du programme.
Test simplissime en cas d'attaque virale.

AlternateEditor=write.exe
Quand la taille d'un fichier  diter dpasse 32 Ko, il est ncessaire d'utiliser un autre diteur que celui qui est utilis dans CMDCAML (qui souffre des mmes limitations que le programme NOTEPAD.EXE). Par dfaut, le programme essaiera de lancer WRITE.EXE. Cette ligne permet de dclarer un autre diteur  utiliser dans ce cas.

PrinterFontName ="Courier New"
Permet de dfinir la police qui sera utilise pour l'impression. Une police  espacement fixe est videmment conseille. Si cette cl est absente, la police True Type "Courier New" sera utilise.

PrinterFontSize=10
Permet de dfinir la taille en points de la police prcdente. Si cette cl est absente, la valeur 10 sera utilise.

PrinterMargin=720
Dfinit la taille en Twips des marges autour du texte imprim (1 Twip = 1/1440 de pouce !). Si cette cl est absente, la valeur 720 (environ 1,25 cm) sera utilise.

+ section [EDITOR]
positiveIndent=(begin|do|exception|for|fun|function|if|then|else|let|match|try|type|value|while|::|@|,|:=|=|<-|->|\(|\{|\[)$
Expression rgulire reconnaissant les mots du langage provoquant une indentation positive de SpacesInTab caractres quand on appuie sur <Entre> (Pretty-Read) 
Vous pouvez modifier,  vos risques et prils.
Voir aussi : Syntaxe des expressions rgulires

SpacesInTab=2
Le nombre d'espaces insrs dans le tampon d'dition quand on appuie sur <TAB>.
Le tampon ne contient plus jamais de caractre de tabulation, afin de conserver la mise en forme du code quand on copie le code dans une autre application.

Pour des raisons de compatibilit avec les versions prcdentes, le chargement d'un fichier contenant des caractres de tabulation provoquera l'insertion de 8 caractres "espace" pour chaque tabulation.

RegExpLineToBrowse=^(#|[\[\{a-zA-Z0-9]|\([^\*])
Ceci est une expression rgulire permettant de filtrer les lignes qui seront affiches dans le butineur. Celle donne ci-dessus permet de retenir les lignes commenant par un #, un caractre alphanumrique ou une parenthse ouvrante (non suivie d'une *)
Voir aussi : Syntaxe des expressions rgulires

defMacroVisible=-1 ou 0
Autorise (-1) ou non (0) l'affichage du menu de dfinition des macros. Le menu d'excution est bien sr toujours disponible (si le fichier CMDCAML.MAC existe !)


+ Section [CAMLWIN]
Cette section n'est utilise que lorsque le noyau tourne dans la fentre de CAMLWIN.EXE.

title=CAML for Windows - Terminal
titre de la fentre au moment de l'ouverture de CAMLWIN.
Quelques explications :
Le frontal communique avec CAML en automatisant les oprations de collage : le titre sert  retrouver la fentre de CAMLWIN parmi toutes celles qui sont ouvertes sur le bureau Windows. 
IL EST IMPERATIF QUE LA FENETRE DE CAMLWIN SOIT LA SEULE DE TOUT LE BUREAU A PORTER CE TITRE. 

La majorit des erreurs de configuration commises par les utilisateurs porte sur ce point !

evaltitle=
  Cette entres est inutilisable avec CALMWIN, car le titre de la fentre du noyau ne change pas au cours de l'valuation.

ExeName=c:\caml\camlwin.exe
emplacement du programme excutable

CmdToPaste=%d1^{END}^+{HOME}^v%cs
Pour coller du texte dans la fentre d'input. Avec les mmes conventions que prcdemment, cette entre signifie :
Alt-Display 1	(* pour slectionner la fentre Terminal *)
Ctrl-Fin		(* place le curseur  la fin *)
Ctrl-Maj-Dbut	(* slectionne tout le texte *)
Ctrl-V 		(* colle le contenu du presse-papiers *)
Alt-Caml Send	(* dclenche l'valuation *)

Pour plus de renseignements, voir la syntaxe des macros


CmdToClose=%fx
Pour fermer le programme CAMLWIN.
Signifie Alt-File eXit

Autoload=-1
Pour lancer le programme automatiquement au dmarrage du frontal.

CmdShowGraph=%cg
Pour afficher la fentre graphique dans le programme CAMLWIN.

+ Section [TOOLS]
Cette section permet de dfinir le contenu du menu "Outils". On peut y placer jusqu' 10 intituls diffrents afin de lancer facilement depuis le frontal d'autres programmes.
Chaque ligne doit tre de la forme :
<n>=<chane du menu>|<chemin et nom du programme>
Par exemple :
0=&Calculette Windows|calc.exe
1=&Maple V4|C:\MAPLEV4\BIN.WIN\WMAPLE32.EXE

Les lignes doivent tre numrotes dans l'ordre croissant, de 0 jusqu' 9 au maximum. S'il existe le caractre & dans l'intitul, le caractre suivant sera soulign dans l'affichage du menu.
Si cette section est absente, le menu "Outils" n'apparat pas. 

Remarque :
Il peut exister d'autres sections dans le fichier CMDCAML.INI : [Environnement] et [Command Window]

Une cl intressante dans la section Environnement est la suivante :
ChargeDernier=-1 ou 0
Ceci permet de ne pas charger automatiquement le dernier environnement utilis au moment de la fermeture du frontal. 
Cela est videmment trs utile si le programme est utilis sur la mme machine par plusieurs utilisateurs.

Si vous n'avez pas l'intention d'utiliser CAML dans une fentre DOS, la configuration est termine. 

+ section [CAML]
Cette section n'est utilise que lorsque le noyau tourne dans une fentre DOS. Elle fait rfrence  un fichier PIF (Parameter Information File), qui fournit  Windows des informations supplmentaires ncessaires  l'excution d'un programme DOS dans une fentre Windows. Ce paramtrage est discut dans la section suivante (celle concernant le deuxime fichier)

title=noyau CAML-Light
titre de la fentre de CAML, dfini dans le PIF.
Quelques explications :
Le frontal communique avec CAML en automatisant les oprations de collage : CAML DOIT tourner dans une fentre pour que cela puisse se faire. Le titre sert  retrouver sa fentre parmi toutes celles qui sont ouvertes sur le bureau Windows. 
IL EST IMPERATIF QUE LA FENETRE DOS DE CAML SOIT LA SEULE DE TOUT LE BUREAU A PORTER CE TITRE. 

    La majorit des erreurs de configuration commises par les utilisateurs porte sur ce point !

evaltitle=Collage noyau CAML-Light
titre de la fentre pendant le collage de texte. Pendant que du texte est coll, Windows change le titre de la fentre. Le titre prcdent correspond  la version Franaise de Windows 3.1
Pour Windows 95, c'est "Coller - noyau Caml-Light"

ExeName=C:\CAML\Caml_w31.pif
chemin du PIF

CmdToPaste=% nl
Ce sont les touches qu'il faut utiliser pour coller du texte dans une application DOS. En Windows 3.1, version Franaise :
     '%' signifie Alt, donc '% 'signifie Alt-Espace
     'n' pour Edition
     'l' pour Collage
Pour plus de renseignements, voir la syntaxe des macros

Si vous utilisez une autre version de Windows, il vous suffit de noter les touches utilises dans une fentre DOS pour copier du texte contenu dans le presse-papiers.

CmdToClose=% F
Pour fermer CAML. Si entre vide, la commande CAML "quit();;" sera colle (ce qui, sous Windows 95, provoquera l'affichage d'une fentre informant d'un collage incomplet !)

Autoload=-1
Pour lancer CAML.PIF au dmarrage. -1=true, 0=false

 
Le deuxime fichier : CAML_XXX.PIF {DOS} 
Ce fichier est indispensable pour utiliser la version 0.73 de CAML dans une fentre DOS sous Windows.
 Deux versions sont fournies : une pour Windows 3.1 (CAML_W31.PIF) et une pour Windows 95 (CAML_W95.PIF)

 Le fichier CAML_W31.PIF qui vous est fourni tourne sur une machine quipe de 8 Mo de mmoire, CAML tant install dans le rpertoire C:\CAML, le PIF se trouvant dans ce rpertoire.
 Normalement, les seules informations que vous devriez avoir ventuellement  modifier avec PIFEDIT.EXE (dans le rpertoire Windows) sont :
 + le rpertoire initial dans lequel se trouve caml.pif
 + la quantit de mmoire EMS allouable au programme. 
   Il est  noter que la mmoire EMS ne pourra fonctionner que si le fichier CONFIG.SYS lance un gestionnaire convenable de mmoire EMS. Voir doc CAML version 0.73 (dans mon cas, DEVICE=C:\DOS\EMM386.EXE RAM, sans option NOEMS)
 Lancer ensuite le fichier CAML_XXX.PIF. Positionnez convenablement la fentre, et choisissez la police (sur un VGA 640x480, je vous conseille la police 7x12 ou 8x12), et cochez la case Enregistrer les paramtres. Vous retrouverez ainsi la fentre de CAML toujours dans ce mme tat.

 Le fichier CAML_W95.PIF reprend la mme configuration que la prcdente, en utilisant une mulation de fentre texte de 50 lignes (a tourne sur un cran 1024 x 768). Le modifier en fonction des caractristiques de votre machine.

'
Exemple de CMDCAML.INI:
il correspond  un dcompactage des fichiers de distribution de l'INRIA dans le rpertoire C:\CAML, et  l'installation du frontal dans le rpertoire c:\caml\frontal. Il fonctionne sous Windows 95

**************************************************************
[GENERAL]
camlhelpfile=c:\caml\doc\refman73.hlp
camlwin=-1
exesize=
CmdToInclude=include
AlternateEditor=write.exe
PrinterFontName=Courier New
PrinterFontSize=10
PrinterMargin=720

[EDITOR]
positiveIndent=(begin|do|exception|for|fun|function|if|then|else|let|match|try|type|value|while|::|@|,|:=|=|<-|->|\(|\{|\[)$
SpacesInTab=2
RegExpLineToBrowse=^(#|[\[\{a-zA-Z0-9]|\([^\*])
defMacroVisible=-1

[TOOLS]
0=&Calculette|calc.exe
1=&Maple V4|C:\MAPLEV4\BIN.WIN\WMAPLE32.EXE

[CAML]
title=Noyau CAML Light
evaltitle=Coller - Noyau CAML Light
ExeName=c:\caml\frontal\CAML_W95.pif
CmdToPaste=% eo
CmdToClose=% F
Autoload=-1

[CAMLWIN]
title=CAML for Windows - Terminal
evaltitle=CAML for Windows - Eval
ExeName=c:\caml\camlwin.exe
CmdToPaste=%d1^{END}^+{HOME}^v%cs
CmdToClose=
Autoload= 0
CmdShowGraph=%cg
CmdLineByLine= 0

[Environnement]
ChargeDernier=0
**************************************************************

 Utilisation
Lancez maintenant le programme CMDCAML.EXE Cela va faire apparatre  l'cran plusieurs fentres :
 - la fentre MDI principale
 - une fentre d'dition vierge (sans titre 1) ou les fentres du dernier environnement utilis (si la cl ChargeDernier=-1 dans le fichier CMDCAML.INI)

et si Autoload =-1 dans le fichier CMDCAML.INI :
 - {DOS} 
   la fentre DOS dans laquelle le prompt "Caml Light version 0.73" doit apparatre, et la fentre de commande CAML, place en dessous de la fentre CAML (et en permanence au premier plan par rapport a cette dernire)

 - {CAMLWIN}
   la fentre du programme CAMLWIN.EXE
 
Remarque :
Il est possible d'associer le programme CMDCAML.EXE aux extensions de fichier .CWS ou .ML (cf docs gestionnaire de fichiers Windows 3.1 ou explorateur Windows 95). Le fonctionnement est alors le suivant :
* un double-clic sur un fichier .CWS provoque le chargement de l'environnement correspondant, aprs sauvegarde de l'environnement en cours
* un double-clic sur un fichier .ML provoque l'ajout du fichier  l'environnement courant

Pour une description du fonctionnement, voir :
Fentre de commande {DOS}
Frontal MDI

 Fentre de commande {DOS}
Son fonctionnement est trs simple : elle contient une zone d'dition de texte, dans laquelle il est possible de taper en bnficiant des possibilits classiques d'dition sous Windows (dplacement du curseur, couper (Ctrl-X) / copier (Ctrl-C) / coller (Ctrl-V)).
  
  Pour envoyer du texte au noyau CAML comme s'il tait tap au clavier, le menu "Evaluer" contient deux lignes assez explicites :
  - Tout (Ctrl-T) colle tout le texte
  - Slection (Ctrl-S) colle uniquement le texte slectionn
  Une paire de caractres CR/LF (fin de ligne) est ajoute ventuellement en fin de texte pour provoquer l'valuation de la commande par CAML.
  
  Le menu Editer contient les commandes classiques (Couper/copier/coller)
  
  L'entre de menu Fentre possde deux options :
   - Frontal (Ctrl-O), qui permet de faire passer au premier plan la fentre MDI, dcrite dans le paragraphe qui suit
   - CAML (Ctrl-A), qui permet de faire de la fentre DOS la cible des entres au clavier.
  
  Cliquer avec le bouton droit de la souris fait apparatre un menu flottant regroupant les commandes les plus courantes (Edition et Evaluation)

 Frontal MDI
Il permet :
  - d'diter en mme temps plusieurs fichiers texte, dans lesquels il est possible d'valuer du code CAML comme dans la fentre de commande, ou de l'inclure ("include" de CAML) automatiquement.
  - de rechercher et de remplacer du texte dans les fentres d'dition, en utilisant des botes de dialogue spcialises
- de rechercher les textes correspondants  un expression rgulire, dans le contenu des fentres d'dition ou dans les fichiers d'un rpertoire.
  - de 'Butiner' le contenu d'un texte. Il apparat une fentre auxiliaire dans laquelle vont figurer toutes les lignes commencant dans la premire colonne. Cela correspond en gnral aux dbuts des dfinitions, et permet un parcours rapide du contenu d'un fichier.
  - de sauvegarder  l'ensemble des fentres ouvertes et le contenu de la fentre de commande dans un "environnement", afin de retrouver facilement l'espace de travail lors d'une session ultrieure.

  - {DOS} de faire apparatre une fentre graphique autorisant des tracs 
    simples, pilots par CAML.

  Remarque :
  Il existe une rgle gnrale de navigation : si pour basculer d'une fentre d'dition  une autre fentre (commande, recherche, remplacement, butineur...), on utilise une combinaison de touches, cette mme combinaison est utilise pour revenir dans la fentre d'dition. 

Le systme de menus


 Le systme de menus
Voil, menu par menu, une description sommaire de toutes les options :
Menu Fichier
Menu Editer
Menu Evaluer
Menu fentre
Menu Aide
Menu Raccourcis : voir la section concernant les Macros et Raccourcis claviers

 Menu Fichier
    - Nouveau (F11)
permet d'ouvrir une fentre vierge
      
    - Ouvrir...(Ctrl-F12)
permet de charger un fichier texte  partir d'un disque. Le format de ce fichier peut tre de l'ASCII (DOS), de l'ANSI (Windows). De plus, la conversion des fin de lignes LF -> CR/LF ou CR -> CR/LF permet de rcuprer les fichiers en provenance d'autres plantes (UNIX et MAC par exemple ;-)
Note concernant les accents :
Les caractres de code suprieur  128 seront correctement traduits dans les cas suivants : 
* fichier d'origine DOS (transcodage OEM->ANSI)
* fichier d'origine MAC (avec fin de ligne marque par un CR isol)
Pour UNIX, le problme ne se pose pas (fichiers gnralement en ANSI)
    - Sauver sous...(F12)
Sauvegarde d'un fichier, avec choix du nom.

Remarque : 
le format par dfaut du fichier sauvegard est fix par le type d'interprteur choisi. 
- Si CAML tourne dans une fentre DOS, le fichier sera sauv en ASCII. Cela provoquera des affichages bizarres pour les caractres accentus si vous chargez un tel fichier dans un diteur de texte  Windows n'assurant pas la conversion (NOTEPAD.EXE par exemple)
- Si CAMLWIN est utilis, le fichier sera sauv en ANSI
La conversion entre les deux formats est opre automatiquement par le frontal. 
Cela est particulirement important en cas de compilation de fichiers comportant des caractres accentus. 
CAML (DOS) ne chargera correctement un code objet (*.ZO) que s'il provient de la compilation d'un fichier source ASCII. 
De mme, CAMLWIN ne chargera correctement qu'un code objet issu de la compilation d'un fichier ANSI
.
Pour tre sr du rsultat, voil la marche  suivre conseille :
- choisir l'interprteur DOS ou Windows (cl CAMLWIN dans CMDCAML.INI)
- charger les fichiers  compiler dans le frontal
- sauvez-les. Le frontal proposera alors la conversion vers le format correct si ncessaire
- compilez-les  l'aide la fonction compile de CAML ou CAMLWIN

Aucune conversion n'est opre actuellement vers les autres formats (UNIX et MAC en particulier)
    - Sauver (Maj-F12)
Sauvegarde d'un fichier. Si dj nomm, pas de demande de nom. On remarquera que si un fichier a t modifi depuis sa dernire sauvegarde, son nom dans la barre de titre sera suivi d'une toile "*"

Les mmes remarques que dans le paragraphe prcdent s'appliquent videmment.
    - Environnement
voir la description de ce sous-menu dans le paragraphe gestion des environnements

    - Imprimer... (Maj-Ctrl-F12)
Permet d'imprimer tout ou partie d'un tampon

    - Terminer (Alt-F4)
      C'est fini!


 Menu de gestion des environnements
Rle des environnements
La cration d'un environnement permet de sauvegarder les positions des fentres, les noms des fichiers ouverts dans le frontal, ainsi que les polices de caractres utilises. Cela permet de retrouver son travail dans le mme tat lors d'une session ultrieure. 

Un environnement possde un nom (8 caractres alpha-numriques maxi), qui est utilis pour former le nom de deux fichiers contenant les renseignements conservs. Ces deux fichiers doivent tre dans le mme rpertoire.
<nom_environnement>.CWS : 
c'est un fichier texte, contenant la liste et la position des diffrentes fentres, avec le fichier et la police associs.

<nom_environnement>.SML : 
fichier correspondant au contenu de la fentre de commande. Il n'est utilis que dans le cas o l'interprteur utilis tourne dans une fentre DOS.

Fichier d'initialisation :
Il est possible d'avoir un fichier qui s'excute automatiquement  l'ouverture d'un environnement. Ce fichier doit tre dans le mme rpertoire que <nom_environnement>.CWS et se nommer <nom_environnement>.ML
Exemple :
Si un utilisateur dfinit un environnement de nom TEST dans le rpertoire C:\CAML\ESSAIS ( l'aide des commandes discutes dans les paragraphes qui suivent), alors il existera dans ce rpertoire un fichier TEST.CWS (et ventuellement un fichier TEST.SML )
Si de plus un fichier TEST.ML existe dans ce mme rpertoire, alors la commande :
	include "C:\\CAML\\ESSAIS\\TEST"
sera automatiquement value dans l'interprteur.

Quand un environnement est actif, son nom figure dans la barre de titre de la fentre du frontal.

Rappel : il est possible d'associer aux fichiers *.CWS  le programme CMDCAML.EXE (cf. gestionnaire de fichiers W31 ou explorateur W95) Cela permet de retrouver l'tat prcdent de son travail au prix d'un unique double-clic sur le fichier <envir>.CWS, ou d'un raccourci sur ce mme fichier.

Commande du menu

 - Nouveau 
Permet, aprs sauvegarde de l'environnement courant, de dfinir un nouveau nom, et ventuellement un nouveau rpertoire destin  contenir les fichiers CWS et SML. Ce rpertoire devient le rpertoire par dfaut de sauvegarde et de recherche des fichiers  
- Rtablir...
Permet, aprs sauvegarde de l'environnement courant, de retrouver un environnement sauvegard sur disque
- Options...
  Ouvre une bote de dialogue permettant de donner un nom  un environnement (en crant ventuellement un sous-rpertoire pour contenir les fichiers concerns), ou d'inhiber/activer la sauvegarde des modifications faites au cours d'une session. Cela ne concerne pas les contenus des fichiers, mais uniquement les informations conserves dans un environnement (liste des fichiers, fentre de commande)


 Menu Editer
- Couper (Ctrl-X) / Copier (Ctrl-C) / Coller (Ctrl-V)
      Tout a est trs classique
  
- Dfaire (Ctrl-D ou Ctrl-Z)
      annuler la dernire action d'dition de texte
  
- Rechercher... (F3)
Ouvre une bote de dialogue permettant de rechercher du texte.
Dans le mode de recherche standard, la recherche se fait dans la fentre courante.
Dans le mode de recherche avanc, la recherche se fait en spcifiant une expression rgulire (GREP), dans l'ensemble des fentres ouvertes ou dans les fichiers d'un rpertoire correspondant  un masque donn.
Cela peut permettre par exemple de rechercher des spcifications de type dans les fichiers mli d'un rpertoire.
Les rsultats de la recherche sont prsents dans une liste hirarchique, dans laquelle il suffit de double-cliquer pour slectionner la chane trouve (avec chargement automatique du fichier si ncssaire)
On consultera avec intrt la section dcrivant la syntaxe des expressions rgulires.
  
- Poursuivre la recherche (Maj-F3)
  Poursuite de la recherche quand la bote prcdente est  l'cran.
  
- Remplacer... (Ctrl-F3)
Ouvre une bote de dialogue permettant de rechercher du texte dans un tampon d'dition, afin de le remplacer par un autre

- Butineur... (Ctrl-B)
Ouvre une fentre permettant de parcourir rapidement le contenu d'un fichier, si celui-ci est crit en respectant quelques rgles simples. Le principe est trs simple : une zone de liste dfilante prsente toutes les lignes correspondant au filtrage ralis par la cl RegExpLineToBrowse de la section [EDITOR] du fichier CMDCAML.INI
Avec l'expression rgulire fournie, une ligne commenant en premire colonne par un #, un caractre alphanumrique ou une parenthse (non suivie d'une toile), sera affiche dans le butineur.
Si on coche la case "Inclure les commentaires", l'expression rgulire devient :
          "(^\(\*)|expression rgulire normale"
La slection d'une ligne dans cette fentre dplace automatiquement le curseur au dbut de la ligne dsigne dans la fentre d'dition.
Par exemple, si le contenu d'un tampon est :

(* sommation
  essai de fonction rcursive *)
let rec sigma f (a, b)=
  if a>b then 0
  else (f a) + sigma f (a+1, b);;

(* produit
  un autre essai *)
let rec pi f (a, b)=
  if a>b then 1
  else (f a) * pi f (a+1, b);;
     
la fentre de butineur affichera dans la zone de liste si les commentaires sont inclus:
        (* sommation
        let rec sigma f (a, b)=
        (* produit
        let rec pi f (a, b)=
      
et sinon : 
        let rec sigma f (a, b)=
        let rec pi f (a, b)=
      
Le contenu de cette liste n'tant pas automatiquement mis  jour quand on tape du texte dans la fentre d'dition, il existe un bouton "rafrachir" permettant de ractualiser son contenu.
      
Un double clic sur une ligne de la liste slectionne dans la fentre d'dition tout le texte contenu entre le dbut de la ligne et la squence CAML de fin d'expression ";;". Cela permet un reprage rapide d'une portion d'un fichier, suivi de son valuation.
    
- Niveau suprieur (Ctrl-U)
  Dplace le curseur au dbut de la ligne dont l'indentation est plus faible que la ligne courante. Prime aux programmeurs sachant bien indenter...
  Permet en outre une slection simple de l'expression courante (appuis rpts sur Ctrl-U pour remonter  la premire ligne, suivi de Maj-Ctrl-; (cf plus loin : Comportement spcial des fentres d'dition)

  - Dbut de dfinition (Ctrl-L)
  Dplace le curseur au premier "let" prcdant le curseur, et situ en premire colonne de texte (compltement  gauche de la fentre). Permet ainsi de remonter aisment au dbut de la dfinition d'une ou de plusieurs fonctions. 

Ctrl-U ou Ctrl-L Permettent une slection simple de l'expression courante (appuis rpts sur Ctrl-U pour remonter  la premire ligne d'une expression ou Ctrl-L pour le dbut d'une fonction, suivi de Maj-Ctrl-; (cf plus loin : Comportement spcial des fentres d'dition). Il suffit alors d'valuer par Ctrl-S.

- Police... (F2)
Pour choisir la police de caractres utilise dans la fentre courante


 Menu Evaluer
L'valuation par le frontal consiste  dclencher automatiquement des oprations de copiage/collage; Tout se passe comme si le texte coll tait rellement tap dans la fentre du noyau CAML
- Tout (Ctrl-T)
  colle tout le contenu du tampon. Cela peut tre long...
  
- Slection (Ctrl-S)
  colle la partie slectionne du tampon.
  
- "Include" tout le tampon (F4)
  Sauvegarde le contenu du tampon dans un fichier temporaire, puis colle dans le noyau CAML une phrase de la forme :
      include "<rpertoire-temp>\\tmp_incl";;
Le rpertoire o le fichier temporaire est sauv est celui dsign par la variable d'environnement TEMP. Si cette variable n'existe pas, la sauvegarde aura lieu dans le rpertoire Windows. 
Ce fichier est automatiquement supprim lors de la fermeture du frontal.

Par exemple, si dans votre AUTOEXEC.BAT, se trouve la ligne 
SET TEMP=C:\WINDOWS\TEMP
alors la phrase CAML suivante sera colle :
      include "C:\\WINDOWS\TEMP\\tmp_incl";;

C'est la mthode de choix pour valuer rapidement la totalit d'un fichier.

- "Include" la slection (F5)
  mme chose que dans le  prcedent, si ce n'est que seul le texte slectionn est sauv dans le fichier temporaire.

Menu fentre
Les commandes de ce menu permettent la gestion des diffrentes fentres du programme. 
- Commande CAML (Ctrl-O)
  {DOS}
  permet de basculer  l'affichage de la fentre de commande, associe  la fentre du noyau
  {CAMLWIN}
  bascule vers la fentre CAMLWIN
- fentre graphique
  provoque l'affichage de la fentre de sortie graphique. Deux cas se prsentent :
  {DOS} 
cette fentre est gre par le frontal.  Voir plus loin la section " Affichage de graphiques pilots par CAML "
  {CAMLWIN} 
Equivalent  la commande de CAMLWIN : Alt-Caml Show Graphics  Peu utile dans l'tat actuel.
- Cascade
  dispose les fentres en cascade (Maj-F5)

- Arranger Horizontalement (Maj-F4) / Verticalement (Maj-F6)
  dispose les fentres en mosaque

- Ranger les icnes

- Liste des fentres

  Menu Aide

- Aide Frontal (F1)
  lance ce fichier d'aide 

- Aide contextuelle (Shift-F1)
  lance le fichier d'aide du langage dfini dans le fichier CMDCAML.INI en recherchant une portion pertinente du texte slectionn dans la fentre d'dition. 
Rem : le texte recherch est le premier mot du texte slectionn, ventuellement dbarrass du nom de module.

- Rfrence CAML (Ctrl-F1)
  lance le fichier d'aide dfini dans le fichier CMDCAML.INI en ouvrant le sommaire

- A propos...
  donne des informations sommaires sur la version actuelle du frontal.

 Comportement spcial des fentres d'dition
Ces fentres, principalement utilises pour taper du code CAML, possdent quelques comportements spcialement adapts  cette tche.
Voil la liste des touches actuellement reconnues par ces fentres. Un bon nombre des commandes correspond  des intituls de menus, dj voqus prcdemment.
  
 Touches d'indentation
<Entre> ne ramne pas le curseur en premire colonne dans la nouvelle ligne cre, mais provoque l'insertion d'autant de caractres <espace> qu'il en existe dans la ligne prcdente, ou provoque une indentation quivalente  une tabulation si le dernier mot de la ligne (en liminant le commentaire ventuel de fin de ligne) est reconnu (cf. description du fichier INI)
Cela facilite videmment l'criture de code proprement indent. Pour revenir  la premire colonne, il faut appuyer sur Ctrl-<entre>

<Retour-Arrire> en dbut de ligne ramne le curseur au niveau d'indentation infrieur

<TAB> provoque l'insertion d'un nombre d'espaces paramtrable (cf. fichier INI)

<Maj+TAB> provoque l'effacement des espaces en dbut de ligne, du curseur au premier caractre (diffrent de l'espace) de la ligne. Permet d'aligner la ligne sur le curseur. Ne fait rien si appuy dans le corps de la ligne

Si des caractres sont slectionns (sur une ou plusieurs lignes), alors <TAB> et <Maj+TAB> fonctionnent diffremment :
* <TAB> insre des espaces (autant que pour un TAB) en tte de toutes les lignes slectionnes
* <Maj+TAB> supprime des espaces (autant que pour un TAB) en tte de toutes les lignes slectionnes.
Cela permet d'ajuster facilement l'indentation simultane de plusieurs lignes de code.

 Touches de navigation dans le code
Ctrl-U 
  ramne sur la premire ligne d'indentation infrieure  la ligne courante
Ctrl-;
  dplace  la suite de la prochaine occurrence de la squence ";;".
Maj-Ctrl-;
 idem que prcdemment, en slectionnant le texte. Couple  Ctrl-U, permet la slection rapide d'une expression CAML en vue de son valuation.
Ctrl-B
  Bascule vers le butineur.
Alt-<-    (flche_gauche)
  si le curseur est juste aprs une parenthse fermante, retrouve la parenthse ouvrante associe  ) ] ou }.
Associe  Maj, cette combinaison de touche slectionne le texte correspondant. 
Rem : Cette fonction peut tre trompe par des parenthses situes dans une chane ou un commentaire.
Alt-->    (flche_droite)
Idem : si le curseur est juste devant une parenthse ouvrante, retrouve la parenthse fermante.
  
touches d'valuation
Ctrl-S
Evaluation de la slection. (copiage du texte)
Ctrl-T
Evaluation de tout le tampon (copiage du texte)
F4
Inclusion de tout le tampon  partir d'un fichier temporaire.
F5
Inclusion du texte slectionn  partir d'un fichier temporaire.

Bouton droit de la souris  
De plus, cliquer avec le bouton DROIT dans la fentre fait apparatre un menu flottant permettant les actions les plus courantes (presse-papier, appel du butineur, valuation et aide contextuelle)


 Barres d'outils
Les fentres MDI et {DOS}graphique sont munies de barres d'outils contenant plusieurs boutons permettant de raliser des oprations courantes. Un texte d'aide les concernant est affich  la droite de la barre quand le pointeur de souris passe sur le bouton.

 Macros et Raccourcis claviers

Il est possible d'enregistrer des squences de touches (macros), exploitables de faon automatique par l'utilisation d'un raccourci clavier. 

Ces raccourcis et macros sont conserves dans un fichier CMDCAML.MAC, situ dans le rpertoire du frontal. Si ce fichier manque, aucune macro n'est videmment dfinie...

Remarque : Le fichier CMDCAML.MAC fourni comporte quelques exemples. Modifiez-les, crez-en d'autres, et envoyez-moi les plus russies !

Quand la macro est excute, le programme simule l'envoi des touches enregistres  la fentre active comme s'il s'agissait d'une saisie directe au clavier.

Le mode Raccourci
Pour que le programme reconnaisse le raccourci, l'diteur doit tre dans un mode spcial, obtenu en appuyant sur la touche Echappement (Escape). On pourrait parler (comme sous Emacs) de Meta-mode.
Pour sortir de ce mode et revenir au fonctionnement standard de l'diteur, il suffit d'utiliser un raccourci valide, ou d'appuyer de nouveau sur Echappement.

Le menu Raccourci
En Meta-mode (indiqu dans la barre de titre de la fentre, et rappel en bas  droite...), un nouveau menu apparat  cot du menu d'aide. Contenant deux commandes, il permet la cration/modification des raccourcis, ainsi que leur excution.

Commande "Dfinir"
Dfinir (Ctrl-F7) ouvre une bote de dialogue comprenant :

1) une liste dcrivant les raccourcis actuels. La dernire ligne est toujours vide afin de permettre la dfinition d'un nouveau raccourci

2) trois zones de saisie permettant de dfinir le raccourci :
a) la combinaison de touches qui l'active. Elle s'affiche automatiquement quand on appuie sur les touches, le focus tant sur cette zone. C'est cette combinaison qui dclenchera la macro quand l'diteur est en Meta-mode. Il est  noter que le raccourci NE DOIT PAS correspondre  un acclrateur actif en mode normal, ce dernier ayant priorit devant ceux dfinis dans cette fentre.
Par exemple, F4 est inutilisable, car elle correspond  l'inclusion du tampon dans CAML
b) le descriptif du raccourci. Il est affich dans la bote de dialogue d'excution des macros (voir plus loin).
c) le code de la macro. (voir la description de la syntaxe des macros)

3) des boutons au libell explicite (enfin j'espre). Il est  noter que la modification ou l'ajout d'un raccourci n'est possible que si les trois champs (Raccourci, commentaire et macro) sont remplis.

Commande "Excuter"
Ce menu (F7) ouvre une bote de dialogue trs simple contenant une liste prsentant les macros disponibles, en rappelant en dessous le raccourci associ. 
Un double-clic sur la liste (ou un clic sur le bouton Excuter) lance l'envoi des touches programmes dans la macro.. 

Acclrateurs dans les macros
Quand la macro s'excute, l'diteur est en mode normal. Il est donc possible d'inclure dans une macro un acclrateur clavier (associ  un menu, etc...), voire mme d'inclure l'appel  une macro dans une autre.
Il est  noter que l'envoi de touches fonctionne mme si la macro provoque le basculement vers une autre application (offrant la possibilit de dclencher des actions dans une autre application que le frontal)

Voir aussi la syntaxe des macros


Annexes

 Syntaxe des expressions rgulires
La DLL REGEXP.DLL permet au frontal de rechercher un fragment de texte en spcifiant une expression rgulire.

Cette expression, qui est une reprsentation linaire d'un automate non dterministe, est compile sous la forme d'un automate dterministe, permettant une recherche trs efficace dans des fichiers texte.

Syntaxe :
^ 	Dbut de ligne
$	fin de ligne
. 	tout caractre
\	Permet de citer les caractres spciaux
*	permet un nombre quelconque (0 compris) de rptitions du caractre ou du bloc prcdent
+	permet un nombre suprieur ou gal  1 de rptitions du caractre ou du bloc prcdent
|	l'alternative entre deux blocs
[^abc0-9]	Exclure a ou b ou c ou 0  9
[abc0-9]	a ou b ou c ou 0  9
( )	permet de regrouper des sous-expressions en "blocs"


Origine de cette DLL :
/************************************************\
*                                                *
*   REGEXP.DDL Implementation Module             *
*   Copyright (c) 1992 by Borland International  *
*   Copyright (c) 1986 by Univerisity of Toronto *
*                                                *
\************************************************/

/* This file was originally written by Henry Spencer for
 * the University of Toronto and was modified by
 * Borland International to compile with Borland C++ 3.1
 * and for use in a DLL.*/

Le code source de cette DLL a t modifi pour permettre le traitement correct des caractres accentus, et compil avec Microsoft Visual C++


 Syntaxe des macros

Chaque touche est reprsente par un ou plusieurs caractres. Pour spcifier un seul caractre du clavier, utilisez le caractre proprement dit. Par exemple, pour reprsenter la lettre A, utilisez "A". Si vous dsirez reprsenter plusieurs caractres, il vous suffit d'ajouter les caractres les uns  la suite des autres. Par exemple, pour reprsenter les lettres A, B et C, utilisez  "ABC"
les caractres suivant ont une signification spciale :signe plus (+), circonflexe (^), pourcentage (%),tilde (~). Pour spcifier l'un de ces caractres, placez-le entre accolades. Par exemple, pour spcifier le signe plus, utilisez {+}
Il en va de mme pour les parenthses(), crochets[] et accolades{}. Vous devez les placer eux aussi entre accolades.
Exemple : pour envoyer des accolades, utilisez les squences {{} et {}}.

Pour spcifier des caractres qui n'apparaissent pas  l'cran lorsque vous appuyez sur une touche (comme la touche entre ou tab) et des touches qui reprsentent des actions plutt que des caractres, employez les codes suivants :

Touche	Code
RET.ARR	{BACKSPACE}, {BS} ou {BKSP}
ATTN	{BREAK}
VERR.MAJ	{CAPSLOCK}
SUPPR	{DELETE} ou {DEL}
BAS	{DOWN}
FIN	{END}
ENTREE	~ ou {ENTER}
ECHAP	{ESCAPE} ou {ESC}
AIDE	{HELP}
ORIGINE	{HOME}
INSERTION	{INSERT}
GAUCHE	{LEFT}
VERR.NUM	{NUMLOCK}
PG.SUIV	{PGDN}
PG.PREC	{PGUP}
IMPR. ECRAN	{PRTSC}
DROITE	{RIGHT}
ARRET.DEFIL	{SCROLLLOCK}
TAB	{TAB}
HAUT	{UP}
F1	{F1}
F2	{F2}
F3	{F3}
F4	{F4}
F5	{F5}
F6	{F6}
F7	{F7}
F8	{F8}
F9	{F9}
F10	{F10}
F11	{F11}
F12	{F12}
F13	{F13}
F14	{F14}
F15	{F15}
F16	{F16}

Pour spcifier une combinaison de touches avec Maj, Ctrl et Alt, faites prcder le code normal de la touche d'un ou plusieurs codes parmi les suivants :

Touche	Code
MAJ	+
CTRL (CONTROLE)	^
ALT	%

Pour spcifier que les touches maj, ctrl et/ou alt doivent tre maintenues enfonces pendant que vous appuyez sur d'autres touches, mettez le code des touches entre parenthses. Par exemple, pour que la touche maj soit maintenue enfonce pendant l'appui sur les touches E et C
, utilisez "+(EC)". Pour que la touche maj soit maintenue enfonce en mme temps que la touche E et que l'utilisateur appuie ensuite sur la touche C sans enfoncer la touche maj, utilisez "+EC".
Pour spcifier qu'une touche doit tre rpte, employez la forme {touche nombre} en n'oubliant pas d'insrer un espace entre touche et nombre. Par exemple, {LEFT 42} signifie que la touche gauche doit tre enfonce 42 fois et {h 10} qu'il faut appuyer 10 fois sur la touche h.

Remarque   Visual Basic ne peut pas envoyer de frappes de touches  une application qui n'est pas conue pour tre excute dans l'environnement Microsoft Windows. Il ne peut non plus envoyer la touche impr. cran  aucune application.

 Utilisation en rseau
Le programme est utilisable facilement sur un rseau local. 
Pour cela, il suffit de :

* placer l'ensemble des fichiers concernant le frontal dans un rpertoire du serveur. Ce rpertoire peut parfaitement tre en lecture seule, puisque le programme ne sauve plus le fichier TMP_INCL.ML (pour include...) dans le rpertoire du programme mais dans un rpertoire temporaire de la machine locale (dsign par la variable d'environnement TEMP, ou le rpertoire Windows par dfaut)

* modifier en consquence les cls ExeName et camlhelpfile du fichier CMDCAML.INI pour qu'elles pointent vers les fichiers correspondants sur le serveur

Remarque : CAMLWIN fonctionne lui aussi parfaitement  partir d'un serveur, la seule diffrence est que le fichier CAMLWIN.INI doit se trouver dans le rpertoire Windows de l'ordinateur local.

Par exemple, l'ensemble CAMLWIN/CMDCAML fonctionne sans problme sur un rseau local NT 3.51/Windows 95, avec uniquement deux fichiers sur le poste client :
* un raccourci sur le bureau de l'ordinateur client pour lancer CMDCAML.EXE, prsent sur la tte de rseau
* le fichier CAMLWIN.INI dans le rpertoire Windows de l'ordinateur client.


 Affichage de graphiques pilots par CAML{DOS}
Voir le fichier MTGRAPH.TXT. Vous y trouverez :
   - la description du fonctionnement du systme
   - la liste des fonctions graphiques
   - le mode d'emploi du fichier de test
     

 Pour les utilisateurs de Objective CAML...
Le frontal dcrit ici peut tre utilis avec OCAML ou OCAMLWIN dans des conditions similaires  celles de l'utilisation de CAML et CAMLWIN. Quelques subtiles diffrences existent actuellement :

Fonctionnement dans une fentre DOS de OCAML
Tout marche  peu prs correctement,  condition de dsactiver le collage rapide dans les proprits du raccourci 
Diffrence de syntaxe
En Ocaml, l'inclusion d'un fichier se fait par #use au lieu de include
Il existe donc la cl supplmentaire CmdToInclude dans la section [General] de CMDCAML.INI
Pour que le frontal fonctionne avec OCAML, il faut y mettre :
CmdToInclude=#use

Si cette cl est absente, la commande d'inclusion sera include (ce qui la rend inutile pour jouer avec CAML ou CAMLWIN)

	Page 2


