En el Bloc de notas puede abrir cualquier archivo y se mostrarán los datos sin procesar dentro.¿Abrir cualquier archivo en una nota?
Me gustaría hacer esto en un TMemo pero he tenido problemas para descubrir cómo hacerlo.
he conseguido encontrar este code here.
he modificado a una función y cambió ligeramente para mis propósitos:
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;
Funciona, pero sólo se muestra en una cantidad fija de caracteres por línea , de esta manera:
¿Qué necesito para cambiar de modo que llene toda la nota en la misma wa y el Bloc de notas lo haría?
Eso es grande gracias David. Estaba leyendo algunos comentarios mientras buscaba varias soluciones y algunos mencionaron el uso de BlockRead. Los archivos que estoy abriendo son relativamente pequeños, pero ¿debo considerarlos de todos modos, o su respuesta no lo requiere porque parece que se lee a través de Stream? –
Siempre usaría una secuencia en lugar de pascal viejo estilo –
Bueno, nunca he usado Pascal de estilo antiguo, todavía estoy aprendiendo Delphi moderno :) Los artículos/fragmentos que estaba leyendo probablemente fueron obsoletos y podrían explicar eso. Su solución es realmente ordenada y eficiente, la hace parecer fácil. Muchas gracias :) –