[#39325] File.fnmatch の改良について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

はじめまして、山本です。

18 messages 2004/03/05

[#39429] trial version of Ruby/Tk — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

18 messages 2004/03/23
[#39454] Re: trial version of Ruby/Tk — "Shirai,Kaoru" <shirai@...> 2004/03/31

白井です。

[#39460] Re: trial version of Ruby/Tk — Hidetoshi NAGAI <nagai@...> 2004/04/01

永井@知能.九工大です.

[#39465] Re: trial version of Ruby/Tk — "Shirai,Kaoru" <shirai@...> 2004/04/01

白井です。

[#39466] Re: trial version of Ruby/Tk — Hidetoshi NAGAI <nagai@...> 2004/04/01

永井@知能.九工大です.

[#39453] Re: int/int in Ruby2? — Masaaki Sakano <mas@...>

坂野 正明です。

36 messages 2004/03/31
[#39455] Re: int/int in Ruby2? — NISHIMATSU Takeshi <t-nissie@...> 2004/03/31

西松と申します.

[#39470] Re: int/int in Ruby2? — Masaaki Sakano <mas@...> 2004/04/01

坂野 正明です。

[#39473] Re: int/int in Ruby2? — matz@... (Yukihiro Matsumoto) 2004/04/01

まつもと ゆきひろです

[#39484] Re: int/int in Ruby2? — Masaaki Sakano <mas@...> 2004/04/03

坂野 正明です。

[#39528] Re: int/int in Ruby2? — "T Akutsu" <locrian@...> 2004/04/09

あくつです。なんかわくわくしてきだぞ。(^^;)

[ruby-list:39354] DnD on Windows98 (i386-mswin32)

From: Shinichiro HIDA <shinichiro@...>
Date: 2004-03-10 03:55:17 UTC
List: ruby-list #39354
飛田です。

;; 長文となります。申し訳ありません。

先の [ruby-list:39275] DnD on Win32 からのスレッドではお世話になりまし
た。

現在、Windows 2000 上では動く imgresize.rb というのが出来たのですが、
これを ruby-1.8.1-i386-mswin32 を入れた (あるいは Exerb で.exe に変換
したものでも) Windows98 上では未だに動かす事が出来ずにいます。

症状は、C:\imgrsz 以下へ imgrsz.rb など一式を用意してそのショートカッ
トを同じフォルダ内に用意し、そのプロパティを

"ruby.exe" "C:\imgrsz\imgrsz.rb"

のようにしておき、そこへ同じフォルダ上からでも別のフォルダからでも画像
ファイル (DSC00409.JPG あるいはファイル名を DSC409.JPG にして) をドロッ
プすると、

[...] invalid char \377 in expression

のような文字が数行 MS-DOS プロンプト上にほんの一瞬現れてプロンプトごと
消える、というのもです。

;; なにせ一瞬ですので正確に読みとれていない可能性はあります。

また、MS-DOS プロンプトから ruby "C:\IMGRSZ\IMGRSZ.RB" "DSC409.JPG"
すると、file.mtime(uf_name) の所でファイルを見つけられなくなります。

単にショートカットをダブルクリックすると、ARGV.empty? に引っかかって正
常に MS-DOS プロンプト上にメッセージが表示されます。

現在、コードは Win98 用に XEmacs で shift_jis-dos で書きファイル名を短
くつめて次のようにして試してみています。

なにかお気づきの点、間違い、試してみるべき事などありましたらご指摘いた
だきたくお願い致します。

#! ruby -Ks
require 'imgrscf.rb'     # 設定ファイルの読み込み。

puts(" imgresize.rb -- Resizing pictures took with digital camera w/ImageMagick")

if ARGV.empty?
  puts('このプログラム imgresize.exe のショートカットをデスクトップ上などに作り、そこへ画像ファイルをドラッグアンドドロップしてください。')
  puts('設定ファイルは imgrscf.rb です。')
  puts('これをメモ帳などのテキストエディタで編集して設定する事が出来ます。')
  puts('詳しくは、同梱の README-ja.txt を参照して下さい。')
  puts('10秒後に復帰します。')
  puts('お待ち下さい... ')
  sleep 10
else
  puts('imgrsz.exe を起動します。')
  
  # ファイル名を受け取る。
  while file_name = ARGV.shift
    if File.directory?(file_name)
      puts('ディレクトリ、フォルダ一括の変換には未対応です。')
      puts('画像ファイルを指定して下さい。複数可')
      puts('複数のファイルを選択するには、Shift キー(連続選択)や Ctrl キー(ばらばら選択)を押しながらマウスでクリックします。')
      sleep 3
    else
      my_fname = file_name
      my_file = File.basename(my_fname)
      my_path = File.path(my_fname)

      if File.extname(my_file) =~ /\.(jp(e)?g|png|gif|tif(f)?)/i
        if my_file =~ /^[a-z]+[0-9]+\.[a-z]{3,4}/i
          dfile = my_file.delete("^0-9")
          if dfile =~ /^(0+)([0-9]+)/
            dfile = dfile.sub($1, "")
          end
        elsif my_file =~ /^([0-9]+_)([0-9]+)(\.[A-Z]{3,4})/i
          dfile = my_file.sub(my_file, $2)
          if dfile =~ /^(0+)([0-9]+)/
            dfile = dfile.sub($1, "")
          end
        elsif my_file =~ /(^.*)(\.[A-Z]{3,4})/i
          dfile = my_file.sub($2, "")
        else
          printf("想定外のファイル名です。出力ファイル名がおかしくなるかもしれません。")
          dfile = File.basename(my_file, ".*")
        end

        puts(my_file + " の処理を開始します。しばらくお待ち下さい...")
        
        uf_name = file_name.upcase
        ymd = File.mtime(uf_name).strftime("%Y%m%d")
        output_fname = UNAME + '-' + ymd + '-' + dfile + '-s.jpg'

        r_image = system("convert", "-resize", IMAGESIZE,
                         "-sharpen", SHARP,
                         "-gamma", GAMMA,
                         file_name, output_fname)
  
        puts(my_file + ' の処理は完了し ' + output_fname + ' として出力しました。')
        sleep 2
      else
        puts('想定している画像ファイルの拡張子ではないようです。処理できませんでした。')
        sleep 3
      end
    end
  end
  puts('完了しました。')
  puts('bye..')
  sleep 3
end

-- 
  Shinichiro HIDA  mailto:shinichiro@stained-g.net
  GPG fingerprint = 5F2D 1656 FFF6 F691 A51C  5E61 E416 D398 470C 1CE9


In This Thread

Prev Next