メモ帳で任意のファイルを開くことができ、その中に生データが表示されます。メモ内の任意のファイルを開きますか?
私はTMemoでこれをやりたいのですが、これを行う方法を見つけるのに苦労しています。
私は機能にそれを修正し、私の目的のために、わずかにそれを変更し、このcode here.
を見つけることができた:
function OpenBinaryFile(var Data; Count: Cardinal): string;
var
Line: string[80];
i: Cardinal;
P: PAnsiChar;
nStr: string[4];
SL: TStringList;
const
posStart = 1;
binStart = 7;
ascStart = 57;
begin
P := @Data;
Line := '';
SL := TStringList.Create;
try
for i := 0 to Count - 1 do
begin
if (i mod 16) = 0 then
begin
if Length(Line) > 0 then
SL.Add(Trim(Line));
FillChar(Line, SizeOf(Line), ' ');
Line[0] := Chr(72);
end;
if P[i] >= ' ' then
Line[i mod 16 + ascStart] := P[i]
else
Line[i mod 16 + ascStart] := '.';
end;
SL.Add(Trim(Line));
Result := SL.Text;
finally
SL.Free;
end;
end;
それは動作しますが、それが唯一の行あたりの文字数の固定額で表示します、このような:私はそれが同じワシントン州のすべてのメモを満たすように変更する必要が何
yメモ帳は?
素晴らしいことだそれあなたのデビッドに感謝。私はさまざまな解決策を探している間にいくつかのコメントを読んでいて、BlockReadの使用について言及しています。私が開いているファイルは比較的小さいですが、とにかくそれを検討する必要がありますか、答えがストリームを介して読み込まれているように見えるため、答えは必要ありませんか? –
私はいつも古いスタイルのパスカルioではなくストリームを使用します –
まあ、私は古いスタイルのパスカルを使ったことがなく、現代のDelphiをまだ学んでいません:)私が読んでいた記事/スニペットは、あなたのソリューションは本当にきれいで効率的です。あなたは見た目が簡単です。ありがとうございます:) –