1 Aralık 2009 Salı

WxRuby Girişi

#!/bin/env ruby

require 'rubygems'
require 'wx'
include Wx

class MyFrame < Frame
def initialize
super nil, -1, "My Frame", :size=>Size.new(300, 300)
panel = Panel.new self, -1
panel.evt_motion {|event|on_move(event)}
StaticText.new panel, -1, "Pos : ", :pos=>Point.new(10, 12)
@pos_ctrl = TextCtrl.new panel, -1, :pos=>Point.new(50, 10)
end

def on_move(event)
pos = event.get_position
@pos_ctrl.set_value "#{pos.x}, #{pos.y}"
end
end

if __FILE__ == $0
app = Wx::App.new
def app.on_init
frame = MyFrame.new
frame.show
end
app.main_loop
end


Bu program çok az bir kodla görsel bir iş yapıyor. Bir pencere açıyor, mouse hareketini takip edip sonucu ekrana yazıyor.



30 satırlık bir program için hiç fena değil. Diğer dillerden birçoğunda bunun 3-4 katı program yazılması gerekirdi. Programcılıkla biraz ilginiz varsa Ruby bilmeseniz bile satırları incelediğinizde biraz anlaşılabilir. Tüm argümanları tahmin edemeyebilirsiniz (mesela '-1' ler ne oluyor?) ama kaba bir fikir sahibi olabilirsiniz.
WxRuby kullanarak hem Ruby dilinin kolaylıklarından hem WxWidgets GUI kütüphanesinin geniş kapsamından yararlanarak masaüstü uygulamala geliştirebilirsiniz.

Hiç yorum yok:

Yorum Gönder