喫茶XRAYトップページ

[スレッド全体
]

[13352] 型なしファイルでテキスト返信 削除
2020/5/14 (木) 11:14:42 Mr.XRAY
テキストを型なしファイルで扱う必要性については分かりませんが,
型なしファイルでテキストを扱う例です.
Char 型の文字配列の方が便利かも知れませんが,string 型のコードにしています.

procedure TForm1.Button1Click(Sender: TObject);
var
  LFilePath : string;
  LTextFile : File;
  LSrcText  : string;
  LDstText  : string;
  LSrcLen   : Integer;
  LWriteLen : Integer;
begin
  // このサンプルでは 000.txt はテキストファイルではない
  LFilePath := '000.txt';

  System.Assignfile(LTextFile, LFilePath);
  System.Rewrite(LTextFile);

  System.Assignfile(LTextFile, LFilePath);
  System.Rewrite(LTextFile);

  LSrcText := 'テスト文字列-BBB';
  LSrcLen := Length(LSrcText) * SizeOf(Char);
  System.BlockWrite(LTextFile, LSrcText[1], LSrcLen, LWriteLen);

  SetLength(LDstText, LWriteLen div SizeOf(Char));

  System.Reset(LTextFile, 1);
  System.BlockRead(LTextFile, LDstText[1], LWriteLen);
  ShowMessage(LDstText);

  System.CloseFile(LTextFile);
end;



[13353] テキストをバイナリ形式で保存返信 削除
2020/5/14 (木) 15:51:41 Mr.XRAY
> テキストを型なしファイルで扱う必要性については分かりませんが,

なるほど,バイナリ形式で保存したいわけでしたか.
そう言えば,テキストをバイナリ形式で保存したい,という質問がありました.
この方法があったんですね.
気付きませんでした.


> ゴメンナさい.EXE を終了するとファイルハンドルは解放されていますね.
> ファイルハンドルが有効なのはアプリ実行中だけのようです.


私ってホント性格悪いね.実感.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82