
le 06/03/2005 à 20:29
Taille limite de la base de donné chez Free
Sinon, il n'y a qu'à utiliser SQLite. C'est 'léger' (vu que son nom l'indique...)

<?php
# by XGarreau
# modifié par Isaac
# (hum _ juste pour apprendre)
####################################### Classes
Class rectangle {
var $longueur, $largeur;
Function rectangle ($longueur, $largeur) {
$this->longueur = $lo;
$this->largeur = $la;
}
Function aire () {
return $this->longeur*$this->largeur;
}
}
Class pave extends rectangle {
var $hauteur;
Function pave ($longueur, $largeur, $hauteur) {
parent::rectangle($lo, $la);
$this->hauteur = $ha;
}
Function volume () {
return parent::aire()*$this->hauteur;
}
}
####################################### Messages
Function rect_cb ($button, $param) {
$la = rand(1, 100);
$lo = rand(1, 100);
echo "Création d'un rectangle de ".$lo."*".$la."\n";
$rect = new rectangle ($la, $lo);
echo "--> Aire : ".$rect->aire()."\n";
echo "--> Nom : $param[0]\n";
echo "--> Heure de création : $param[2]\n";
}
Function pave_cb ($button, $param) {
$la = rand(1, 100);
$lo = rand(1, 100);
$ha = rand(1, 100);
echo "Création d'un pave de ".$lo."*".$la."*".$ha."\n";
$pave = new pave ($la, $lo, $ha);
echo "--> Aire de la base : ".$pave->aire()."\n";
echo "--> Volume : ".$pave->volume()."\n";
echo "--> Nom : $param[1]\n";
echo "--> Heure de création : $param[2]\n";
}
Function on_ferme () {
echo "\nOn ferme ...\n\n";
gtk::main_quit();
}
####################################### Fenêtre
Function create_window () {
$window = &new GtkWindow ();
$vbox = &new GtkVBox(FALSE, 5);
$window -> add($vbox);
$hbbox_hi = &new GtkHButtonBox();
$vbox -> add($hbbox_hi);
$hbbox_lo = &new GtkHButtonBox();
$vbox -> add($hbbox_lo);
$rc_btn = &new GtkButton ("Rectangle");
$hbbox_hi -> add ($rc_btn);
$pv_btn = &new GtkButton ("Pave");
$hbbox_hi -> add ($pv_btn);
$qt_btn = &new GtkButton ("Quitter");
$hbbox_lo -> add ($qt_btn);
$param = array("Rectangle", "Pave", date("H:i:s"));
$rc_btn -> connect ("clicked", "rect_cb", $param);
$pv_btn -> connect ("clicked", "pave_cb", $param);
$qt_btn -> connect ("clicked", "on_ferme");
$window -> connect_object ("destroy", array("gtk", "main_quit"));
return $window;
}
####################################### Lancement
If (!class_exists('gtk')) :
If (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) dl('php_gtk.dll');
Else dl('php_gtk.so');
EndIf;
srand(time());
$ma_fen = create_window();
$ma_fen->show_all();
gtk::main();
?>