//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// fopen,fclose,fprintf,fgets 等を使用
char *FName;
char LoadLine[128];
AnsiString LoadText;
int len;
FILE *sfs, *lfs;
// 初期化
FName = "FILETEST1.TXT";
Memo1->Clear();
LoadText = "";
// テキストファイル書き込み
sfs = fopen( FName, "wt" );
if( sfs == (FILE *)0 ){
ShowMessage( "書き込み時のopen失敗" );
return; // オープン失敗
}
fprintf( sfs, "ABCあいう\n" );
fprintf( sfs, "DEFえおか\n" );
fprintf( sfs, "GHIきくけ\n" );
fclose( sfs );
// テキストファイル読み込み
lfs = fopen( FName, "rt" );
if( lfs == (FILE *)0 ){
ShowMessage( "読み込み時のopen失敗" );
return; // オープン失敗
}
while( feof( lfs ) == 0 ){ // 終端に達するまでループ
memset( LoadLine, 0, sizeof( LoadLine ) );
fgets( LoadLine, 127, lfs );
len = strlen( LoadLine );
if( len > 0 ){
if( LoadLine[ len - 1 ] == '\xa' ){
// LF を CR,LF に変換
LoadLine[ len - 1 ] = '\xd';
LoadLine[ len - 0 ] = '\xa';
}
LoadText += LoadLine;
}
}
fclose( lfs );
// 結果表示
Memo1->Text = LoadText;
ShowMessage( "Save/Load完了" );
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
// TStringList(VCL)の使用例、簡潔に書けます(^^;
AnsiString FName;
TStringList *SaveText, *LoadText;
// 初期化
FName = "FILETEST2.TXT";
Memo1->Clear();
// テキストファイル書き込み
SaveText = new TStringList; // オブジェクトの生成
SaveText->Add( "ABCあいう" ); // 1行づつ文字列をセット
SaveText->Add( "DEFえおか" );
SaveText->Add( "GHIきくけ" );
SaveText->SaveToFile( FName ); // TStringListの内容を全て書き込む
delete SaveText; // オブジェクトの破棄
// テキストファイル読み込み
LoadText = new TStringList; // オブジェクトの生成
LoadText->LoadFromFile( FName ); // TStringListにファイルを全て読み込む
Memo1->Text = LoadText->Text; // Memo1に内容をコピー
delete LoadText; // オブジェクトの破棄
// 結果表示
ShowMessage( "Save/Load完了" );
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
// TMemo(VCL)のみの使用例、さらに簡潔です(^^;;;
AnsiString FName;
// 初期化
FName = "FILETEST3.TXT";
// テキストファイル書き込み
Memo1->Clear();
Memo1->Lines->Add( "ABCあいう" ); // 1行づつ文字列をセット
Memo1->Lines->Add( "DEFえおか" );
Memo1->Lines->Add( "GHIきくけ" );
Memo1->Lines->SaveToFile( FName ); // Memo1の内容を全て書き込む
// テキストファイル読み込み
Memo1->Clear();
Memo1->Lines->LoadFromFile( FName ); // ファイルを全てMemo1に読み込む
// 結果表示
ShowMessage( "Save/Load完了" );
}
//---------------------------------------------------------------------------
|