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

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

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

■4225 / inTopicNo.1)  リムーバブルディスクの認識
  
□投稿者/ 一太郎 -(2009/01/10(Sat) 09:37:55)
    一括処理でリムーバブルディスクにUSBフラッシュメモリをいれてデータの加工後に書き込み処理を行っております。
    フラッシュメモリを入れ忘れると加工後のデータが削除されることから、データの加工前にエラーメッセージを出す方法を教えて下さい。

    ※メッセージボックス "USBを確認 !!",Fドライブにフラッシュメモリを入れて下さい。
引用返信 [メール受信/OFF] 削除キー/
■4228 / inTopicNo.2)  Re[1]: ドライブ・ディスクの判定
□投稿者/ ONnoji -(2009/01/10(Sat) 11:52:32)
    > 一括処理でリムーバブルディスクにUSBフラッシュメモリをいれてデータの加工後に書き込み処理を行っております。
    > フラッシュメモリを入れ忘れると加工後のデータが削除されることから、データの加工前にエラーメッセージを出す方法を教えて下さい。

    #ファイルサイズ( )関数で、ドライブが存在するか否か判定できますよ。

    【引用】桐9-200xヘルプ|関数 クイック リファレンス|ファイル#ファイルサイズ( str )
    ■ #ファイルサイズ( str )
    ファイル str のサイズをバイト単位の数値で返します。


    指定するファイルがフォルダであれば 0 になります。

    ファイルが存在しないときは -1 になります。

    ディスクの準備ができていないか、または存在しないドライブを指定したときは未定義値になります。

    サンプル

    ・Jusho.tbl のファイルサイズを調べます。
    #ファイルサイズ( "Jusho.tbl" ) → 49152(バイト)

    ・指定するファイルがフォルダのときは 0 になります。
    #ファイルサイズ( "c:\K3\KIRIV9\Data" ) → 0
引用返信 [メール受信/OFF] 削除キー/
■4229 / inTopicNo.3)  Re[2]: ドライブ・ディスクの判定
□投稿者/ 一太郎 -(2009/01/10(Sat) 12:23:56)
    ONnojiさん 早々のご回答ありがとう御座います。

    一括処理での記載はどのようにしたら良いのでしょうか。
    よろしくお願いいたします。

    > #ファイルサイズ( )関数で、ドライブが存在するか否か判定できますよ。
    > ファイルが存在しないときは -1 になります。
    > ディスクの準備ができていないか、または存在しないドライブを指定したときは未定義値になります。



引用返信 [メール受信/OFF] 削除キー/
■4231 / inTopicNo.4)  Re[3]: #DISKSIZE( )関数
□投稿者/ ONnoji -(2009/01/10(Sat) 14:52:00)
    >#ファイルサイズ( )関数で、ドライブが存在するか否か判定できますよ。

    失礼しました。#DISKSIZE( )関数を使うほうが良いですね。

    【引用】桐9-200xヘルプ|関数 クイック リファレンス|ファイル|#DISKSIZE( str )
    ■#DISKSIZE( str )
    ドライブ str の全ディスク容量をバイト単位の数値で返します。

    str の先頭 1 文字をドライブ名として使用します。

    ディスクの準備ができていないか、指定するドライブが存在しないときは -1 になります。

    >一括処理での記載はどのようにしたら良いのでしょうか。

    以下の例は、あくまでも例です。
    そちらの用途に合っているかは保証できませんので、あらかじめご了承ください。

    なお、やっつけで例を作ったので、私のイベント処理アプリケーションから流用しました。
    一括処理アプリケーションでも考え方は同じですよ。

    ********************************************
    名札 メイン
     変数宣言 局所,文字列{ &mFDDriveName }
     &mFDDriveName = "A:"

     *

    手続き定義開始 cmdほげほげFD作成Click( )
     変数宣言 自動,文字列{ &icon, &title = "cmdほげほげFD作成Click( )", &msg }
     変数宣言 自動,整数 { &ans, &continue }

     &msg = "ほげほげFDを作成します"
     &msg = &msg + "\n\nほげほげへ提出するフロッピーディスクを " + &mFDDriveName + " に装着してください"
     &msg = &msg + "\n\nよろしいですか?"

     手続き実行 INFprcMsgYesNo( &icon, &title, &msg, &ans )
     if ( &ans )

      手続き実行 prcExistDrive( &mFDDriveName, &continue )
      if ( &continue )

       手続き実行 ほけほげ( )

      end

     end

    手続き定義終了

    手続き定義開始 prcExistDrive( 文字列 &driveName, 参照 整数 &done )
     変数宣言 自動,文字列{ &icon = "!", &title = "prcExistDrive( )", &msg }
     変数宣言 自動,数値 { &diskSize }
     変数宣言 自動,整数 { &continue = 1 }

     &done = 0
     繰り返し ( &continue )

      &diskSize = #disksize( &driveName )

      if ( &diskSize = -1 )

       &msg = &driveName + ": ドライブにフロッピーが装着されていません"
       &msg = &msg + "\n\nドライブのLEDが消えてから、フロッピーディスクを装着してください"
       &msg = &msg + "\n\n[OK]ボタンで再試行します [キャンセル]ボタンで中止します"
       手続き実行 INFprcMsgOKCancel( &icon, &title, &msg, &continue )

      else

       &continue = 0
       &done = 1
      end

     繰り返し終了

    手続き定義終了

    手続き定義開始 INFprcMsgOKCancel( 文字列 &icon, 文字列 &title, 文字列 &msg, 参照 整数 &ans )
     変数宣言 自動,文字列{ &iconList = "i,?,!,e" } /* 半角コンマで区切った文字列リスト */
     変数宣言 自動,文字列{ &macro }
     変数宣言 自動,整数 { &at }

     &icon = #半角( #lc( #sstr( &icon, 1, 1 ) ) ) /* &icon はこの手続きの引数 */
     &at = #対応番号( &iconList, &icon )

     &macro = "メッセージボックス &title, &msg" + #cond( &at, ", アイコン = " + &icon ) + ", ボタン指定 = 2, 制御文字展開 = する, &ans"
     コマンド &macro

     **if ( &ans = 2 ) /* &ans はこの手続きの参照引数 */
     条件 ( &ans = 2 ) &ans = 0 /* &ans が キャンセル( 2 )だったらゼロ( 0 )にする */
     **end
    手続き定義終了

    手続き定義開始 INFprcMsgPause( 文字列 &icon, 文字列 &title, 文字列 &msg )
     変数宣言 自動,文字列{ &iconList = "i,?,!,e" } /* 半角コンマで区切った文字列リスト */
     変数宣言 自動,文字列{ &macro }
     変数宣言 自動,整数 { &at }

     &icon = #半角( #lc( #sstr( &icon, 1, 1 ) ) ) /* &icon はこの手続きの引数 */
     &at = #対応番号( &iconList, &icon )

     &macro = "メッセージボックス &title, &msg" + #cond( &at, ", アイコン = " + &icon ) + ", ボタン指定 = 1, 制御文字展開 = する"
     コマンド &macro

    手続き定義終了
    ********************************************

