2009-11-30

How to select ComboBox

How to select ComboBox by AutoIt.exe from ruby
Give parameter to select combobox exe.


### select_year_combobox.au3 ###
WinActivate("Configuration")
Global Const $CB_SETCURSEL = 0x14E
$h_combobox = ControlGetHandle("Configuration", "", "[CLASS:WindowsForms10.COMBOBOX.app.0.378734a; INSTANCE:2]")
$i_index = $CMDLINE[1]
DllCall("user32.dll", "int", "SendMessage", "hwnd", $h_combobox, "int", $CB_SETCURSEL, "int", $i_index, "int", 0)


ControlGetHandle("Configuration", "", "[CLASS:WindowsForms10.COMBOBOX.app.0.378734a; INSTANCE:2]")
ControlGetHandle(<app title>, "", <select combobox instance>).
<select combobox instance> is easy to know by AutoIt Window Info app.


### select_combobox.rb ###
select_year_exe = File.expand_path(File.dirname(__FILE__) + "/select_year_combobox.exe")
year = 1 # ex. index 1 = 2005
system("#{select_year_exe} #{year}")


>ruby select_combobox.rb # app will choose index 1 from combobox.
>select_year_combobox.exe 1 # app will choose index 1 from combobox.

2009-11-19

筋肉付きやすい、脂肪付きやすい、新ダイエット

筋トレ場で、時々会うトレーナー(ケビン山崎さんよりちょっと有名じゃないぐらい)の方としゃべっていて、以前、天山に山登りにいってた際、現地の人のガタイの良さがハンパじゃなくて、みんな朝青龍クラスで、場所もたしかに近所だ。他はスラブ系でこちらもごつい、みんなカレリンですよ、古い映画だと、ごっついスラブの人はタターリアンボスの人間台座とかになるくらいごつい。さらに自分の手もでかい(お相撲さんの手形色紙と比べても遜色ない)が、握手した時の感じはこの国の人は、全員、ラオウなんだ。で、そんなにトレーニングしてるように見えないんだけど、どうしてかトレーナーの方が言うには、
寒いところだから、ちょっと動いた時でもたくさん発熱するように、筋肉がたくさんあった方がいい、
だからなんじゃないかと。賛成です。筋肉の動く量と発熱量は比例する、同じ可動域でも細い筋肉だと動かす重みが違う、重いもんをがんばって動かすだけ、熱くなる。
そしてさらに、筋肉は脂肪の約3倍の密度、がんがん筋肉が付けばどんどん重くなる。
また、脂肪については、一般的に寒い地域-熱を蓄えておかなければならいような地域の人は付きやすいと言われている。もっともだと思う。だから寒いところの人は、がんがん筋肉も脂肪もついて、でかくなる。
冬の東北や北海道では、家が関東より断然暖かい、寒い国の家も暖かい。暖かい家にいると体が芯から暖まってるでの外に出ても結構ぬくぬくさがキープされる。関東なんかだと(特にうち)、家はたいして暖かくない、だから外に出るときに相当着込んでも寒い気がするし、心理的にも、もっと寒いところに行くのだから嫌だな~と。
外が寒くて家が暖かい人は、熱をキープするために、脂肪が付きやすくなるのは、よく言われていることで、おいといて。
仮説:寒い地域なんだが、住居環境が連続して暖かくない人は、痩せるんじゃないかと考えた。
理由:脂肪がたくさん付いてるって事は、それだけ温まりにくい、だったら環境が暖かくなったら即座に体を温めるよう単にボリュームが小さいほうが良い。で温かさをキープするのは現代の服なら十分な為、脂肪をつける必要がない。
カラダに巻きつけてダイエットを促すスパッツみたいのとかそんなんよりも、

脂肪みたいに、ずっとあたたかい。



そんなキモチ悪いコピーの服があったらいいんじゃない。
霜降りシャツを今日、スキヤキにした、おいしかった。自分でつくった割り下が思いのほか上出来!

2009-11-11

Skype mood to twitter by COM

Skype mood to twitter.
Skypeのムードをtwitterにpost。

on windowsXP
requirement

Useage
cmd.exe
>gem install twitter4r
>regsvr32 Skype4COM.dll <--when popup dialog,should 'OK'
>ruby mooding.rb
then every 5 sec. ruby check skype mood and updated at that time,post it to twitter.
だいたい5秒おきに、skypeのムードが更新されたか確認して、されてれば、twitterにポストします。下記コードのみ。
for stopping,止め方、Ctrl+C

#! ruby -Ku
require 'rubygems'
require 'win32ole'
require 'twitter'
require 'kconv'

$KCODE = 'UTF8'

