ruby-****@sourc*****
ruby-****@sourc*****
2004年 3月 15日 (月) 05:28:42 JST
------------------------- REMOTE_ADDR = 217.117.55.140 REMOTE_HOST = URL = http://ruby-gnome2.sourceforge.jp/fr?tut-gconf ------------------------- = Tutoriel Ruby/GConf2 GConf est un m$BqD(Banisme de stockage de donn$BqF(Bs. C'est un des moyens les plus faciles pour enregistrer des donn$BqF(Bs relatives la configuration d'une application. Ses fonctionnalit$BqT(B sont aussi bien $BqMqH(Bantes qu'amusantes. Si vous devez rajouter des fonctions de personalisation dans votre application, GConf est fait pour vous! Vous pouvez $BqH(Balement consulter ((<Introduction to the GConf library|URL:http://developer.gnome.org/feature/archive/gconf/gconf.html>)) (en anglais), qui introduit $BqH(Balement GConf. == Premi$BoS(Be $BqU(Bape Voici un exemple facile mais complet. require 'gconf2' client = GConf::Client.new # Lecture de donn$BqF(Bs p client["/apps/hoge/stage"] p client["/apps/hoge/name"] # Ecriture de donn$BqF(Bs client["/apps/hoge/stage"] = 1 client["/apps/hoge/name"] = ARGV[0] Sauvegardez cet exemple comme "test.rb" et ex$BqD(Butez-le deux fois. $ruby test.rb "hoge" $ruby test.rb "fuga" Lors de la premi$BoS(Be ex$BqD(Bution, il affichera deux valeurs "nil" car aucune donn$BqF(B n'est encore stock$BqF(B. Mais lors de la seconde ex$BqD(Bution, il affichera 1 et "hoge". (('#')) Si vous d$BqN(Barrez une troisi$BoN(Be fois le programme, vous obtiendrez 1 et "fuga". C'est tout! Il n'y a rien de plus savoir. Vous pouvez s$BqS(Bialiser des donn$BqF(Bs, et y acc$BqE(Ber (lecture/$BqD(Briture) n'importe quel moment! === Ou sont les donn$BqF(Bs? Les donn$BqF(Bs sont ger$BqF(Bs par gconfd, qui est un d$BqN(Bon instancipour chaque utilisateur. Elles sont sauvegard$BqF(Bs de fa$BmP(Bn asynchrone dans $HOME/.gconf/apps/hoge/%gconf.xml. Dans notre exemple, "/apps/hoge/stage" et "/apps/hoge/name" sont des clefs. Leurs valeurs peuvent-$BsU(Bre des cha$B{O(Bes de caract$BoS(Bes, des nombres, ou des valeurs bool$BqF(Bnnes. == Notification lors d'un changement GConf::Client utilise le syst$BoN(Be de signaux GTK. A la place d'utiliser les fonctions de rappel personnalis$BqF(Bs de GConf, vous pouvez simplement vous connecter sur le signal "value_changed". D$BqN(Barrez l'exemple suivant dans un terminal, ensuite red$BqN(Barrez le tout premier exemple dans une seconde session. require 'gconf2' require 'gtk2' + Gtk.init client = GConf::Client.new client.add_dir("/apps/hoge") client.notify_add("/apps/hoge/name") do |client, entry| p entry.value end Gtk.main == Modifications + :2004-03-14 ((<Masao|URL:../hiki.cgi?Masao>)) + Ajout de l'appel Gtk.init dans le second exemple. + :2003-09-11 ((<lone-star|URL:../hiki.cgi?lone-star>)) Quelques petites corrections orthographiques. :2003-09-11 ((<Masao|URL:../hiki.cgi?Masao>)) Traduction en anglais. :2003-06-19 ((<Masao|URL:../hiki.cgi?Masao>)) Premi$BoS(Be version (Japonais). Traduction de la page anglaise par Laurent Sansonetti.