exerb 6.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (179) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/ChangeLog.ja.rd +305 -0
  4. data/README.en.txt +12 -0
  5. data/README.ja.html +143 -0
  6. data/README.ja.txt +6 -0
  7. data/README.md +50 -0
  8. data/Rakefile +205 -0
  9. data/bin/exerb +185 -0
  10. data/bin/mkexy +47 -0
  11. data/doc/LGPL +513 -0
  12. data/doc/class.ja.html +92 -0
  13. data/doc/command.ja.html +109 -0
  14. data/doc/core.ja.html +72 -0
  15. data/doc/example.ja.html +89 -0
  16. data/doc/faq.ja.html +59 -0
  17. data/doc/inside.ja.rd +404 -0
  18. data/doc/license.ja.html +62 -0
  19. data/doc/logo.gif +0 -0
  20. data/doc/misc.ja.html +72 -0
  21. data/doc/navi.gif +0 -0
  22. data/doc/recipe.ja.html +317 -0
  23. data/doc/style.css +187 -0
  24. data/doc/tutorial.ja.html +182 -0
  25. data/example/Makefile +54 -0
  26. data/example/cat_n.rb +14 -0
  27. data/example/exception.rb +9 -0
  28. data/example/ext/Win32API.so +0 -0
  29. data/example/ext/swin.so +0 -0
  30. data/example/msgbox.rb +14 -0
  31. data/example/rubytk.rb +22 -0
  32. data/example/runtime.ico +0 -0
  33. data/example/runtime.rb +19 -0
  34. data/example/vr/clipboard.rb +106 -0
  35. data/example/vr/compat/rubycompat.rb +18 -0
  36. data/example/vr/compat/vrcomctl.rb +12 -0
  37. data/example/vr/compat/vrcontrol.rb +50 -0
  38. data/example/vr/compat/vrmmedia.rb +24 -0
  39. data/example/vr/contrib/inifile.rb +116 -0
  40. data/example/vr/contrib/msgboxconst.rb +55 -0
  41. data/example/vr/contrib/toolbar.rb +371 -0
  42. data/example/vr/contrib/vrctlcolor.rb +110 -0
  43. data/example/vr/contrib/vrhotkey.rb +35 -0
  44. data/example/vr/contrib/vrlistviewex.rb +71 -0
  45. data/example/vr/contrib/vrstdscrollbar.rb +414 -0
  46. data/example/vr/contrib/vrwincomponent.rb +54 -0
  47. data/example/vr/dragdropformat.rb +209 -0
  48. data/example/vr/rscutil.rb +168 -0
  49. data/example/vr/sysmod.rb +249 -0
  50. data/example/vr/vractivex.rb +56 -0
  51. data/example/vr/vrclipboard.rb +53 -0
  52. data/example/vr/vrcomctl.rb +1819 -0
  53. data/example/vr/vrcontrol.rb +1374 -0
  54. data/example/vr/vrdde.rb +623 -0
  55. data/example/vr/vrddrop.rb +190 -0
  56. data/example/vr/vrdialog.rb +406 -0
  57. data/example/vr/vrhandler.rb +195 -0
  58. data/example/vr/vrlayout.old.rb +209 -0
  59. data/example/vr/vrlayout.rb +173 -0
  60. data/example/vr/vrlayout2.rb +340 -0
  61. data/example/vr/vrmargin.rb +141 -0
  62. data/example/vr/vrmgdlayout.rb +381 -0
  63. data/example/vr/vrmmedia.rb +287 -0
  64. data/example/vr/vrolednd.rb +192 -0
  65. data/example/vr/vrowndraw.rb +108 -0
  66. data/example/vr/vrrichedit.rb +366 -0
  67. data/example/vr/vrtimer.rb +148 -0
  68. data/example/vr/vrtooltip.rb +273 -0
  69. data/example/vr/vrtray.rb +143 -0
  70. data/example/vr/vrtvitem.rb +118 -0
  71. data/example/vr/vrtwopane.rb +223 -0
  72. data/example/vr/vruby.rb +1051 -0
  73. data/example/vr/winconst.rb +158 -0
  74. data/example/vruby.rb +38 -0
  75. data/exerb.gemspec +26 -0
  76. data/extconf.rb +7 -0
  77. data/lib/exerb/archive.rb +143 -0
  78. data/lib/exerb/config.rb +51 -0
  79. data/lib/exerb/error.rb +15 -0
  80. data/lib/exerb/executable.rb +68 -0
  81. data/lib/exerb/file_table.rb +189 -0
  82. data/lib/exerb/mkexy.rb +81 -0
  83. data/lib/exerb/name_table.rb +120 -0
  84. data/lib/exerb/recipe.rb +465 -0
  85. data/lib/exerb/resource.rb +190 -0
  86. data/lib/exerb/resource/base.rb +29 -0
  87. data/lib/exerb/resource/binary.rb +31 -0
  88. data/lib/exerb/resource/dialog.rb +30 -0
  89. data/lib/exerb/resource/group_icon.rb +85 -0
  90. data/lib/exerb/resource/icon.rb +52 -0
  91. data/lib/exerb/resource/version_info.rb +155 -0
  92. data/lib/exerb/resource_library.rb +120 -0
  93. data/lib/exerb/utility.rb +95 -0
  94. data/lib/exerb/utility2.rb +122 -0
  95. data/lib/exerb/version.rb +13 -0
  96. data/lib/exerb/win32/const/resource.rb +51 -0
  97. data/lib/exerb/win32/icon_file.rb +78 -0
  98. data/lib/exerb/win32/pe_file.rb +59 -0
  99. data/lib/exerb/win32/resource_directory.rb +105 -0
  100. data/lib/exerb/win32/resource_directory_root.rb +67 -0
  101. data/lib/exerb/win32/resource_entry.rb +98 -0
  102. data/lib/exerb/win32/struct/base.rb +43 -0
  103. data/lib/exerb/win32/struct/icon_dir_entry.rb +83 -0
  104. data/lib/exerb/win32/struct/icon_header.rb +43 -0
  105. data/lib/exerb/win32/struct/icon_res_entry.rb +48 -0
  106. data/lib/exerb/win32/struct/image_dos_header.rb +73 -0
  107. data/lib/exerb/win32/struct/image_file_header.rb +47 -0
  108. data/lib/exerb/win32/struct/image_nt_headers32.rb +53 -0
  109. data/lib/exerb/win32/struct/image_optional_header32.rb +107 -0
  110. data/lib/exerb/win32/struct/image_resource_data_entry.rb +45 -0
  111. data/lib/exerb/win32/struct/image_resource_directory.rb +47 -0
  112. data/lib/exerb/win32/struct/image_resource_directory_entry.rb +72 -0
  113. data/lib/exerb/win32/struct/image_section_header.rb +53 -0
  114. data/lib/exerb/win32/struct/version_info_block.rb +75 -0
  115. data/lib/exerb/win32/struct/vs_fixed_file_info.rb +62 -0
  116. data/src/exerb/cui.c +48 -0
  117. data/src/exerb/default.rb +1 -0
  118. data/src/exerb/exerb.c +877 -0
  119. data/src/exerb/exerb.h +92 -0
  120. data/src/exerb/gui.c +176 -0
  121. data/src/exerb/module.c +138 -0
  122. data/src/exerb/module.h +7 -0
  123. data/src/exerb/patch.c +27 -0
  124. data/src/exerb/resource.h +22 -0
  125. data/src/exerb/resource.rc +121 -0
  126. data/src/exerb/ruby.ico +0 -0
  127. data/src/exerb/utility.c +263 -0
  128. data/src/exerb/utility.h +33 -0
  129. data/test/alltests.rb +16 -0
  130. data/test/test-argv.rb +26 -0
  131. data/test/test-argv/test-argv.rb +9 -0
  132. data/test/test-argv/test-argv.ret +1 -0
  133. data/test/test-dollarzero.rb +26 -0
  134. data/test/test-dollarzero/test-dollarzero.rb +10 -0
  135. data/test/test-dollarzero/test-dollarzero.ret +2 -0
  136. data/test/test-dot.rb +26 -0
  137. data/test/test-dot/dot.dot.dot.rb +9 -0
  138. data/test/test-dot/dot.dot.rb +9 -0
  139. data/test/test-dot/test-dot.rb +13 -0
  140. data/test/test-dot/test-dot.ret +5 -0
  141. data/test/test-exitcode.rb +28 -0
  142. data/test/test-exitcode/test-exitcode.rb +9 -0
  143. data/test/test-kcode.rb +43 -0
  144. data/test/test-kcode/euc.rb +10 -0
  145. data/test/test-kcode/euc.ret +2 -0
  146. data/test/test-kcode/none.rb +10 -0
  147. data/test/test-kcode/none.ret +2 -0
  148. data/test/test-kcode/sjis.rb +10 -0
  149. data/test/test-kcode/sjis.ret +2 -0
  150. data/test/test-kcode/utf8.rb +10 -0
  151. data/test/test-kcode/utf8.ret +2 -0
  152. data/test/test-loadpath.rb +24 -0
  153. data/test/test-loadpath/test-loadpath.rb +9 -0
  154. data/test/test-nest.rb +18 -0
  155. data/test/test-nest/foo.rb +1 -0
  156. data/test/test-nest/foo/bar.rb +2 -0
  157. data/test/test-nest/foo/foo.rb +1 -0
  158. data/test/test-nest/test-nest.rb +1 -0
  159. data/test/test-nest/test-nest.ret +1 -0
  160. data/test/test-preload.rb +24 -0
  161. data/test/test-preload/test-preload.rb +9 -0
  162. data/test/test-regexp.rb +26 -0
  163. data/test/test-regexp/test-regexp.rb +23 -0
  164. data/test/test-regexp/test-regexp.ret +13 -0
  165. data/test/test-require1.rb +26 -0
  166. data/test/test-require1/require1.rb +9 -0
  167. data/test/test-require1/require2.rb +9 -0
  168. data/test/test-require1/require3.rb +9 -0
  169. data/test/test-require1/require4.rb +9 -0
  170. data/test/test-require1/require5.rb +9 -0
  171. data/test/test-require1/require6.rb +9 -0
  172. data/test/test-require1/test-require1.rb +41 -0
  173. data/test/test-require1/test-require1.ret +27 -0
  174. data/test/test-socket.rb +26 -0
  175. data/test/test-socket/test-socket.rb +7 -0
  176. data/test/test-socket/test-socket.ret +1 -0
  177. data/test/testcase.rb +66 -0
  178. data/vendor/mkexports.rb +167 -0
  179. metadata +352 -0
