掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
メモリ操作について (ID:8986)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
メモリにこだわるなら TMemoryStream をつかってこんな感じ procedure TForm1.Button1Click(Sender: TObject); var s:string; ms:TMemoryStream; begin s := '20040515,あいうえお,かきくけこ,さしすせそ'+#13#10+ '20040516,たちつてと,なにぬねの,はひふへほ'; ms := TMemoryStream.Create; try ms.SetSize(Length(s)+1);// 末尾#0も書き込む ms.WriteBuffer(s[1],Length(s)+1); ms.SaveToFile('c:\Test.dat'); Memo1.Lines.LoadFromFile('c:\Test.dat'); finally ms.Free; end; end; procedure TForm1.Button2Click(Sender: TObject); var s,ss:string; ms:TMemoryStream; i:integer; begin s := '20040516,アイウエオ,カキクケコ,サシスセソ'; ss := '20040516'; ms := TMemoryStream.Create; try ms.LoadFromFile('c:\Test.dat'); for i := 0 to ms.Size-Length(ss)+1 do if CompareMem(pointer(integer(ms.Memory)+i),PChar(ss),Length(ss)) then begin ms.Position := i; ms.WriteBuffer(s[1],Length(s)); ms.SaveToFile('c:\Test.dat'); end; Memo1.Lines.LoadFromFile('c:\Test.dat'); finally ms.Free; end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.