@oTwitter = Twitter::Client.new
twit_id = ARGV[0]
twit_pwd = ARGV[1]
if @oTwitter.authenticate?(twit_id, twit_pwd) == true then
p 'OK auth'
else
raise 'ID,Passwd or both is not collect'
end

@oSkype=WIN32OLE.new('Skype4COM.skype')
mood = nil # Anyway 1st time twit mood
loop do
if @oSkype.Client.IsRunning != true then
raise "Please start skype"
else
end

if @oSkype.CurrentUserProfile.MoodText.toutf8 != mood then
mood = @oSkype.CurrentUserProfile.MoodText.toutf8
@oTwitter = Twitter::Client.new(:login => twit_id, :password => twit_pwd)
@oTwitter.status(:post, mood)
else
sleep(5) # check mood update every almost 5sec.
end
end

2009-11-04

Integrate Watir Rspec for long story testing and force test sequence.

WatirとRspecでテストケースなが~いテストをちょっと効率良く行う。
rspecでテストの順番を指定したい場合が多く、この方法は使えると。
レポートはhtmlで出力。


# spec/test_spec.rb
#! ruby -Ku
#!/usr/bin/env ruby
require 'spec_helper'

$KCODE = 'UTF8'

shared_examples_for "トップ画面にいることの確認" do
it "ログインしてくださいが表示されていること" do
@ie = Watir::IE.new
@ie.goto("#{$testDomain}/foo/index.aspx")
@ie.text.should include('ログインしてください')
end
end

shared_examples_for "ログインできることの確認" do
it "ログインできること、つまりログアウトの表示がされていること" do
@ie = Watir::IE.attach(:title,/.*/)
@ie.text_field(:id, 'account').set('foo')
@ie.text_field(:id, 'password').set('bar')
@ie.button(:xpath, '//td[2]/input').click
@ie.text.should include('ログアウト')
end
end

shared_examples_for "パスワード変更ができてログインできる事の確認" do
it "パスワード変更ができてログインできる事" do
@ie = Watir::IE.attach(:title,/.*/) #このattachで前のテストのIEインスタンスを使用することができる。んで続きが行える。
@ie.text_field(:id, 'CurrentPassword').set('bar')
@ie.text_field(:id,'NewPassword').set('woo')
@ie.text_field(:id,'ConfirmPassword').set('woo')
@ie.button(:name, 'Submit').click_no_wait
@autoit=WIN32OLE.new('AutoItX3.Control')
@autoit.WinWait('Windows Internet Explorer','',10).should == 1
# when dialog(confirm change pwd.), return 1.
@autoit.WinActive('Windows Internet Explorer')
@autoit.ControlClick('Windows Internet Explorer','','OK')
@ie.link(:text, 'ログアウト').click
@ie.text.should include('ログインしてください')
@ie.text_field(:id, 'account').set('foo')
@ie.text_field(:id, 'password').set('woo')
@ie.button(:xpath, '//td[2]/input').click
@ie.text.should include('ログアウト')
end
end

describe "OreOre site long story" do
it_should_behave_like "トップ画面にいることの確認"
it_should_behave_like "ログインできることの確認"
it_should_behave_like "パスワード変更ができてログインできる事の確認"
  # この順番に行われる。
  # describeでどんどんテストケースを追加すると、順番は思ったようにいかない。
# たぶん、test/unitと同じで名前のキャラコード順になる。(たぶん)
end


# spec/spec.opts
#! ruby -Ku
#!/usr/bin/env ruby
--format html:spec/doc/rspec_report.html
--loadby mtime
--colour
--reverse


# spec/spec_helper.rb
#! ruby -Ku
#!/usr/bin/env ruby
$LOAD_PATH.push File.expand_path('../../lib',__FILE__)

require 'rubygems'
require 'spec'
require 'watir'
require 'win32ole'
require 'redgreen'

WIN32OLE.codepage = WIN32OLE::CP_UTF8
#test target domain
$testDomain = 'http://foo.org'


# Rakefile.rb
require 'rake'
require 'spec/rake/spectask'

task :default => [:help]

desc "foo long Story Test"
task :spec do
Spec::Rake::SpecTask.new do |t|
t.spec_files = FileList['spec/*_spec.rb']
t.spec_opts = ['--options', "spec/spec.opts"]
end
end

UTF8のサイトのテストです。

2009-11-03

「Winny」開発者・金子勇氏、逆転無罪

「Winny」開発者・金子勇氏、逆転無罪







これが有罪だったら、おもしろいものが作られなくなってしまう。
これが有罪だったら、

たばこ売ってるJTも有罪だろう。


喫煙の勧め。喫煙の幇助。
5年もかかったんだ、ひどい。

BCM4321 on Latitude D430

At kernel 3 find wireless hardware lspci | grep -i wireless  check using current kernel module with PCI bus address lspci -vv -s 0c:...