Nel Blocco note è possibile aprire qualsiasi file e visualizzerà i dati non elaborati all'interno.Apri un file in un memo?
Mi piacerebbe farlo in un TMemo ma ho faticato a scoprire come farlo.
sono riuscito a trovare questo code here.
ho modificato a una funzione e ha cambiato leggermente per i miei scopi:
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;
Funziona, ma viene visualizzata solo in un importo fisso di caratteri per riga , in questo modo:
di cosa ho bisogno di cambiare in modo da riempire tutto il promemoria nella stessa wa Il blocco note sarebbe?
che è grande grazie David. Stavo leggendo alcuni commenti mentre cercavo varie soluzioni e alcuni citano l'uso di BlockRead. I file che sto aprendo sono relativamente piccoli, ma devo considerarlo comunque, o la tua risposta non lo richiede perché sembra che sia letto attraverso il flusso? –
Userei sempre un flusso piuttosto che un vecchio pascal io –
Beh, non ho mai usato Pascal vecchio stile, sto ancora imparando il Delphi moderno :) Gli articoli/frammenti che stavo leggendo erano probabilmente obsoleti che potrebbero spiegarlo. La tua soluzione è veramente ordinata ed efficiente, lo fai sembrare facile. Grazie mille :) –