引用返信 [メール受信/OFF] 削除キー/
■4234 / inTopicNo.5)  Re[4]: #DISKSIZE( )関数
□投稿者/ 一太郎 -(2009/01/10(Sat) 17:12:09)
    ONnojiさん ありがとう御座います。

    私の一括処理のレベルが低くて、ご教授お願いでくますでしょうか。

    -----------------------------------------------------------
    変数宣言 固有,数値{&diskSize }
    &diskSize = #DISKSIZE("A" )

    ※この先がっわかりません。
    ★もしも、&diskSize が -1 だったら
    メッセージボックスで "Aドライブに、フロッピーディスクを装着してください"を表示したい。

引用返信 [メール受信/OFF] 削除キー/
■4236 / inTopicNo.6)  Re[5]: #DISKSIZE( )関数
□投稿者/ ONnoji -(2009/01/11(Sun) 09:00:22)
    > -----------------------------------------------------------
    > 変数宣言 固有,数値{&diskSize }
    > &diskSize = #DISKSIZE("A" )
    >
    > ※この先がっわかりません。
    > ★もしも、&diskSize が -1 だったら
    > メッセージボックスで "Aドライブに、フロッピーディスクを装着してください"を表示したい。

    &diskSize の値が -1 か否かを判定するだけなんですけれど…(^^ゞ

    例えば…

    ---------------------------------
    変数宣言 固有,数値{&diskSize }

    &diskSize = #DISKSIZE("A" )
    ** ディスクの準備ができていないか、指定するドライブが存在しないときは -1 になります。

    if ( &diskSize <> -1 )

     通常処理を記述

    else

     メッセージボックス …

    end

     :
     :

引用返信 [メール受信/OFF] 削除キー/
■4237 / inTopicNo.7)  Re[6]: #DISKSIZE( )関数
□投稿者/ 一太郎 -(2009/01/11(Sun) 09:33:03)
    ONnojiさん ありがとうございました。

    > ---------------------------------
    > 変数宣言 固有,数値{&diskSize }
    >
    > &diskSize = #DISKSIZE("A" )
    > ** ディスクの準備ができていないか、指定するドライブが存在しないときは -1 になります。
    >
    > if ( &diskSize <> -1 )
    >
    >  通常処理を記述
    >
    > else
    >
    >  メッセージボックス …
    >
    > end
    >
    >  :
    >  :
    上記で解決しました。
    何度も解答して頂きまして申し訳ありませんでした。

解決済み!
引用返信 [メール受信/OFF] 削除キー/



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

このトピックに書きこむ

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

Mode/  Pass/

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

- Child Tree -
- Antispam Version -