技術情報
ファイル入出力
Vectorworks SDKのクラスを使ったファイル入出力に関するプログラム情報を掲載しています。
VCOMPtrfileID( IID_FileIdentifier ); err = fileIDr->Set( “ファイル名” );
IStdFilePtr pStdFiler( IID_StdFile ); err = pStdFiler->OpenRead( fileIDr, false ); pStdFiler->ReadStringLine( readLine ); pStdFiler->Close(); fileIDr->Clear();
【説明】
・IFileIdentifierクラスを使いリードするファイルを指定する。
・IStdFileクラスを使いセットしたファイルのIDをもとにリード用にファイルをオープンする。
・オープンしたファイルから文字列を一行読み込む。
ReadStringLine()では改行コード(0x0A or 0x0D or 0x0A0D or 0x0D0)まで読み込んでくる。
・オープンしたファイルをクローズする。
・セットしたファイル情報をクリアする。
VCOMPtrfileID( IID_FileIdentifier ); err = fileIDr->Set( “ファイル名” ); IStdFilePtr pStdFiler( IID_StdFile ); result = aStdFile->OpenNewWrite( fileID ); result = aStdFile->SetDefaultNewLine(eLineEndType_Native); err = aStdFile ->WriteStringLine(“書き込みデータ”); pStdFiler->Close(); fileIDr->Clear();
【説明】
・IFileIdentifierクラスを使いリードするファイルを指定する。
・IStdFileクラスを使いセットしたファイルのIDをもとに書き込み用にファイルをオープンする。
・書き込みのエンコーディングをセットする。
・オープンしたファイルに文字列を書き込む。
・オープンしたファイルをクローズする。
・セットしたファイル情報をクリアする。
VCOMPtrfileID( IID_FileIdentifier ); err = fileIDr->Set( “ファイル名” ); fileID->ExistsOnDisk(bool_out); if(bool_out) { ファイルあり! } else { ファイルなし! } fileIDr->Clear();
【説明】
・IFileIdentifierクラスを使いリードするファイルを指定する。
・ExistsOnDisk()でファイルの存在をチェックする。
パラメータの「bool_out」がTRUEの時はファイルが存在、FALSEの時はファイルが存在しない。
・セットしたファイル情報をクリアする。
VCOMPtrfileID( IID_FileIdentifier ); err = fileIDr->Set( “ファイル名” ); VCOMPtr fileID_dst( IID_FileIdentifier ); fileID_dst->Set( dstFilePath ); fileIDr->DuplicateOnDisk(fileID_dst, bOverwrite); //true:上書き,false:ファイルがあったらコピーしない fileIDr->Clear();
【説明】
・IFileIdentifierクラスを使いコピー元のファイルを指定する。
・IFileIdentifierクラスを使いコピー先のファイルを指定する。
・DuplicateOnDisk ()でコピー元からコピー先へファイルをコピーする。
・セットしたファイル情報をクリアする。
【使用例その1】 VCOMPtrfileID( IID_FileIdentifier ); err = fileIDr->Set( “ファイル名” ); fileIDr->DeleteOnDisk(); fileIDr->Clear(); 【説明】 ・IFileIdentifierクラスを使い削除するファイルを指定する。 ・DeleteOnDisk ()でファイルを削除する。 ・セットしたファイル情報をクリアする。 【使用例その2】 VCOMPtr fileID( IID_FileIdentifier ); err = fileIDr->Set( “ファイル名” ); fileIDr->ExistsOnDisk(bool_out); if(bool_out) // File Exist { fileIDr->DeleteOnDisk(); } fileIDr->Clear();
【説明】
・IFileIdentifierクラスを使い削除するファイルを指定する。
・ExistsOnDisk ()でファイルが存在している場合のみDeleteOnDisk ()でファイルを削除する。
このほうが安全。
・セットしたファイル情報をクリアする。