テキストに文字列を書き込むには?

解決


ここなな  2006-10-27 00:32:59  No: 23646  IP: 192.*.*.*

テキストに文字列を書き込むには?
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;
こういった形でテキストに文字列を書き込むには??

編集 削除
いみふめ  2006-10-27 00:53:37  No: 23647  IP: 192.*.*.*

何をしたいのかイマイチ意味不明。
テキストって何??

編集 削除
めるめる  2006-10-27 12:42:18  No: 23648  IP: 192.*.*.*

私はこのようにしています。
ご参考まで。

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;

編集 削除
めるめる  2006-10-27 12:45:18  No: 23649  IP: 192.*.*.*

一カ所修正ミスがありました。

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;

編集 削除
めるめる  2006-10-27 12:51:58  No: 23650  IP: 192.*.*.*

度々すいません。
ソースに記述ミスがあり、バグが存在しました。

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;

編集 削除
ここかな  2006-11-18 10:14:20  No: 23651  IP: 192.*.*.*

ありがとうございました。無事解決しました。
いまいち意味不明なことを書いていて申し訳ありませんでした。

編集 削除
HOta  2006-11-18 10:57:11  No: 23652  IP: 192.*.*.*

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;

編集 削除