ie.menubar = 0
ie.toolbar = 0
ie.navigate 'about:blank'
ie.visible=TRUE;
ie.document.open
ie.document.write html
ie.document.close
sleep 5
ie.quit
В следующем примере открывается диалоговое окно, где пользователь может выбрать файл из списка:
require 'win32ole'
cd = WIN32OLE.new('MSComDlg.CommonDialog')
# Задать фильтр файлов
cd.filter = 'All Files(*.*)| *.*' +
'| Ruby Files(*.rb)|*.rb'
cd.filterIndex = 2
cd.maxFileSize = 128 # Установить MaxFileSize.
cd.showOpen()
file = cd.fileName # Получить путь к файлу.
if not file or file==''
puts 'Файл не выбран.'
else
puts 'Пользователь выбрал: #{file}
'
end
И, наконец, определим IP-адрес своего компьютера:
require 'win32ole'
ws = WIN32OLE.new 'MSWinsock.Winsock'
# Получить свойство LocalIP
ipAddress = ws.localIP
puts 'Локальный IP-адрес равен : #{ipAddress}'
Как видите, возможности не ограничены. Развлекайтесь и не забывайте делиться своими программами с другими!
14.5.3. Использование ActiveScriptRuby
Наверняка вам приходилось открывать в браузере Internet Explorer страницы, содержащие код на языке JavaScript или VBScript. (Мы не будем здесь касаться различий между JScript и JavaScript.)
Но сценарий можно написать и на языке ActiveScriptRuby, представляющем собой мост между COM и Ruby. Вот как можно включить код на Ruby в HTML-страницу (листинг 14.4).
<html>
<script language='RubyScript'>
# Это код на Ruby...
def helloMethod
@window.alert 'Работает Ruby!'
end
</script>
<body>
Это кнопка...
<input id=Hello type=button onclick='helloMethod' language='RubyScript'>
</body>
</html>
С помощью той же техники можно вызывать написанный на Ruby код из любого Windows- приложения, поддерживающего интерфейс IActiveScript
, например из Explorer или WScript (исполняемый файл называется WSH). Дополнительную информацию вы можете найти на странице arton (http://vvww.geocities.co.jp/SiliconValley-PaolAlto/9251/rubymain.html).
14.6. Моментальный инсталлятор для Windows
С точки зрения пользователей Microsoft Windows одним из самых значительных шагов в развитии Ruby за последние годы стал так называемый «моментальный инсталлятор» (one-click installer). Главным разработчиком этого проекта (официально он называется Ruby Installer) является Курт Гиббс (Curt Hibbs). Процедура инсталляции выполнена в «родном» для Windows стиле.
Инсталлятор особенно ценен тем, что работает в полном соответствии с ожиданиями пользователей Windows. Он имеет графический интерфейс и выполняет шаги установки в строго определенном порядке. Разумеется, инсталлируется двоичная версия, так что компилятор не нужен. Но это не единственные его привлекательные черты.
Устанавливаемый дистрибутив весьма полон («батарейки в комплекте»). Он включает не только интерпретатор Ruby со всеми системными классами и стандартными библиотеками, но и целый ряд дополнительных библиотек и приложений. Многие из них предназначены исключительно для платформы Win32.
Устанавливаются следующие компоненты (некоторые из них необязательны):
• сам интерпретатор Ruby (пакет ruby-mswin32
и пакет RubySrc
для тех, кто хочет познакомиться с исходными текстами на языке С);
• два часто используемых приложения: RubyGems
и rake
;
• бесплатная копия книги Дейва Томаса (Dave Thomas) и Энди Ханта (Andy Hunt) «Programming Ruby» — первое издание в формате Windows Help;
• библиотека fxruby
(обычно несколько версий), реализующая привязки к комплекту инструментов для создания графических интерфейсов FOX;
• инструменты для разработки приложений трехмерной графики OpenGL
и GLUT
;
• утилиты fxirb
и fxri
— графические версии программ irb
и ri
, написанные с применением библиотеки FXRuby;