研究開発

技術情報

ファイル入出力

Vectorworks SDKのクラスを使ったファイル入出力に関するプログラム情報を掲載しています。

    VCOMPtr fileID( 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)まで読み込んでくる。
・オープンしたファイルをクローズする。
・セットしたファイル情報をクリアする。

VCOMPtr fileID( 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をもとに書き込み用にファイルをオープンする。
・書き込みのエンコーディングをセットする。
・オープンしたファイルに文字列を書き込む。
・オープンしたファイルをクローズする。
・セットしたファイル情報をクリアする。

VCOMPtr fileID( IID_FileIdentifier );
err = fileIDr->Set( “ファイル名” );

fileID->ExistsOnDisk(bool_out);
if(bool_out)
{
    ファイルあり!
}
else
{
    ファイルなし!
}

fileIDr->Clear();

【説明】

・IFileIdentifierクラスを使いリードするファイルを指定する。
・ExistsOnDisk()でファイルの存在をチェックする。
 パラメータの「bool_out」がTRUEの時はファイルが存在、FALSEの時はファイルが存在しない。
・セットしたファイル情報をクリアする。

VCOMPtr fileID( 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】
VCOMPtr fileID( 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 ()でファイルを削除する。
 このほうが安全。
・セットしたファイル情報をクリアする。

SDKに関するお問い合わせ

SDKに関するお問合せは、以下からお問い合せください。

Vectorworks Japan 研究開発室

email:develop@vectorworks.co.jp