ディレクトリユーティリティライブラリ

ユーティリティライブラリ

作成日:2000/06/01
更新日:2001/10/10

ディレクトリユーティリティライブラリについて
ダウンロード  仕様  使用方法
制限事項  著作権・転載条件など

◆ディレクトリユーティリティライブラリについて

◆動作環境

◆更新履歴
 2000/06/01 Ver1.00
 2000/06/17 Ver1.01
 2000/06/30 Ver1.10
 2000/07/07 Ver1.14
 2000/07/15 Ver1.16
 2000/08/31 Ver1.18
 2000/12/18 Ver1.19(未公開)
 2000/12/31 Ver2.00
 2001/06/19 Ver2.04
 2001/06/21 Ver2.05
 2001/10/07 Ver3.00
 2001/10/10 Ver3.10
◆ダウンロード
 ライブラリ+ヘッダファイル+説明書
DirUtil-310.lzh
 ソースファイル+ヘッダファイル+説明書
DirUtil-310s.lzh
 サンプルMOREソフト(プロジェクト一式)
DirSamp.lzh
◆仕様
  1. ディレクトリ情報ファイル
  2. ディレクトリボタンメニュー関係
  3. ディレクトリ・ファイル操作関係
  4. ディレクトリ情報ファイル操作関係
  5. ディレクトリ関連API関係
  1. ディレクトリ情報ファイル
    MI-EX1より前の機種では、ATAカード(F1:)上のディレクトリの存在を知っている必要があります。そこで、ディレクトリ情報を記述してあるファイルを用意し、そのディレクトリ情報ファイルをもとに、ディレクトリを擬似的に扱うようにします。
    ディレクトリ情報ファイル名の仕様は、下記のとおりです。
    ファイル名:F1:\DIRLIST.INI
    形式:テキスト形式(CR-LF=\r\n)です。
    内容:・1行に1ディレクトリ情報を記述。
       ・ディレクトリ情報は絶対パス指定。
       ・ディレクトリセパレータは、'\'。
       ・ディレクトリ名の最後に'\'を付加する。
       ・ディレクトリ情報の終端を';'で区切る。これ以降をコメントとして使用可能。
    注意:・同じディレクトリが複数ある場合、別のディレクトリと判断してしまいます。(チェックが甘いです。)
       ・順序は特に問いません。自由です。
    例:ディレクトリ情報の記述例を下記に示します。
      F1:\;
      F1:\TEST\; ここはコメントです。ディレクトリテスト用
      F1:\BACKUP\;
      F1:\TEST\TMP\;

  2. ディレクトリボタンメニュー関係
    ====================================
    形 式:void DIR_InitDirMnWork(DIRMNWORK *pDirMnWork)
    引 数:pDirMnWork ディレクトリメニューワークへのポインタ
    戻り値:なし

    概 要:ディレクトリボタンメニュー用のワーク領域を初期化する。
        メニュー用文字列として、下記のように設定する。
        MI-EX1より前の機種:"F0:", "F1:", "F1:\", NULL
        MI-E1より前の機種 :"F0:", "F0:\", "F1:", "F1:\", NULL
        MI-E1以降の機種  :"F0:\", "C1:\", "C2:\", NULL

        /* ディレクトリメニューワーク構造体 */
        typedef struct {
          UCHAR *topDir[4];
          UCHAR curDir[LONG_DFNAME_LEN];
        } DIRMNWORK;

        FormSetup関数内で使用する。
    ====================================
    形 式:void DIR_MakeMenuItems(UCHAR **MenuList, UCHAR **MenuAttr, DIRMNWORK *pDirMnWork)
    引 数:MenuList  メニュー文字列リソースへのポインタ
        MenuAttr  メニュー属性リソースへのポインタ
        pDirMnWork ディレクトリメニューワークへのポインタ
    戻り値:なし

    概 要:引数pDirMnWorkに設定されている内容に従い、メニュー用文字列に設定されているものと、カレントディレクトリを持つボタンメニューリソースを生成する。
        動的メニュー作成用のコールバック関数(BtnMenuCB)で使用する。
        カレントディレクトリが、メニュー用文字列に設定されているものの場合には、4つめのメニュー項目は作成しない。
        MI-E1より前の機種:F1:ドライブが使用できない場合には、F1:, F1:\を選択不可にする。
        MI-E1以降の機種 :使用できないドライブは、メニュー用文字列に設定されません。
    ====================================
    形 式:void DIR_GetMenuItem(int dirPartID, CONTROLHD ctrlHd, DIRMNWORK *pDirMnWork, UCHAR *dirName)
    引 数:dirPartID  ボタンメニュー部品名
        ctrlHd   コントロールテーブル
        pDirMnWork ディレクトリメニューワークへのポインタ
        dirName   ディレクトリ名文字列(返答用)
    戻り値:なし

    概 要:現在選択されているディレクトリ名を引数dirNameに設定して返す。
        但し、カレントディレクトリは、引数pDirMnWorkのメンバcurDirにも設定されるので、引数dirNameをNULLにする事も可能。
        MI-E1より前の機種:F0:, F1:, F1:\あるいは絶対ディレクトリ名を取得する。
        MI-E1以降の機種 :F0:\, C1:\, C2:\あるいは絶対ディレクトリ名を取得する。
    ====================================
    形 式:void DIR_SetMenuItem(int dirPartID, CONTROLHD ctrlHd, DIRMNWORK *pDirMnWork, UCHAR *dirName)
    引 数:dirPartID  ボタンメニュー部品名
        ctrlHd   コントロールテーブル
        pDirMnWork ディレクトリメニューワークへのポインタ
        dirName   ディレクトリ名文字列
    戻り値:なし

    概 要:ディレクトリ名文字列としては、絶対ディレクトリ名による指定と、相対ディレクトリ名による指定方法がある。
        ディレクトリ名に従い、カレントディレクトリを変更し、ディレクトリボタンメニューの選択状態を変更する。

        サブディレクトリ名の形式は、下記のとおり。
         [..]  =>親ディレクトリを表わす。
         [TEST\] =>サブディレクトリ名を表わす。'\'が必要。

    注 意:カレントディレクトリが、F0:, F1:の場合でもカレントディレクトリの移動処理を行なってしまうので、この関数を呼び出す前にチェックが必要です。

     例 :カレントディレクトリ=F1:\、ディレクトリ名文字列=[TEST\]の場合
         =>カレントディレクトリは、F1:\TEST\ になる。
        カレントディレクトリ=F1:\TEST\、ディレクトリ名文字列=[..]の場合
         =>カレントディレクトリは、F1:\ になる。
    ====================================

  3. ディレクトリ・ファイル操作関係
    ====================================
    形 式:BOOLEAN DIR_FDirBufToYMDText(UCHAR *YMDText, FDIRBUF *pDirAcc, TTEXTTYPE textType)
    引 数:YMDText  年月日格納用文字列
        pDirAcc  ファイル情報構造体へのポインタ
        textType テキストタイプ
              TSEP_NONE :区切り文字無し
              TSEP_SLASH :区切り文字'/'
              TSEP_PERIOD:区切り文字'.'
              TSEP_KANJI :区切り文字漢字
    戻り値:正常終了 =TRUE
        異常終了 =FALSE

    概 要:ファイル情報(FDIRBUF型)から年月日文字列に変換し、引数YMDTextに格納する('\0'付加)。
    ====================================
    形 式:HMS_MODE DIR_FDirBufToHMText(UCHAR *HMText, FDIRBUF *pDirAcc, TTEXTTYPE textType, TIME_MODE tMode)
    引 数:HMText  時分格納用文字列
        pDirAcc  ファイル情報構造体へのポインタ
        textType テキストタイプ
              TSEP_NONE :区切り文字無し
              TSEP_SLASH :区切り文字'/'
              TSEP_PERIOD:区切り文字'.'
              TSEP_KANJI :区切り文字漢字
        tMode   時制モード
              MODE_24:24時間制
              MODE_12:12時間制
    戻り値:エラー        =MODE_HMS_ERR
        24時間制データ    =MODE_24_ASC
        12時間制の午前データ =MODE_12_AM_ASC
        12時間制の午後データ =MODE_12_PM_ASC

    概 要:ファイル情報(FDIRBUF型)から時分文字列に変換し、引数HMTextに格納する('\0'付加)。
    ====================================
    形 式:USHORT DIR_SearchFiles(UCHAR *schPath, SCHWORK *pSchWork)
    引 数:schPath  検索パス文字列
        pSchWork 検索結果格納ワーク(返答用)
    戻り値:検索結果格納ワークへの追加格納数

    概 要:検索パス文字列の検索条件に従い、ファイルを検索し、検索結果をpSchWorkで指定される領域に格納して返す。
        pSchWork->numSchFilesの値まで検索結果データが存在するとして、その値以降に今回の検索結果を格納していく。
        検索結果格納ワーク領域を拡大確保しながら、検索結果を格納していくため、必要が無くなった時点で、DIR_FreeSchFiles関数を呼び出して、メモリ領域から解放する必要がある。
        格納数の合計は、pSchWork->numSchFilesに設定される。
    ====================================
    形 式:void DIR_SetSearchPath(UCHAR *schPath, UCHAR *dirName, UCHAR *extStr)
    引 数:schPath 検索パス文字列(返答用)
        dirName ディレクトリ名文字列
        extStr  拡張子文字列
    戻り値:なし

    概 要:dirNameとextStrから、検索パス文字列を作成する。
        ファイル名のベース部分は、'*'とし、拡張子部分は3文字より短い場合には、'?'で補完する。

     例 :ディレクトリ名文字列=F1:\TEST\、拡張子=LZHの場合
         =>検索パス文字列は、F1:\TEST\*.LZH となる。
    ====================================
    形 式:USHORT DIR_SearchDirsAndFiles(UCHAR *schPath, SCHWORK *pSchWork)
    引 数:schPath  検索パス文字列
        pSchWork 検索結果格納ワーク(返答用)
    戻り値:検索結果格納ワークへの合計格納数

    概 要:検索結果格納ワーク領域を解放した後、新たに検索パス文字列に従い、サブディレクトリおよびファイルを検索し、検索結果格納ワークに格納して返す。
        必ず、サブディレクトリ、ファイルの順に検索を行なう。

        指定された検索パス文字列のものだけでなく、検索パス文字列の拡張子部分を全て小文字にしたものと、全て大文字にしたものも検索対象とする。
        ただし、大文字/小文字を区別するかどうかは、機種やドライブに依存する。
        サブディレクトリ検索は、
        ・ディレクトリモード = ディレクトリ情報ファイル使用モードの場合
         ディレクトリ情報ファイル内から、サブディレクトリを検索する。
        ・ディレクトリモード = システムライブラリ使用モードの場合
         ディレクトリ情報ファイルに関係なく、実在するサブディレクトリを検索する。
    ====================================
    形 式:void DIR_SortSchFiles(SCHWORK *pSchWork, UCHAR sortType)
    引 数:pSchWork 検索結果格納ワーク
        sortType 昇順(ASCEND_ORDER)/降順(DESCEND_ORDER)
    戻り値:なし

    概 要:検索結果格納ワーク内のサブディレクトリおよびファイルをsortTypeに従ってソーティングする。
        サブディレクトリとファイル名は別々にソーティングする。
    ====================================
    形 式:void DIR_FreeSchFiles(SCHWORK *pSchWork)
    引 数:pSchWork 検索結果格納ワーク
    戻り値:なし

    概 要:検索結果格納ワーク領域を解放する。
    ====================================
    形 式:BOOLEAN DIR_MakeSubDir(UCHAR *dirName, UCHAR *subDir)
    引 数:dirName ディレクトリ名
        subDir  サブディレクトリ名
    戻り値:正常終了 =TRUE
        異常終了 =FALSE

    概 要:・ディレクトリモード = ディレクトリ情報ファイル使用モードの場合
         ディレクトリ情報ファイルに、ディレクトリ名+サブディレクトリ名のディレクトリ情報を追加する。
         例.ディレクトリ名=F1:\TEST\、サブディレクトリ名=SUBDIRの場合
           ディレクトリ名=F1:\TEST\SUBIDR\となリ、ディレクトリ情報ファイルには、F1:\TEST\SUBDIR\;が追記される。
        ・ディレクトリモード = システムライブラリ使用モードの場合
         ディレクトリ情報ファイルに関係なく、サブディレクトリを作成する。

    注 意:ここでのサブディレクトリ名には、'['と']'はつけない。
        また、最後に'\'も必要ない。
    ====================================
    形 式:BOOLEAN DIR_DeleteSubDir(UCHAR *dirName, UCHAR *subDir)
    引 数:dirName ディレクトリ名
        subDir  サブディレクトリ名
    戻り値:正常終了 =TRUE
        異常終了 =FALSE

    概 要:・ディレクトリモード = ディレクトリ情報ファイル使用モードの場合
         ディレクトリ情報ファイルから、ディレクトリ名+サブディレクトリ名で始まるすべてのディレクトリ情報を削除する。
         ただし、実際のディレクトリやファイルは削除されない。
         例.ディレクトリ情報ファイルの内容
            F1:\TEST\;
            F1:\BACKUP\;
            F1:\TEST\SUBDIR1\;
            F1:\TEST\SUBDIR2\;
           ディレクトリ名=F1:\, サブディレクトリ名=TESTの場合
           ディレクトリ情報ファイルの内容は下記に示すようになる。
            F1:\BACKUP\
        ・ディレクトリモード = システムライブラリ使用モード の場合
         ディレクトリ名+サブディレクトリで示されるディレクトリを削除する。
         ただし、サブディレクトリ内にディレクトリやファイルが存在する場合、サブディレクトリは削除されない。
    ====================================
    形 式:USHORT DIR_SearchDirs(UCHAR *schPath, SCHWORK *pSchWork)
    引 数:schPath  検索パス文字列
        pSchWork 検索結果格納ワーク(返答用)
    戻り値:検索結果格納ワークへの追加格納数

    概 要:検索パス文字列のディレクトリ内のサブディレクトリを検索し、検索結果をpSchWorkで指定される領域に格納して返す。
         検索文字列のファイル名部分は、検索条件として考えない。(必ずディレクトリを検索する。)
         検索結果格納ワーク領域を拡大確保しながら、検索結果を格納していくため、必要がなくなった時点で、DIR_FreeSchFiles関数を呼び出して、メモリ領域から解放する必要がある。
         格納数の合計は、pSchWork->numSchFilesに設定される。
        ・ディレクトリモード = ディレクトリ情報ファイル使用モードの場合
         ライブラリ内部で、DIR_SearchDirLists関数を呼び出す。     ・ディレクトリモード = システムライブラリ使用モード の場合
         ライブラリ内部で、DIRs_SearchDirs関数を呼び出す。 ====================================
    形 式:USHORT DIR_GetDirMode()
    引 数:なし
    戻り値:ディレクトリモード

    概 要:現在設定されているディレクトリモードを返す。
         DIR_MODE_AUTO(=0):自動モード
          ライブラリ関数を最初に呼び出した時に、機種判定してどちらのモードを使用するかを決定する。(デフォルト)
         DIR_MODE_SYSLIB (=1):システムライブラリ使用モード
          MI-EX1以降で使用可能なディレクト関連APIを使用する。
         DIR_MODE_DIRLIST(=2):ディレクトリ情報ファイル使用モード
          ディレクトリ情報ファイルを使用する。
    ====================================
    形 式:BOOLEAN DIR_SetDirMode(USHORT dirMode)
    引 数:dirMode ディレクトリモード
    戻り値:正常終了 =TRUE
        異常終了 =FALSE

    概 要:ディレクトリモードを引数dirModeで指定されたディレクトリモードに設定する。
        値のチェックは行っていないので、注意が必要。
    ====================================

  4. ディレクトリ情報ファイル操作関係
    ====================================
    形 式:USHORT DIR_SearchSubDirLists(UCHAR *topDir, DIRLISTWORK *pDirListWork)
    引 数:topDir    検索対象トップディレクトリ
        pDirListWork ディレクトリ情報ワーク(返答用)
    戻り値:ディレクトリ情報ワークへの格納数(合計)

    概 要:引数topDirで指定されるディレクトリ以降すべてのディレクトリを、ディレクトリ情報ファイルから検索して、引数pDirListWorkで示されるディレクトリ情報ワークに格納して返す。
        ディレクトリ情報ワーク領域を拡大確保しながら、ディレクトリ情報を格納していくため、必要が無くなった時点で、DIR_FreeDirLists関数を呼び出して、メモリ領域から解放する必要がある。

        /* ディレクトリ情報検索結果格納ワーク */
        typedef struct {
          UCHAR dirName[LONG_DFNAME_LEN]; /* ディレクトリ名 */
          UCHAR comment[80]; /* コメント */
        } DIRLIST;
        typedef struct {
          DIRLIST *dirLists;
          USHORT numDirLists;
        } DIRLISTWORK;
    ====================================
    形 式:BOOLEAN DIR_UpdateDirLists(UCHAR *topDir, DIRLISTWORK *pDirListWork)
    引 数:topDir    更新対象トップディレクトリ
        pDirListWork ディレクトリ情報ワーク
    戻り値:正常終了 =TRUE
        異常終了 =FALSE

    概 要:ディレクトリ情報ワーク内にあるディレクトリ情報を用いて、引数topDirで指定されるボリュームにあるディレクトリ情報ファイルを再作成する。
        ディレクトリ情報ファイルが存在した場合、上書きされる。
        ディレクトリ情報ファイルが存在しなかった場合、新規に作成する。
    ====================================
    形 式:void DIR_SortDirLists(DIRLISTWORK *pDirListWork)
    引 数:pDirListWork ディレクトリ情報ワーク
    戻り値:なし

    概 要:ディレクトリ情報ワーク内のディレクトリ情報をツリー構成を考慮して名称の昇順にソーティングする。
    ====================================
    形 式:void DIR_FreeDirLists(DIRLISTWORK *pDirListWork)
    引 数:pDirListWork ディレクトリ情報ワーク
    戻り値:なし
    概 要:ディレクトリ情報ワーク領域を解放する。
    ====================================
    形 式:BOOLEAN DIR_AddDirList(UCHAR *dirName)
    引 数:dirName 追加ディレクトリ名(絶対パス、最後は'\')
    戻り値:正常終了 =TRUE
        異常終了 =FALSE

    概 要:ディレクトリ情報ファイルに、引数dirNameで指定されたディレクトリ情報を追加する。
        既に、ディレクトリ情報ファイル内にある場合には、エラーとなる。
    ====================================
    形 式:BOOLEAN DIR_ChangeDirList(UCHAR *dstDirName, UCHAR *srcDirName)
    引 数:dstDirName 変更後ディレクトリ名(絶対パス、最後は'\')
        srcDirName 変更前ディレクトリ名(絶対パス、最後は'\')
    戻り値:正常終了 =TRUE
        異常終了 =FALSE

    概 要:ディレクトリ情報ファイル内に、引数srcDirNameで指定されたディレクトリ情報が存在する場合、引数dstDirNameで指定されたディレクトリ情報に変更する。
        変更前ディレクトリ名がない場合には、エラーとなる。
    ====================================
    形 式:BOOLEAN DIR_DeleteDirList(UCHAR *dirName)
    引 数:dirName ディレクトリ名(絶対パス、最後は'\')
    戻り値:正常終了 =TRUE
        異常終了 =FALSE

    概 要:ディレクトリ情報ファイル内から、引数dirNameで指定されたディレクトリ情報を削除する。
        ディレクトリ情報内にない場合には、エラーになる。

    注 意:実際のディレクトリやファイルは削除されない。

    ====================================
    形 式:USHORT DIR_SearchDirLists(UCHAR *schPath, SCHWORK *pSchWork)
    引 数:schPath  検索パス文字列
        pSchWork 検索結果格納ワーク(返答用)
    戻り値:検索結果格納ワークへの追加格納数

    概 要:検索パス文字列のディレクトリ内のサブディレクトリをディレクトリ情報ファイルから検索し、検索結果をpSchWorkで指定される領域に格納して返す。
        検索文字列のファイル名部分は、検索条件として考えない。(必ずディレクトリを検索する。)
        pSchWork->numSchFilesの値まで検索結果データが存在するとして、その値以降に今回の検索結果を格納していく。
        検索結果格納ワーク領域を拡大確保しながら、検索結果を格納していくため、必要が無くなった時点で、DIR_FreeSchFiles関数を呼び出して、メモリ領域から解放する必要がある。
        格納数の合計は、pSchWork->numSchFilesに設定される。

        検索結果格納ワークに格納されるサブディレクトリ名の形式は、下記のとおり。
         [..]  =>親ディレクトリを表わす。
         [TEST\] =>サブディレクトリ名を表わす。'\'が必要。

        /* 検索結果格納ワーク */
        typedef struct {
          UCHAR fileName[DFNAME_LEN]; /* 検索結果ファイル名 */
        } SCHFILE;
        typedef struct {
          SCHFILE *schFiles;   /* 検索結果ファイルリスト */
          USHORT numSchFiles;  /* 検索結果ファイル数 */
        } SCHWORK;
    ====================================
  5. ディレクトリ関連API関係
    ====================================
    形 式:BOOLEAN DIRs_MakeSubDir(UCHAR *dirName, UCHAR *subDir)
    引 数:dirName ディレクトリ名(絶対パス、最後は'\')
        subDir  作成するサブディレクトリ名
    戻り値:正常終了 =TRUE
        異常終了 =FALSE

    概 要:引数dirNameで指定されたディレクトリに、引数subDirで指定されたサブディレクトリを、ディレクトリ関連APIを使用して作成する。
    ====================================
    形 式:BOOLEAN DIRs_DeleteSubDir(UCHAR *dirName, UCHAR *subDir)
    引 数:dirName ディレクトリ名(絶対パス、最後は'\')
        subDir  削除するサブディレクトリ名
    戻り値:正常終了 =TRUE
        異常終了 =FALSE

    概 要:引数dirNameで指定されたディレクトリ上にある、引数subDirで指定されたサブディレクトリを、ディレクトリ関連APIを使用して削除する。
        サブディレクトリ内にディレクトリやファイルが存在する場合、エラーになる。
    ====================================
    形 式:USHORT DIRs_SearchDirs(UCHAR *schPath, SCHWORK *pSchWork)
    引 数:schPath  検索パス文字列
        pSchWork 検索結果格納ワーク(返答用)
    戻り値:検索結果格納ワークへの追加格納数

    概 要:検索パス文字列のディレクトリ内のサブディレクトリを、ディレクトリ関連APIを使用して検索し、検索結果をpSchWorkで指定される領域に格納して返す。
        検索文字列のファイル名部分は、検索条件として考えない。(必ずディレクトリを検索する。)
        pSchWork->numSchFilesの値まで検索結果データが存在するとして、その値以降に今回の検索結果を格納していく。
        検索結果格納ワーク領域を拡大確保しながら、検索結果を格納していくため、必要が無くなった時点で、DIR_FreeSchFiles関数を呼び出して、メモリ領域から解放する必要がある。
        格納数の合計は、pSchWork->numSchFilesに設定される。

        検索結果格納ワークに格納されるサブディレクトリ名の形式は、下記のとおり。
         [..]  =>親ディレクトリを表わす。
         [TEST\] =>サブディレクトリ名を表わす。'\'が必要。

        /* 検索結果格納ワーク */
        typedef struct {
          UCHAR fileName[DFNAME_LEN]; /* 検索結果ファイル名 */
        } SCHFILE;
        typedef struct {
          SCHFILE *schFiles;   /* 検索結果ファイルリスト */
          USHORT numSchFiles;  /* 検索結果ファイル数 */
        } SCHWORK;
    ====================================
    形 式:USHORT DIRs_SearchSubDirLists(UCHAR *topDir, DIRLISTWORK *pDirListWork)
    引 数:topDir    検索対象トップディレクトリ
        pDirListWork ディレクトリ情報ワーク(返答用)
    戻り値:ディレクトリ情報ワークへの格納数(合計)

    概 要:引数topDirで指定されるディレクトリ以降すべてのディレクトリを、ディレクトリ関連APIを使用して検索し、引数pDirListWorkで示されるディレクトリ情報ワークに格納して返す。
        ディレクトリ情報ワーク領域を拡大確保しながら、ディレクトリ情報を格納していくため、必要が無くなった時点で、DIR_FreeDirLists関数を呼び出して、メモリ領域から解放する必要がある。

        /* ディレクトリ情報検索結果格納ワーク */
        typedef struct {
          UCHAR dirName[LONG_DFNAME_LEN]; /* ディレクトリ名 */
          UCHAR comment[80]; /* コメント */
        } DIRLIST;
        typedef struct {
          DIRLIST *dirLists;
          USHORT numDirLists;
        } DIRLISTWORK;
    ====================================
◆使用方法
  1. libDirUtil.aをSZABインストールディレクトリの下の lib ディレクトリにコピーする。
  2. DirUtil.hをSZABインストールディレクトリの libheader/c ディレクトリにコピーする。
    あるいは、各プロジェクトのディレクトリの csrc ディレクトリの下にコピーする。
  3. SZAB統合開発環境のリンカオプション LKFLAGS2 に -lDirUtil を追加する。
◆制限事項
◆著作権・転載条件など
  • 本ライブラリは、制限なしで使用可能です。自由に使用してください。
    但し、本ライブラリを使用して生じるあらゆる障害に対して、一切責任を負いません。

ディレクトリユーティリティライブラリについて
ダウンロード  仕様  使用方法
制限事項  著作権・転載条件など

MOREソフト