exerb 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ #====================================================================#