Powered By Blogger

13 June 2007

new program uploaded & Ruby generate html

เมื่อวาน เพิ่งทำโปรแกรมแกรมดูข้อมูล HardDisk ใช้เอง ที่ทำงาน เสร็จ
Tsb::FileSize.NET
แสดงขนาดของแฟ้ม พร้อมด้วย แสดงกราฟแบบวงกลมได้ (Pie Graph )
รวมถึง อาจใช้เพื่อคำนวณ ขนาดของ Folder ที่เลือกหลายๆ Folder ได้ด้วย
แล้วก้อบ ไป ไว้ที่ MS Excel เพื่อทำกราฟ ออกรายงานต่อไป ก็ได้
( อันนี้ต้อง Manual หน่อย นะครับ )







วันนี้ ลองใช้ Ruby มา Generate HTmL File ดู
หลังจากเคยลองด้วย vb.netแล้ว
แต่ Ruby เขียนสั้นดี

ทีแรกกะว่าจะลองเขียน Parse TextFile ด้วย Ruby ด้วยแต่ยังไม่ค่อยชำนาญ
ช่วงๆนี้เลยแค่ๆ ลองเขียน ด้วย VB.netก่อน

ตัวอย่าง โค้ด Ruby ก็ดังนี้นะครับ


ให้เปลี่ยน < ===> "<"
> ==> ">"






def contentheight
200
end
def html
"<html>#{title}#{body}"
end
def title
"<title>Test Html Gen</title>"
end
def menuitem(i )
"<div style='background-color:lightblue;'>
menu #{i}</div>
"
end
def leftmenu
tab2("
#{menuitem(1)}
#{menuitem(2)}
#{menuitem(3)}
#{menuitem(4.2)}
",
"width=150 bgcolor=silver ",
"height=#{contentheight} valign=top " )
end
def tab1(s , att)
"<table border=0 cellspacing=0 cellpadding=1 #{att}>
<tr><td>
#{s}
</td></tr>
</table>"
end
def tab2(s , att ,attrtd)
"<table border=0 cellspacing=0 cellpadding=1 #{att}>
<tr><td #{attrtd}>
#{s}
</td></tr>
</table>"
end
def footer
tab2(" Copyright ",
"width=100% bgcolor=lightyellow " ,
" colspan=2 valing=center align=center ")
end
def topmenu
tab1("home download ","width=100% bgcolor=orange")
end
def data
tab2(
"data ",
"bgcolor=white width=100% height=#{contentheight}",
" valign=top " )
end
def tabtr
"
</td></tr>
<tr><td>
"
end
def tabtd(attr)
"
</td>
<td #{attr}>
"
end
def content
s = leftmenu + tabtd("align=left valign=top")
s = s +data
tab2(s ,
"width=100% bgcolor=lightnavy" ,
"width=100 valign=top ")
end
def body
topmenu + content + footer
end
def main
html
end

p main

f = File.open('htm.html',"w")
f.print(main )
f.close


No comments: