last update: Feb. 3 1998

ファイルのクラスをディジタルイメージに変更するツール (REXX)


PNGや和製フォーマット (MAGとか) のファイルを画像ファイルと認識させるためのツールです. これ単体ではなんの役にも立ちませんが, homyさんhimageと組みあわせると効果的です.


/*
  Convert to MMImage TOMM.CMD
  copyright(c) ark@dan.wind.ne.jp
*/

parse arg filenm

'@echo off'

call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
call SysLoadFuncs

if SysFileTree(filenm, fstem, 'FO') = 0 then do
  if fstem.0 = 0 then do
    say 'File not found'
    exit
  end
  dirnm = filespec('Drive',fstem.1)||filespec('Path',fstem.1)
  dirnm = left(dirnm, length(dirnm)-1)
  do i = 1 to fstem.0
    oldnm = fstem.i||'.old'
    result = SysSetObjectData(fstem.i, 'TITLE='||filespec('Name',oldnm))
    if result = 0 then do
      say 'Object rename failed'
      exit
    end
    result = SysCreateObject('MMImage', filespec('Name',fstem.i), dirnm)
    if result = 0 then do
      say 'Object create failed'
      exit
    end
    copy oldnm fstem.i '>' NUL
    del oldnm
    result = SysSetObjectData(fstem.i, 'TITLE='||filespec('Name',fstem.i))
    say "Convert file '"fstem.i"'"
  end
end
else do
  say 'File search failed'
end

このコマンドの使い方は,
TOMM file
で, fileには変換したいファイルを指定します. ワイルドカード使用可です.
やってることは簡単で, 新しくMMImageクラスでファイルを作って, そのファイルにオリジナルの内容を写し, オリジナルのファイルを消してるだけです. もっとスマートにクラスを変更できれば良かったんですけどね...
たまに変換後のオブジェクトの名前に '.old' がついてしまうことがあります. うまく対策できなかったんで, もしそうなったら手動で直してください m(_ _)m .
あ, HPFSじゃないと動きません. 手抜きのため (^_^;) . 一時ファイル名 (oldnm) の生成方法を変えればいいんですけど...



このページの作者は αρκ <ark@dan.wind.ne.jp> です