Interfaces utilisateur et rapports statistiques avec R et Sas
Introduction
Chapitre 1. Environnement de travail
Chapitre 2. Le langage R
Chapitre 3. Rapports statistiques
Chapitre 4. Interfaces utilisateur
4.1. La librairie tcltk
4.2. Les menus de Rcommander
4.3. La librairie Rpad
4.3.1. Introduction
4.3.2. Zones de texte
4.3.3. Zones de liste
4.4. Exercices
Chapitre 5. Bases de données et langage Sql
Annexe A : une applette Java
Annexe B : le logiciel Sas
Page d'accueil Table des matières Niveau supérieur Page précédente Bas de la page Page suivante Démarrage du logiciel Webographie du module Glossaire du module

4.3.2. Zones de texte

Nous allons construire un premier fichier Rpad (voir code complet) saisissant dans une boîte de dialogue un nombre et affichant le carré de ce nombre (voir écran).

# squelette du fichier Rpad
<html>
<head>
	<script type="text/javascript" src="gui/Rpad.js"></script>
</head>
<body>
...
<span contenteditable="false">
	<input onclick="javascript:rpad.calculatePage()" value="OK" type="button">
	</input>
</span>
...
</body>
</html>

La partie centrale (<span> ... </span>) correspond au bouton OK. Avant elle, a été ajouté dans ce fichier Rpad un code familier à ceux qui connaissent le langage html :

# création du formulaire (version html)
<h1>Calcul du carre</h1>
nombre : 
<input type="text" name="nombre"></input>
<br/>

La première ligne (<h1> ... </h1>) ajoute un titre de niveau 1. La troisième ligne (<input> ... </input>) crée une zone de texte nommée nombre. La quatrième ligne (<br/>) indique un saut de ligne au navigateur web.

Il existe des fonctions de la librairie Rpad permettant d'écrire moins de code html : HTMLinput, HTMLselect, showgraph... Malheureusement, il semble que depuis R.2-10 ces fonctions ne fonctionnent plus. Et comme la librairie Rpad n'est apparemment plus mise à jour...

Le code inséré après la partie centrale (<span> ... </span>) est, à part la première instruction html affichant un trait horizontal (<hr/>), spécifique à R. Il décrit les actions effectuées lorsqu'on clique sur le bouton OK.

# traitement associé au bouton OK
<hr/>
<pre dojoType="Rpad" rpadHideSource="true">
	HTMLon()
	nombre = as.numeric(nombre)	
	carre = nombre * nombre
	reponse = paste("le carre de",nombre,"vaut",carre)
	library(R2HTML)
	HTML(reponse)
	HTMLoff()
</pre>
Page d'accueil Table des matières Niveau supérieur Page précédente Haut de la page Page suivante Démarrage du logiciel Webographie du module Glossaire du module