[#19079] reference of object — "Hideaki Takata" <hideakit@...3.dion.ne.jp>
高田です。
[#19082] TermIO for ioctl — Shugo Maeda <shugo@...>
前田です。
前田です。
原です。
[#19086] iconv wrapper — nobu.nakada@...
なかだです。
いがらしです。
なかだです。
いがらしです。
高橋征義です。思い出したのでこちらにもフォロー。
knuです。
高橋征義です。Rubyとは直接関係なくてすみません。
[#19115] eRuby を題材にしたページ — TAKEUCHi Kahori <take-k@...>
たけうちです。今日はちょっと宣伝させてくださいまし。
[#19139] 簡易プリプロセッサ epp 0.1 — SASAKI Shunsuke <ele@...17.odn.ne.jp>
どうも。佐々木です。
どうも。佐々木です。
なひです.
助田です.
なひです.
[#19140] ruby は何かの略語? — Noritsugu Nakamura <nnakamur@...>
[#19142] Win32OLE on NT — Masaki Suketa<CQN02273@...>
助田です.
[#19165] how to get extended modules list — Dai <MAP2303@...>
[#19193] Japanese Regular Expression — Hiroyuki KUROSAKI <noir@...>
はじめまして。黒崎と申します。最近 Ruby を使いはじめました。よろしく
In message "[ruby-list:19193] Japanese Regular Expression"
gotoken さん、お返事ありがとうございます。
まつもと ゆきひろです
安達@沖データと申します。
[#19197] GC and IO on SunOS-4.1.4-JLE — kjana@... (YANAGAWA Kazuhisa)
うちの FreeBSD 3.1 では問題無いようなのですが,出先の SunOS-4.1.4-JLE
[#19211] Clipbord を Ruby で使うには? — Itou-T15@...
初めまして。
どぉも、道村です。
[#19228] Ruby 1.4.3 — Yukihiro Matsumoto <matz@...>
Ruby 1.4.3 is out, check out:
[#19240] emacs の ruby モードについて — nakajima kengo<ringo@...>
[#19241] thread を使った socket について — yuuichi satoh <yuuichi.satoh@...>
こんばんわ、佐藤といいます。
[#19246] 破壊的イテレータ? — Hiroshi Saito <HiroshiSaito@...>
どうも、お世話になっております。サイトウです。
青山です。
青山です。
サイトウです。
In message "[ruby-list:19278] オブジェクトの代入について"
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
荻野ともうします。
ごとけんです
ごとけんです
[#19249] ruby story ? — "Kikutani, Makoto" <kikutani@...>
Maya Stodteつー人からRuby storyについて話を聞きたいのだが、
In message "[ruby-list:19249] ruby story ?"
いがらしです。
あおきです。
まつもと ゆきひろです
[#19283] Ruby 1.4.3 repacked — Yukihiro Matsumoto <matz@...>
Ruby 1.4.3 is out, check out:
[#19304] about -T option on ruby 1.4.2 — nakajima kengo<ringo@...>
[#19399] 改行コード — Akihiro Yamauchi <aygoofy@...>
こんばんは。
[#19420] xtoolkit — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
[#19441] 自動翻訳プロジェクト — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
青山です。
青山です。
まつもと ゆきひろです
まつもと ゆきひろです
青山です。
[Sub] [ruby-list:19515] Re: 自動翻訳プロジェクト
高橋征義です。
まつもと ゆきひろです
高橋征義です。
石橋"rubyholic"秀仁です。
まつもと ゆきひろです
高橋征義です。
青山です。
高橋征義です。
[#19442] ClipBoard I/O 対応 — Itou-T15@...
クリップボードI/O はたいていファイルI/Oの様に抽象化されていないが
ただただしです。
なひです.
まつもと ゆきひろです
なひです.
まつもと ゆきひろです
石橋秀仁です。
>でも、JavaのRunnableを考えると、interfaceは「お作法」だと思います。。。
[#19444] 「 (」を使う時の正規表現について — yuuichi satoh <yuuichi.satoh@...>
こんにちわ佐藤といいます。
[#19456] mod_ruby & eRuby — Wakou Aoyama <wakou@...>
青山です。
mod_ruby初心者の高橋征義です。
前田です。
高橋征義です。
青山です。
前田です。
青山です。
前田です。
青山です。
前田です。
青山です。
[#19484] Ruby Application Archive — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
まつもと ゆきひろです
助田です.
[#19533] Windows環境 — "Shigeo Kobayashi" <shigeo@...>
小林です.
[#19544] String#shift? — Kazuhiko Izawa <izawa@...>
井澤です。rubyにはいつもお世話になってます。
こんばんは。鈴木教郎です。
[#19549] RubyRing — TAKEUCHi Kahori (竹内かほり) <take-k@...>
たけうちです。
[#19576] X application on gtk application — gotoken@... (GOTO Kentaro)
ごとけんです
やすしです。
石橋秀仁です。
[#19578] ruby-list の過去ログの作り方 — Momotaro Nishiumi <momotaro@...>
はじめまして。ももたろといいますm(_ _)m
原です。
こん○○は〜。ももたろです。
原です。
まつもと ゆきひろです
青山です。
有馬です。
青山です。
In message <199912172303.IAA02733@hoyogw.netlab.co.jp>
原です。
石橋秀仁です。
原です。
やまぐちです。
原です。
やまぐちです。
[#19593] SMF class 0.3 — Tadayoshi Funaba <tadf@...>
ふなばです。
[#19640] MSVC で GTK 拡張をコンパイルするには? — Saburo Ide <saburo@...4u.or.jp>
Windows2000でMSVCを使っています。
[#19652] Q: Kernel#gets — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp>
越水です。
[#19656] ftpmirror — Akihiro Yamauchi <aygoofy@...>
こんばんは。
もりきゅうです。
[#19667] RAA category field — Masaki Suketa<CQN02273@...>
助田です.
[#19677] Mutex#synchronize — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp>
越水です。
有馬です。
越水です。
[#19679] Q: 破壊的メソッドの定義のしかた — Yukihiko Eda <yuki-e@...>
えだです。
[#19690] Book : rb_obj_call_init() — "Shigeo Kobayashi" <shigeo@...>
小林です。
小林です。
小林です。
[#19742] media watch — Noritsugu Nakamura <nnakamur@...>
[#19776] [mswin32] TCPSocket::new() raises Errno::ENOENT — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです.
小田@QNES です。
小松です。
小松です。
小田@QNES です。
まつもと ゆきひろです
小松です。
[#19821] Cygwin 版 ruby の File#read について — one@... (Hajime Tanno)
はじめまして、丹野@筑波大です。
[#19827] can not pass make test on cygwin — kusano@...
草野@構造計画です。
[#19846] ++ -- — "Shigeo Kobayashi" <shigeo@...>
小林です。
[#19871] 半開区間指定 — Itou-T15@...
文字列や配列の半開区間の指定例が Rubyの本やユーザーズガイド
[#19886] c-style for CC Mode — gotoken@... (GOTO Kentaro)
ごとけんです
[#19910] 演算子とスペース — Matsuo Hisanori <hisanori@...>
松尾です。
[#19927] array + empty string — MORITA Atsushi <moritaa@...>
森田です。
[#19933] [book] — Kazuhiro Nishiyama <nishiyama@...1.tiki.ne.jp>
こんばんは、ZnZです。
[#19934] RD with method index (again) — Koji Arai <JCA02266@...>
新井です。
新井です。
Toshです。
新井です。
Toshです。
あおきです。
Toshです。
あおきです。
Toshです。
Toshです。
新井です。
Toshです。
新井です。
Toshです。
Toshです。
新井です。
Toshです。
なかだです。
Toshです。
なかだです。
Toshです。
なかだです。
Toshです。
なかだです。
Toshです。
なかだです。
Toshです。
新井です。
Toshです。
新井です。
Toshです。
新井です。
Toshです。
新井です。
あおきです。
Toshです。
[#19953] メソッド名の制限? — "Hideaki Takata" <hideakit@...3.dion.ne.jp>
たかたです
[#19976] Tell me your favorite tools — Yasushi Shoji <yashi@...>
やすしです。
やすしです。
さくです。
ごとけんです
In article <200003161743.CAA01729@hanare00.math.sci.hokudai.ac.jp>,
Toshです。
[#19983] net/* 1.1.3 — Minero Aoki <aamine@...>
あおきです。
[#19993] about for-in — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp>
越水です。
[ruby-list:19230] Re: Clipbord を Ruby で使うには?
In message "[ruby-list:19218] Re: Clipbord を Ruby で使うには?",
TADA Tadashi <sho@spc.gr.jp> wrote:
> でも、元の質問だと、Rubyでいじった文字列を、またクリップボードに
> 戻したいようなんですが、これってできるのでしょうか。GlobalAllocで
> 確保した領域に、RubyのStringの内容をコピーするところがわからない。
> ハンドルをGlobalLockしてみても、戻ってきた値は長さが8しかないし(謎)。
> 拡張モジュールを書かないとダメなのかな。
できてるみたいです。私はこんなんで二台のマシンでクリップボード内容の
やりとりをしています。
(clipbrd.rb)
#!/usr/local/bin/ruby
require 'Win32API'
module Clipboard
# Clipboard API
$OpenClipboard = Win32API.new('user32', 'OpenClipboard', ['I'], 'I');
$CloseClipboard = Win32API.new('user32', 'CloseClipboard', [], 'I');
$EmptyClipboard = Win32API.new('user32', 'EmptyClipboard', [], 'I');
$IsClipboardFormatAvailable = Win32API.new('user32', 'IsClipboardFormatAvailable', ['I'], 'I');
$GetClipboardData = Win32API.new('user32', 'GetClipboardData', ['I'], 'I');
$SetClipboardData = Win32API.new('user32', 'SetClipboardData', ['I', 'I'], 'I');
# Predefined Clipboard Formats
CF_TEXT = 1;
CF_BITMAP = 2;
CF_METAFILEPICT = 3;
CF_SYLK = 4;
CF_DIF = 5;
CF_TIFF = 6;
CF_OEMTEXT = 7;
CF_DIB = 8;
CF_PALETTE = 9;
CF_PENDATA = 10;
CF_RIFF = 11;
CF_WAVE = 12;
CF_UNICODETEXT = 13;
CF_ENHMETAFILE = 14;
CF_HDROP = 15;
CF_LOCALE = $10;
CF_MAX = 17;
# memory manager API
$GlobalAlloc = Win32API.new('kernel32', 'GlobalAlloc', ['I','I'], 'I');
$GlobalSize = Win32API.new('kernel32', 'GlobalSize', ['I'], 'I');
$GlobalLock = Win32API.new('kernel32', 'GlobalLock', ['I'], 'P');
$GlobalUnlock = Win32API.new('kernel32', 'GlobalUnlock', ['I'], 'I');
$GlobalFree = Win32API.new('kernel32', 'GlobalFree', ['I'], 'I');
# Global Memory Flags
GMEM_FIXED = 0;
GMEM_MOVEABLE = 2;
GMEM_NOCOMPACT = 0x10;
GMEM_NODISCARD = 0x20;
GMEM_ZEROINIT = 0x40;
GMEM_MODIFY = 0x80;
GMEM_DISCARDABLE = 0x100;
GMEM_NOT_BANKED = 0x1000;
GMEM_SHARE = 0x2000;
GMEM_DDESHARE = 0x2000;
GMEM_NOTIFY = 0x4000;
GMEM_LOWER = GMEM_NOT_BANKED;
GMEM_VALID_FLAGS = 32626;
GMEM_INVALID_HANDLE = 0x8000;
GHND = GMEM_MOVEABLE + GMEM_ZEROINIT;
GPTR = GMEM_FIXED + GMEM_ZEROINIT;
$lstrcpy = Win32API.new('kernel32', 'lstrcpyA', ['P', 'P'], 'P');
$lstrlen = Win32API.new('kernel32', 'lstrlenA', ['P'], 'I');
$lstrcpyIP = Win32API.new('kernel32', 'lstrcpyA', ['I', 'P'], 'P');
$lstrcpyPI = Win32API.new('kernel32', 'lstrcpyA', ['P', 'I'], 'P');
$GlobalLockI = Win32API.new('kernel32', 'GlobalLock', ['I'], 'I');
def GetText
result = ""
if $OpenClipboard.Call(0) != 0
if (h = $GetClipboardData.Call(CF_TEXT)) != 0
if (p = $GlobalLock.Call(h)) != 0
result = p;
$GlobalUnlock.Call(h);
end
end
$CloseClipboard.Call;
end
return result;
end
def SetText(text)
if (text == nil) || (text == "")
return
end
if $OpenClipboard.Call(0) != 0
$EmptyClipboard.Call();
len = $lstrlen.Call(text);
hmem = $GlobalAlloc.Call(GMEM_DDESHARE, len+1);
pmem = $GlobalLockI.Call(hmem);
$lstrcpyIP.Call(pmem, text);
$SetClipboardData.Call(CF_TEXT, hmem);
$GlobalUnlock.Call(hmem);
$CloseClipboard.Call;
end
end
end
include Clipboard;
# sample:
# require 'clipbrd';
# print Clipboard.GetText;
# Clipboard.SetText("aaaaa\nbbbbb\n");
(clipserver.rb)
#!/usr/local/bin/ruby
require 'socket'
require 'clipbrd'
Port = 4445
gs = TCPserver.open(Port)
addr = gs.addr
addr.shift
printf("server is on %d\n", addr.join(":"))
# for ^C trap
Thread.start do
while TRUE
print "|\b"; STDOUT.flush
sleep 1
print "-\b"; STDOUT.flush
sleep 1
end
end
# server thread
while TRUE
newsc = gs.accept
#print(newsc, " is accepted\n")
print(newsc.peeraddr.join(":"), " is accepted\n")
Thread.start do
sc = newsc
#sc.gets
#print $_; STDOUT.flush
str = Clipboard.GetText
#print str; STDOUT.flush
sc.write(str + "\n")
sc.close
end
end
(clipclient.rb)
#!/usr/local/bin/ruby
require 'socket'
require 'clipbrd'
Port = 4445
host=(if ARGV.length == 1; ARGV.shift; else "localhost"; end)
STDERR.print("Trying ", host, " ..."); STDERR.flush
sc = TCPsocket.open(host, Port)
STDERR.print("connect."); STDERR.flush
str = ""
#sc.write("HELLO\n")
while sc.gets
str = str + $_
end
sc.close
print str
Clipboard.SetText("[#{host}]\n"+str)