ファイルサイズの取得についてNo.06865
davinci さん 03/05/24 15:29
 

2003/05/24(土) 15:09:22

こんにちは、ダヴィンチです。

さて以下のようなサンプルマクロでファイルサイズを取得できると思い
実行してみたのですがサイズが-1になってしまいます。
サイズが-1の場合は、エラーらしいのですが、どこが間違っているのか
わかりませんのでどなたかご教示頂ければ幸いです。

この技術を基に添付ファイルのサイズを本文に挿入するマクロを
作ろうと思っております。

// main()
loaddll "TKInfo.dll";

    $$FullPath = "\""+ dllfuncstr( "HomeDir") + "AdrBook.txt" + "\"";
    ##FileSize = dllfunc( "Bypass_GetFileSize", $$FullPath);
    message $$FullPath + ":" + str(##FileSize);

endmacro;
freedll;
//

○Bypass_GetFileSizeについて

  ・鶴亀のマクロヘルプには、「(パラメータ1にファイル名、パラメータ2は省
略)」と
    書かれていたので上記の呼び出し方は問題ないと思います。

  ・ただ一つ気になるのが「Windows API」の説明には、
    (http://members.tripod.com/~masapico/api_GetFileSize.html)
    「オープンされているファイルのサイズを取得」とありましたので
    これが原因なんでしょうか?

    でも、Bypass_GetFileSize()内部でファイル名を基にオープンした時の
    ファイルハンドルの取得を行い、ファイルサイズを取得後クローズしてくれるの
かなあと
    思っているんですが。

    ちなみに上記のフルパスは以下のようになります。
    "C:\鶴亀データ\PapaData\AdrBook.txt"

    もちろん読み取り専用ではありません。

○動作環境

  OS:Windows98 SE, IE v6.0 SP1
  鶴亀メール v2.83
  秀丸エディタ v3.19

どうぞ宜しくお願いします。

[ ]
RE:06865 ファイルサイズの取得についてNo.06866
かわした さん 03/05/24 17:22
 
かわしたです。

$$FullPathにご自分で余計な「"」を付加しているのが原因では?

[ ]
RE:06866 ファイルサイズの取得についてNo.06867
davinci さん 03/05/24 17:35
 

2003/05/24(土) 17:32:47

こんにちは、かわしたさん

ダヴィンチです。

/*
** タイトル:『turukame.2:06866| RE 06865 ファイルサイズの取得について』
** 発信日:2003年05月24日(土)
** 発信者:かわしたさん
*/
>かわしたです。
>
>$$FullPathにご自分で余計な「"」を付加しているのが原因では?

ご指摘の様に両端の「"」を取ったら
正常にサイズが表示できました。

フルパス名の間にブランクがあった場合の対応と
思いあらかじめ「"」で囲んだのが返って仇になりました。

ありがとうございました。

[ ]