(現在 過去ログ22 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■3405 / inTopicNo.1)  ファイル名取得
  
□投稿者/ 太郎 -(2008/01/31(Thu) 19:11:37)
    ファイル名取得でご指導ください。
    桐V9-2007です。
    OS:XP
    下の一括処理でファイル名を取得したいのですが
    &Faileにファイル名が入っていないので終了してしまうのですが
    なぜはいらないのでしょうか?


    --------------------------------------------------
    変数宣言 文字列{ &Faile, &FFF },整数{ &FNo = 0 }
    &FFF = "C:\K3\Data\*.html"

    表 "表.tbl"
    行削除 *,圧縮
    繰り返し
      &FNo=FNo+1
      &Faile=#ファイル検索(&FFF,&FNo)
      条件 ( "" = &Faile) 繰り返し中止
      行追加 [Faile]=&Faile
    繰り返し終了
    ----------------------------------------------------
    よろしくお願いいたします。
引用返信 [メール受信/OFF] 削除キー/
■3407 / inTopicNo.2)  Re[1]: ファイル名取得
□投稿者/ たゆー -(2008/01/31(Thu) 20:28:31)
    詳しく見てませんが

    >   &FNo=FNo+1
       &FNo=&FNo+1
    では

引用返信 [メール受信/OFF] 削除キー/
■3408 / inTopicNo.3)  Re[2]: ファイル名取得
□投稿者/ 太郎 -(2008/01/31(Thu) 20:46:43)
    たゆーさま
    ありがとうございます。

    >>  &FNo=FNo+1

    >    &FNo=&FNo+1
    にしても、&Faileにファイル名が入りません。
引用返信 [メール受信/OFF] 削除キー/
■3409 / inTopicNo.4)  Re[3]: ファイル名取得
□投稿者/ Oiller -(2008/01/31(Thu) 22:41:15)
    太郎さん、こんばんは。

    いろいろ変更してしまいましたが、以下のコードで試したところ期待通りの取得が
    できました。
    検討してみてください。

    変数宣言 文字列{ &File, &FFF },整数{ &FNo = 0 }
    &FFF = "*.cmd"

    表 "表list.tbl"
    行削除 *,圧縮
    繰り返し
      &FNo=&FNo+1
      &File=#ファイル検索(&FFF,&FNo)
      条件 ( "" = &File) 繰り返し中止
      行追加 [File]=&File
    繰り返し終了

引用返信 [メール受信/OFF] 削除キー/
■3410 / inTopicNo.5)  Re[1]: ファイル名取得
□投稿者/ 悲しげ -(2008/01/31(Thu) 22:49:14)
    No3405に返信(太郎さんの記事)
    普通は
      "Faile"
    ではなく
      "File"
    だと思いますが(^^;)、

    それと
      条件 ( "" = &Faile)
    ではなく
      条件 (&Faile="")
    のように書くのが一般的だと思いますが
    それはさておき

      &FFF = "C:\K3\Data\*.html"
    のパス・ファイル名が間違っているなんてことはありませんか?
    1字でも違っていたら取得されません(エラーにもならずに)。

引用返信 [メール受信/OFF] 削除キー/
■3411 / inTopicNo.6)  Re[1]: ファイル名取得
□投稿者/ 今村 誠 -(2008/01/31(Thu) 23:25:34)
    太郎さんこんにちは、エラーの場合の処理を入れないと
    期待した結果は得られません。
    使っている人は何故うまくいかないのかと思いますよ。

    変数宣言 文字列{ &Faile, &FFF},整数{ &FNo = 0 }
    フォルダ名入力 初期値="C:\K3\Data\", プロンプト="フォルダー名をクリック"\
    , 許可作業=*, &FFF
    if (&FFF="")
     &FFF = "C:\K3\Data\*.html"
    else
     &FFF = &FFF+"*.htm*" 
    end
    &Faile=#文字列反転(#sstr(#文字列反転(&FFF),#文字位置(#文字列反転(&FFF),"\")+1))
    if (#文字位置(#ファイル属性(&Faile /* str */ ,1/* f */),"D")>0)
    *--------------------------------------------------------------------------------
    *ファイル str の属性を調べます。
    *引数 説明
    *str ファイル名を表わす文字列を指定します。
    *f 取り出すファイル属性の種類を番号で指定します。
    *値 戻り値
    *1 属性を表わす4文字を返します。
    * 第1文字目:読みとり専用ならば R、そうでなければ半角空白。
    * 第2文字目:隠しファイルならば H、そうでなければ半角空白。
    * 第3文字目:システムファイルならば S、そうでなければ半角空白。
    * 第4文字目:フォルダであれば D、そうでなければ半角空白。
    *2 最終更新日付を日付文字列で返します。
    *3 最終更新時刻を時刻文字列で返します。
     表
     call 表を作成("表.tbl","Faile","更新日")
      繰り返し
       &FNo=&FNo+1
       &Faile=#ファイル検索(&FFF,&FNo)
       条件 ( "" = &Faile) 繰り返し中止
       行追加 [Faile]=&Faile,[更新日]=#日時値(#ファイル属性(&Faile,2))
      繰り返し終了
     表形式編集
     表
    else
     確認 &Faile+" は存在しないディレクトリーです"
    end
    proc 表を作成(Str &S表名,Str &Sitem1,Str &Sitem2)
      var Int{&Iend}
      印字開始 "mokumoku.k3", 終了状態=&Iend
      印字 "###"
      印字 "### WIN桐 00"
      印字 "###"
      印字 """"+&Sitem1+""""+","+""""+"文字列"+""""
      印字 """"+&Sitem2+""""+","+""""+"日時"+""""
      印字 """文字数"",""整数"""
      印字終了 改頁=しない
      表作成 &S表名,定義ファイル="mokumoku.k3",モード=専有,終了状態=&Iend
    end
引用返信 [メール受信/OFF] 削除キー/
■3412 / inTopicNo.7)  Re[2]: ファイル名取得
□投稿者/ 太郎 -(2008/02/01(Fri) 11:32:39)
    みなさん
    ご指導ありがとうございました。
    ひょっととしてと思い
    &FFF = "C:\K3\Data\*.html"
    *を半角の*にしましたところ
    &FFFにファイル名が入り
    ファイル名を取得することができました。
    ありがとうございました。


引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -