このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

FileMakerへのグラフィックの取り込みについて

発言者:児玉@Gallery GOGAKU
( Date Wednesday, March 05, 1997 15:19:12 )


お知恵を拝借いたしたく参上いたしました ^^;
[要求]:約1,000個のBMPファイル(約20K/個)をFileMakerに
     ファイル名、グラフィックと2つのフィールドに分けて取り込みたい

[経過]:1)BMPファイルをPICTファイルに変換(GraphicConverter使用)
     2)ファイルネームを取り込むだけでしたら出来るのですが、グラフィック
      も、というところで足踏みをしています。

・一つのPICTファイルに対してファイル名、グラフィックをそれぞれ取り込む
 事を繰り返す

・いったんファイル名だけ取り込んで、合致するグラフィックを後から取り込む

どちらでも構わないのですが、よろしくお願いいたします。

#Webサーバーにのせて、リンク先のファイル名と画像そのものとを別個に
#管理することを提案したのですが・・・ ^^;

SBK さんからのコメント
( Wednesday, March 05, 1997 21:27:50 )

最初の書き込みなのに、答えになっていないので、申し分けありませんが....

先日のシーボルトで、Cumulusのデモを見ましたが、とても優れたもので
した。インターネット配信も可能なバージョンは少々お高いのですが、
ファイルメーカーでやるよりも管理が簡単なのではないかと思います。
ファイルメーカーでやらなければならないという事情がなければ、
検討する価値はあるとおもいますが....

MacWorldでみたTangoのデモでは、画像ファイルをデーターベース内には
入れずに分けて管理していたので、不安を覚えたもので.....

田中求之 さんからのコメント
( Thursday, March 06, 1997 01:39:01 )

PICT ファイルをファイルメーカーに取り込むときには、osax を使えば可能です。
以下の URL の pgmTool というのをダウンして、その中の programmer's tool
という osax をインストールしてください。

これがインストールされれば、次のようなスクリプトで、PICT ファイルをファイル
メーカーのセル(オブジェクト型)に取り込めます。

** たとえば、選んだ Pict ファイルを cell "Picture" に絵を張り込むとする

set myFile to choose file of type {"PICT"}

set myRef to open for access myFile
set myData to read myRef from 513
close access myRef

cast myData to "PICT"
set myPict to the result

tell application "ファイルメーカーPro"
  set cell "Picture" of record -1 to myPict
end tell


これで、最後のレコードの Picture に絵が取り込まれます。

このスクリプトを応用すれば、フォルダー内の PICT ファイルを一括して
データベースに登録するのも、あっという間です。

仮に、レコードには、ファイル名を入れる cell "Filename" と、その画像が
入る cell "picture" しかないとすれば、


set tgFldr to "MacHD:Pictures:" --- 画像が入っているフォルダーのパス

set myList to dirLister file tgFldr type "PICT"

repeat with ThisP in myList
  set tgFile to tgFldr & (contents of thisP)
  set dx to open for access file tgFile
  set myD to read dx from 513
  close access dx
  cast myD to "PICT"
  set myP to the result

  tell application "ファイルメーカーPro"
    create new record with data {thisP,myP}
  end tell
end repeat

といった処理になります。


programmer's tool osax によって、read で読み込んだデータを Picture 型に
型変換(cast)できるようになるを利用します。

田中求之 さんからのコメント
( Thursday, March 06, 1997 01:40:11 )

programmer's tool の URL を書くのを忘れてました (^_^;;

<>

→  pgmTool.sit.hqx

児玉@Gallery GOGAKU さんからのコメント
( Thursday, March 06, 1997 11:42:30 )

分かり易くご説明いただきありがとうございました。
おかげさまで意気揚々と要求元(他部署の数少なくなってしまった ^^; Mac
使い)に出向くことが出来ます。

#皆さん、「getClipText」「dirLister」等々Tanaka's OSAXは宝の山でござ
#います ^^
#つくばに行きたいな〜

SBKさん、ありがとうございます。
画像管理について合わせて提案してこようと思っています。

田中求之 さんからのコメント
( Friday, March 07, 1997 15:45:32 )

考えてみたら、ClipToGif を使えば、わざわざ osax を呼ぶ必要も無かったですね (^_^;;

----

set tgFldr to "MacHD:Pictures:" --- 画像が入っているフォルダーのパス

set myList to dirLister file tgFldr type "PICT"

repeat with ThisP in myList
  set ThisP to contents of ThisP
  set TgFile to tgFldr & ThisP
  
  tell application "clip2gif"
    set myP to save file TgFile in picture
  end tell
  
  tell application "ファイルメーカー Pro"
    create new record with data {ThisP, myP}
  end tell
  
end repeat