Чтение онлайн

на главную

Жанры

Программирование на языке Ruby
Шрифт:

ie.left = 150

ie.top = 150

ie.height = 200

ie.width = 300

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}\n"

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).

Листинг 14.4. Код на Ruby, встроенный в HTML-страницу

<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 .

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;

• FreeRIDE — интегрированная среда разработки для Ruby с встроенным редактором, обозревателем исходных текстов и отладчиком (работа над совершенствованием этой программы ведется постоянно);

• SciTE — текстовый редактор на базе Scintilla;

• SWin и VRuby — инструменты для обработки сообщений Windows и разработки графических интерфейсов (обе являются частью проекта VisualuRuby, во главе которого стоит Ясухира Насикава);

• два анализатора XML (XMLParser и Expat), а также HTMLParser;

Поделиться:
Популярные книги

Поступь Империи

Ланцов Михаил Алексеевич
7. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Поступь Империи

Герой

Мазин Александр Владимирович
4. Варяг
Фантастика:
альтернативная история
9.10
рейтинг книги
Герой

Древесный маг Орловского княжества 2

Павлов Игорь Васильевич
2. Орловское княжество
Фантастика:
аниме
сказочная фантастика
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 2

Корабль дураков

Портер Кэтрин Энн
Проза:
современная проза
4.00
рейтинг книги
Корабль дураков

Петля, Кадетский Корпус. Книга четвертая

Алексеев Евгений Артемович
4. Петля
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Петля, Кадетский Корпус. Книга четвертая

Лейтенант. Назад в СССР. Книга 8. Часть 1

Гаусс Максим
8. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Лейтенант. Назад в СССР. Книга 8. Часть 1

Отморозок 3

Поповский Андрей Владимирович
3. Отморозок
Фантастика:
попаданцы
5.00
рейтинг книги
Отморозок 3

Барон не играет по правилам

Ренгач Евгений
1. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон не играет по правилам

Мастер...

Чащин Валерий
1. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
6.50
рейтинг книги
Мастер...

Эфемер

Прокофьев Роман Юрьевич
7. Стеллар
Фантастика:
боевая фантастика
рпг
7.23
рейтинг книги
Эфемер

Весь цикл «Десантник на престоле». Шесть книг

Ланцов Михаил Алексеевич
Десантник на престоле
Фантастика:
альтернативная история
8.38
рейтинг книги
Весь цикл «Десантник на престоле». Шесть книг

Звездная Кровь. Изгой II

Елисеев Алексей Станиславович
2. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
технофэнтези
рпг
5.00
рейтинг книги
Звездная Кровь. Изгой II

Анти-Ксенонская Инициатива

Вайс Александр
7. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Анти-Ксенонская Инициатива

Ермак. Регент

Валериев Игорь
10. Ермак
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Ермак. Регент