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>))