Binary file
Binary file
@@ -0,0 +1,14 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: msgbox.rb,v 1.2 2003/12/09 16:36:38 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ require 'Win32API'
7
+
8
+ #==============================================================================#
9
+
10
+ message_box = Win32API.new('user32', 'MessageBoxA', 'LPPI', 'I')
11
+ message_box.call(0, 'Message Box', 'Example', 0)
12
+
13
+ #==============================================================================#
14
+ #==============================================================================#
@@ -0,0 +1,22 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: rubytk.rb,v 1.3 2006/07/06 04:26:40 yuya Exp $
4
+ #==============================================================================#
5
+ require "tk"
6
+
7
+ #==============================================================================#
8
+
9
+ TkButton.new(nil,
10
+ :text => 'hello',
11
+ :command => proc{print "hello\n"}).pack(:fill=>'x')
12
+
13
+ TkButton.new(nil,
14
+ :text => 'quit',
15
+ :command => proc{exit}).pack(:fill=>'x')
16
+
17
+ #==============================================================================#
18
+
19
+ Tk.mainloop
20
+
21
+ #==============================================================================#
22
+ #==============================================================================#
Binary file
@@ -0,0 +1,19 @@
1
+
2
+ #==============================================================================#
3
+ # $Id: runtime.rb,v 1.3 2005/05/05 07:31:57 yuya Exp $
4
+ #==============================================================================#
5
+
6
+ printf("RUBY_VERSION = %s\n", RUBY_VERSION)
7
+ printf("RUBY_RELEASE_DATE = %s\n", RUBY_RELEASE_DATE)
8
+ printf("ExerbRuntime.filepath = %s\n", ExerbRuntime.filepath) if $Exerb
9
+ printf("ExerbRuntime.filename = %s\n", ExerbRuntime.filename) if $Exerb
10
+
11
+ printf("Dir.pwd = %s\n", Dir.pwd)
12
+ printf("__FILE__ = %s\n", __FILE__)
13
+ printf("File.expand_path(__FILE__) = %s\n", File.expand_path(__FILE__))
14
+ printf("File.absolute_path(__FILE__) = %s\n", File.absolute_path(__FILE__))
15
+
16
+ printf("ARGV = %s\n", ARGV)
17
+
18
+ #==============================================================================#
19
+ #==============================================================================#
@@ -0,0 +1,106 @@
1
+ ###################################
2
+ #
3
+ # clipboard.rb
4
+ # Programmed by nyasu <nyasu@osk.3web.ne.jp>
5
+ # Copyright 2000-2005 Nishikawa,Yasuhiro
6
+ #
7
+ # More information at http://vruby.sourceforge.net/index.html
8
+ #
9
+ ###################################
10
+
11
+ VR_DIR="vr/" unless defined?(::VR_DIR)
12
+ require VR_DIR+'sysmod'
13
+ require 'Win32API'
14
+
15
+ class Clipboard
16
+ =begin
17
+ == Clipboard
18
+ A class for handling clipboard.
19
+
20
+ === Class Method
21
+ --- open(hwnd)
22
+ opens the clipboard and returns the instance.
23
+ When it is used in iterator style, clipboard is automatically closed
24
+ and returns whether it succeed to close clipboard or not.
25
+
26
+ === Methods
27
+ --- close
28
+ Closes clipboard.
29
+ --- enum_formats
30
+ Enums the clipboard formats to get from clipboard.
31
+ --- getData(format)
32
+ Gets data in the ((|format|)) from clipboard.
33
+ --- setData(format,data)
34
+ Sets data into the clipboard. (clipboard is cleared before set)
35
+ --- getText
36
+ same as getData(VR_CF_TEXT)
37
+ --- setText(string)
38
+ same as setData(VR_CF_TEXT, ((|string|)) )
39
+ =end
40
+
41
+ include ClipboardFormat
42
+ GetClipboardData = Win32API.new('user32','GetClipboardData','I','L')
43
+ SetClipboardData = Win32API.new('user32','SetClipboardData','IL','L')
44
+ EnumClipboardFormats = Win32API.new('user32','EnumClipboardFormats','I','I')
45
+ OpenClipboard = Win32API.new('user32','OpenClipboard','L','I')
46
+ CloseClipboard = Win32API.new('user32','CloseClipboard','V','I')
47
+ EmptyClipboard = Win32API.new('user32','EmptyClipboard','V','I')
48
+
49
+ #
50
+ VR_CF_TEXT = CF_OEMTEXT # modify if you like to use CF_TEXT than CF_OEMTEXT
51
+
52
+ def self.open(*args)
53
+ r = self.new(*args)
54
+ if iterator?
55
+ yield r
56
+ r.close
57
+ else
58
+ return r
59
+ end
60
+ end
61
+
62
+ def initialize(hwnd)
63
+ @hwnd = hwnd
64
+ @opened = (OpenClipboard.call(hwnd)!=0)
65
+ raise "fail to open clipboard" unless defined?(@opened)
66
+ end
67
+
68
+ def close
69
+ @opened = (CloseClipboard.call() == 0)
70
+ end
71
+
72
+ def getData(uformat)
73
+ raise "Clipboard not opened" unless defined?(@opened)
74
+ gmem = GetClipboardData.call(uformat.to_i)
75
+ raise "GetData failed" if gmem==0
76
+ GMEM::Get(gmem) if gmem!=0
77
+ end
78
+
79
+ def setData(uformat,data)
80
+ raise "Clipboard not opened" unless defined? @opened
81
+ EmptyClipboard.call
82
+ gmem = GMEM::AllocStr(66,data)
83
+ SetClipboardData.call(uformat,gmem)
84
+ # GMEM::Free(gmem)
85
+ end
86
+
87
+ def getText
88
+ r=getData(VR_CF_TEXT)
89
+ r.split(/\0/,0)[0]
90
+ end
91
+
92
+ def setText(str)
93
+ setData VR_CF_TEXT,str.to_s
94
+ end
95
+
96
+ def enum_formats
97
+ r=0
98
+ while true do
99
+ r=EnumClipboardFormats.call(r)
100
+ break if r==0
101
+ yield r
102
+ end
103
+ end
104
+ end
105
+
106
+
@@ -0,0 +1,18 @@
1
+ require 'Win32API'
2
+
3
+ if RUBY_VERSION < "1.6" # for 1.5 or 1.4
4
+ def Win32API.new(dll,func,args,retval)
5
+ args = args.split(//) if args.is_a?(String)
6
+ super dll,func,args,retval
7
+ end
8
+ class Object
9
+ alias class :type
10
+ end
11
+
12
+ elsif RUBY_VERSION < "1.7" # for 1.6
13
+
14
+
15
+ #elsif RUBY_VERSION < "1.8" # for 1.7
16
+
17
+ end
18
+
@@ -0,0 +1,12 @@
1
+ class VRUpdown < VRNotifyControl
2
+ alias vrinitnew vrinit
3
+ undef vrinitnew
4
+ def vrinit
5
+ super
6
+ addNotifyHandler(WMsg::UDN_DELTAPOS,"deltapos",
7
+ MSGTYPE::ARGSTRUCT,WStruct::NM_UPDOWN)
8
+ addNotifyHandler(WMsg::UDN_DELTAPOS,"changed",
9
+ MSGTYPE::ARGSTRUCT,WStruct::NM_UPDOWN)
10
+ addFilterArg WMsg::UDN_DELTAPOS,"TF"
11
+ end
12
+ end
@@ -0,0 +1,50 @@
1
+ unless defined?(VREdit) then
2
+ raise "compatibility file must be loaded after its original one."
3
+ end
4
+
5
+ class VREdit
6
+ alias vrinitnew vrinit
7
+ undef vrinitnew
8
+ def vrinit
9
+ super
10
+ addCommandHandler(0x300,"change",MSGTYPE::ARGNONE,nil)
11
+ addCommandHandler(0x300,"changed",MSGTYPE::ARGNONE,nil)
12
+ end
13
+ end
14
+
15
+ class VRListbox
16
+ alias vrinitnew vrinit
17
+ undef vrinitnew
18
+ def vrinit
19
+ super
20
+ addCommandHandler(WMsg::LBN_SELCHANGE, "selchange",MSGTYPE::ARGNONE,nil)
21
+ addCommandHandler(WMsg::LBN_SELCHANGE, "selchanged",MSGTYPE::ARGNONE,nil)
22
+ set_liststrings
23
+ end
24
+
25
+ alias getCount :countStrings
26
+ alias selectedIndex :selectedString
27
+ alias getString :getTextOf
28
+ alias itemString :getTextOf
29
+ alias setItemData :setDataOf
30
+ alias getItemData :getDataOf
31
+ end
32
+
33
+ class VRCombobox
34
+ alias vrinitnew vrinit
35
+ undef vrinitnew
36
+ def vrinit
37
+ super
38
+ set_liststrings
39
+ addCommandHandler(WMsg::CBN_SELCHANGE, "selchange",MSGTYPE::ARGNONE,nil)
40
+ addCommandHandler(WMsg::CBN_SELCHANGE, "selchanged",MSGTYPE::ARGNONE,nil)
41
+ end
42
+
43
+ alias getCount :countStrings
44
+ alias selectedIndex :selectedString
45
+ alias getString :getTextOf
46
+ alias itemString :getTextOf
47
+ alias setItemData :setDataOf
48
+ alias getItemData :getDataOf
49
+
50
+ end
@@ -0,0 +1,24 @@
1
+ unless defined?(VREdit) then
2
+ raise "compatibility file must be loaded after its original one."
3
+ end
4
+
5
+
6
+ class VRMediaView
7
+ def vr_e_compatibility
8
+ addMMHandler(VRMediaView::MCIWNDM_NOTIFYMODE,"modechange",MSGTYPE::ARGINT,nil)
9
+ addMMHandler(VRMediaView::MCIWNDM_NOTIFYSIZE, "sizechange",MSGTYPE::ARGNONE,nil)
10
+ addMMHandler(VRMediaView::MCIWNDM_NOTIFYMEDIA,"mediachange",MSGTYPE::ARGSTRING,nil)
11
+ end
12
+
13
+ alias vrinitnew vrinit
14
+ undef vrinitnew
15
+ def vrinit
16
+ super
17
+ vr_e_compatibility
18
+ addMMHandler(VRMediaView::MCIWNDM_NOTIFYERROR,"onerror",MSGTYPE::ARGINT,nil)
19
+ addMMHandler(VRMediaView::MCIWNDM_NOTIFYMODE,"modechanged",MSGTYPE::ARGINT,nil)
20
+ addMMHandler(VRMediaView::MCIWNDM_NOTIFYSIZE, "sizechanged",MSGTYPE::ARGNONE,nil)
21
+ addMMHandler(VRMediaView::MCIWNDM_NOTIFYMEDIA,"mediachanged",MSGTYPE::ARGSTRING,nil)
22
+ end
23
+ end
24
+
@@ -0,0 +1,116 @@
1
+ ###############################
2
+ #
3
+ # contrib/inifile.rb
4
+ #
5
+ # These modules/classes are contributed by Yukimi_Sake-san.
6
+ # Distributed at http://vruby.sourceforge.net/index.html
7
+ #
8
+ ###############################
9
+
10
+
11
+ class Inifile < Hash
12
+ =begin
13
+ ===Inifile
14
+ It makes inifile like Window's in working directory or absolute path.
15
+
16
+ [section]
17
+ key=value
18
+ ...
19
+
20
+ ===Methods
21
+ ---deletekey(section,key)
22
+ Delete ((|key|)) and associated value in ((|section|)).
23
+ ---erasesection(section)
24
+ Erase ((|section|)) and associated keys and values.
25
+ ---read( section, key, [default=""])
26
+ Read value associated ((|key|)) in ((|section|)).
27
+ If ((|section|)) or ((|key|)) not exists ,value uses ((|default|)).
28
+ ---write( section, key, value)
29
+ Write ((|value|)) in assiciated ((|key|)) and ((|section|)).
30
+ If ((|section|)) or ((|key|)) not exists , make them.
31
+ ---frash
32
+ Write into ((|inifilename|)) of instance.
33
+ =end
34
+ def initialize(iniFilename) #privatemethod. Use "new(inFilename)" instead.
35
+ sec={}
36
+ section=""
37
+ if File.dirname(iniFilename) == "."
38
+ @fn = Dir.getwd + "/" + iniFilename
39
+ else
40
+ @fn = iniFilename
41
+ end
42
+ if File.exist?(@fn) then
43
+ f=open @fn
44
+ f.each do |t|
45
+ if t =~ /\[.+\]/ then
46
+ section= t.sub(/\[(.+)\]/,'\1').strip
47
+ sec={section=>{}}
48
+ self.update sec
49
+ elsif t =~/.+=/ then
50
+ a=t.split(/=/)
51
+ val={a[0].strip=>a[1].strip}
52
+ self[section].update(val)
53
+ end
54
+ end
55
+ f.close
56
+ end
57
+ end
58
+
59
+ def deletekey(section,key)
60
+ self[section.strip].delete(key)
61
+ end
62
+
63
+ def erasesection(section)
64
+ self.delete(section)
65
+ end
66
+
67
+ def read( section, key, default="")
68
+ if self[section] && r=self[section][key] then r else default end
69
+ end
70
+
71
+ def write( section, key, value)
72
+ self.update({section.strip=>{}}) if self[section.strip] == nil
73
+ self[section.strip].update({key.strip => (value.to_s).strip})
74
+ end
75
+
76
+ def flash
77
+ f=open @fn,"w"
78
+ self.each do |k,v|
79
+ f.write'['+k+']' +"\n"
80
+ v.each do |k1,v1|
81
+ f.write k1+"="+v1.to_s+"\n"
82
+ end
83
+ end
84
+ f.close
85
+ end
86
+
87
+ end
88
+
89
+ =begin sample
90
+ require 'inifile'
91
+
92
+ ini = Inifile.new ("test.ini") # generate instance and read if
93
+ # targetfile exists
94
+
95
+ p "writing as method"
96
+ ini.write "section1","key11",11
97
+ ini.write "section1","key12",12
98
+ ini.write "section2","key21",21
99
+ ini.write "section2","key22",22
100
+ ini.write "section3","key31",31
101
+ ini.write "section3","key32",32
102
+ p ini.read "section1","key11",101
103
+ p ini.read("section1","key13",103)
104
+ p ini.read("section2","key22",202)
105
+ p ini.read("section2","key23",203)
106
+ p ini.read("section3","key32",302)
107
+ p ini.read("section3","key33",303)
108
+ p "writing as Hash"
109
+ p ini["section1"]["key11"]
110
+ p ini["section2"]
111
+ #ini.deletekey("section1","key12")
112
+ #ini.erasesection("section1")
113
+
114
+ ini.flash # now update inifile
115
+
116
+ =end
@@ -0,0 +1,55 @@
1
+ ###############################
2
+ #
3
+ # contrib/msgboxconst.rb
4
+ #
5
+ # These modules/classes are contributed by Yuya-san.
6
+ # Modified by nyasu <nyasu@osk.3web.ne.jp>
7
+ # Distributed at http://vruby.sourceforge.net/index.html
8
+ #
9
+ ###############################
10
+
11
+ #====================================================================#
12
+ # WConst Module
13
+ module WConst
14
+
15
+ MB_USERICON = 128
16
+ MB_ICONASTERISK = 64
17
+ MB_ICONEXCLAMATION = 0x30
18
+ MB_ICONWARNING = 0x30
19
+ MB_ICONERROR = 16
20
+ MB_ICONHAND = 16
21
+ MB_ICONQUESTION = 32
22
+ MB_OK = 0
23
+ MB_ABORTRETRYIGNORE = 2
24
+ MB_APPLMODAL = 0
25
+ MB_DEFAULT_DESKTOP_ONLY = 0x20000
26
+ MB_HELP = 0x4000
27
+ MB_RIGHT = 0x80000
28
+ MB_RTLREADING = 0x100000
29
+ MB_TOPMOST = 0x40000
30
+ MB_DEFBUTTON1 = 0
31
+ MB_DEFBUTTON2 = 256
32
+ MB_DEFBUTTON3 = 512
33
+ MB_DEFBUTTON4 = 0x300
34
+ MB_ICONINFORMATION = 64
35
+ MB_ICONSTOP = 16
36
+ MB_OKCANCEL = 1
37
+ MB_RETRYCANCEL = 5
38
+ MB_SERVICE_NOTIFICATION = 0x40000
39
+ MB_SETFOREGROUND = 0x10000
40
+ MB_SYSTEMMODAL = 4096
41
+ MB_TASKMODAL = 0x2000
42
+ MB_YESNO = 4
43
+ MB_YESNOCANCEL = 3
44
+ MB_ICONMASK = 240
45
+ MB_DEFMASK = 3840
46
+ MB_MODEMASK = 0x00003000
47
+ MB_MISCMASK = 0x0000c000
48
+ MB_NOFOCUS = 0x00008000
49
+ MB_TYPEMASK = 15
50
+
51
+ end
52
+
53
+ #====================================================================#
54
+ # End of source.
55
+ #====================================================================#