[ruby-gnome2-doc-cvs] [Hiki] create - tut-gconf

Back to archive index

ruby-gnome2-hiki-pt_BR****@sourc***** ruby-gnome2-hiki-pt_BR****@sourc*****
2004年 4月 11日 (日) 03:40:54 JST


-------------------------
REMOTE_ADDR = 200.216.145.78
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/pt_BR/?tut-gconf
-------------------------
= Tutorial de Ruby/GConf2
GConf um mecanismo de armazenamento de dados de configura$Bgc(Bo. $BI (Buma das maneiras mais f$Bac(Beis de armazenar dados de configura$Bgc(Bo. E suas funcionalidades s$Bco(B t$Bco(B legais e elegantes.
Se vocestpensando em adicionar funcionalidade de personaliza$Bgc(Bo a sua aplica$Bgc(Bo, duma olhada nele !

Veja ((<a Introdu$Bgc(Bo a biblioteca GConf|URL:http://developer.gnome.org/feature/archive/gconf/gconf.html>)). uma boa introdu$Bgc(Bo a GConf.

== Primeiro Passo
Este um exemplo f$Bac(Bil mas completo.

 require 'gconf2'
 client = GConf::Client.new
 
 #Ldados
 p client["/apps/hoge/stage"]
 p client["/apps/hoge/name"] 
 
 #Escreve dados
 client["/apps/hoge/stage"] = 1
 client["/apps/hoge/name"] = ARGV[0]

Salve esse exemplo como "test.rb" e o execute duas vezes.

 $ruby test.rb "hoge"
 $ruby test.rb "fuga"

Primeiramente, ele retorna valores nil porque nenhum dado estava armazenado.

Da segunda vez, ele retorna 1 e "hoge".

(('#')) Se vocexecutlo mais uma vez, vocobter1 e "fuga".

Isso tudo!
Vocn$Bco(B precisa fazer nada mais. Vocpode serializar os dados e ler/escrever dados a qualquer hora!

=== Onde os dados s$Bco(B armazenados ?
Os dados s$Bco(B armazenados pelo gconfd, que um servidor ("daemon") por usu$Bar(Bio. E eles s$Bco(B salvos para $HOME/.gconf/apps/hoge/%gconf.xml assincronamente. Nesse caso, ambos os "/apps/hoge/stage" e "/apps/hoge/name" s$Bco(B chaves. E os valores s$Bco(B String, Numeric, true/false.

== Notifica$Bgc(Bo de Altera$Bgu(Bes
GConf::Client usa o sistema de sinal de GTK. Em vez de usar a fun$Bgc(Bo ("API") "custom" de "callback" da GConf para notifica$Bgc(Bo, vocpode simplesmente conectar a um sinal "value_changed".
Tente seguir o exemplo em dois terminais e executar cada um em um terminal.

 require 'gconf2'

 client = GConf::Client.new
 client.add_dir("/apps/hoge")
 client.notify_add("/apps/hoge/name") do |client, entry|
   p entry.value
 end
 
 Gtk.main

== Log de Altera$Bgu(Bes
:2003-09-11 ((<lone-star>))
 Pequenos consertos de linguagem.
:2003-09-11 ((<Masao>))
 Traduzido para Ingl$Bjs(B.

:2003-06-19 ((<Masao>))
 Vers$Bco(B Inicial(Japanese)

Autor da Tradu$Bgc(Bo para Portugu$Bjs(B: ((<Jo$Bco(B Pedrosa|jpedrosa>))





ruby-gnome2-cvs メーリングリストの案内
Back to archive index