Not Defteri'nde herhangi bir Dosya Açabilirsiniz ve içerdeki ham verileri gösterecektir.Notta herhangi bir Dosya Aç?
Bunu bir TMemo'da yapmak istiyorum, ancak bunu nasıl yapacağınızı öğrenmek için uğraştım.
ben onu işleve modifiye bu code here.bulmayı başardılar ve biraz benim amaçlar için değiştirdi:
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;
O çalışır, ancak satır başına karakter sabit miktarda sadece görüntüler böyle: Ben aynı wa tüm notu doldurur böylece değiştirmem gerekiyor ne
y Not Defteri?
, David teşekkür harika That. Çeşitli çözümler ararken bazı yorumları okuyordum ve bazıları BlockRead'in kullanımından bahsediyordu. Açtığım dosyalar nispeten küçük, ama yine de bunu dikkate almalı mıyım, yoksa cevabınız buna ihtiyaç duymuyor mu çünkü Stream’den okunıyormuş gibi görünüyor? –
Her zaman eski stil pascal io –
yerine bir akım kullanırdım. Eh, eski stil Pascal kullanmadım, hala modern Delphi'yi öğreniyorum :) Okumaya çalıştığım makaleler/parçacıklar muhtemelen bunu açıklayabilecek eskimişti. Çözümünüz gerçekten düzenli ve verimli, kolay görünmesini sağlıyorsunuz. Çok teşekkür ederim :) –