テキストに文字列を書き込むには?
procedure TForm1.WriteTxt(Kakikomi: string);
var
TextOpen: TextFile;
NewFileName: string;
begin
NewFileName := ExtractFileName(Application.ExeName);
AssignFile(TextOpen, NewFileName);
Rewrite(TextOpen);
try
WriteLn(TextOpen, Kakikomi);
finally
CloseFile(TextOpen);
end;
end;
こういった形でテキストに文字列を書き込むには??
何をしたいのかイマイチ意味不明。
テキストって何??
私はこのようにしています。
ご参考まで。
procedure TForm1.WriteTxt(Kakikomi: string);
var
TextOpen: TextFile;
NewFileName: string;
begin
NewFileName := '\user.dat';
AssignFile( TextOpen, ExtractFileDir(ParamStr(0)) + NewFileName );
{$I-}
Rewrite(TextOpen);
{$I+}
case IOResult of
NO_ERROR:
begin
Writeln(F, Kakikomi);
end;
ERROR_FILE_NOT_FOUND:
begin
;
end;
else
begin
;
end;
end;
closeFile( TextOpen );
end;
一カ所修正ミスがありました。
procedure TForm1.WriteTxt(Kakikomi: string);
var
TextOpen: TextFile;
NewFileName: string;
begin
NewFileName := '\user.dat';
AssignFile( TextOpen, ExtractFileDir(ParamStr(0)) + NewFileName );
{$I-}
Rewrite(TextOpen);
{$I+}
case IOResult of
NO_ERROR:
begin
Writeln(TextOpen, Kakikomi); ← ここが間違っていました。
end;
ERROR_FILE_NOT_FOUND:
begin
;
end;
else
begin
;
end;
end;
closeFile( TextOpen );
end;
度々すいません。
ソースに記述ミスがあり、バグが存在しました。
procedure TForm1.WriteTxt(Kakikomi: string);
var
TextOpen: TextFile;
NewFileName: string;
begin
NewFileName := '\user.dat';
AssignFile( TextOpen, ExtractFileDir(ParamStr(0)) + NewFileName );
{$I-}
Rewrite(TextOpen);
{$I+}
case IOResult of
NO_ERROR:
begin
Writeln(F, Kakikomi);
closeFile( TextOpen ); ← ここに追加記述です。
end;
ERROR_FILE_NOT_FOUND:
begin
;
end;
else
begin
;
end;
end;
//closeFile( TextOpen );
// ↑ ファイルが存在しなかった場合に、
// 存在しないファイルをクローズしようとして
// エラーになりました。
// ごめんなさい。
end;
ありがとうございました。無事解決しました。
いまいち意味不明なことを書いていて申し訳ありませんでした。
TStringListを使った場合。
var
StringList1:TStringList;
NewFileName: string;
begin
StringList1 := TStringList.Create; //Create
try
NewFileName := 'ファイル名';
if FileExists(NewFileName) then //書き込むファイルがあった場合
StringList1.LoadFromFile(NewFileName); //元のファイルを読み込む
StringList1.Add(Kakikomi); //文字列を追加
StringList1.SaveToFile(NewFileName); //ファイルに書き出す
finally
Freeandnil(StringList1); //解放
end;
end;
ツイート | ![]() |