В блокноте вы можете открыть любой файл, и он будет отображать необработанные данные внутри.
Я хотел бы сделать это в TMemo, но изо всех сил пытался выяснить, как это сделать.
Мне удалось найти этот код здесь.
Я изменил его в функцию и немного изменил для моих целей:
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;
Это работает, но это толькоотображается в фиксированном количестве символов в строке, например:
Что мне нужно изменить, чтобы он заполнял все заметки так же, как Блокнот?