Jak odczytać wartość szesnastkową z jakiegoś pliku?
Wiem, od którego bajtu mam czytać i wiem, jaką ma długość.
I jak zapisać taką wartość?
Jak odczytać wartość szesnastkową z jakiegoś pliku?
Wiem, od którego bajtu mam czytać i wiem, jaką ma długość.
I jak zapisać taką wartość?
Czytasz bajty i wyświetlasz je w postaci szesnastkowej (to było juz nie raz)
Czytasz bajty i wyświetlasz je w postaci szesnastkowej (to było juz nie raz)
Możesz mi powiedzieć, jak to zrobić? Jakie funkcje i.t.d.? Szukałem w serwisie, ale nie mam stałki i nie szukałem dokładnie(poza tym jakoś ostatnio strasznie wolno chodzi)
Dżi, łoł, etc. Wiesz twoja ignorancja nie zna granic, ale dzieki temu zasłuzyłeś:
function hex(i:byte):string;
const h:array[0..15]of char='0123456789abcdef';
begin
result:=h[i shr 4]+h[i and 15];
end;
var
f:file;
bufor:array[1..rozmiar]of byte;
begin
assign(f,nazwapliku);
reset(f,1);
seek(f,pozycja);
readblock(f,bufor,rozmiar);
closefile(f)
end.
Czy resztę też trzeba zrobić za ciebie? Czy może chcesz jakiś gotowy edytor?
Czy resztę też trzeba zrobić za ciebie?
Jeszcze nie wiem, ale jak coś, to się zgłosze :)
Czy może chcesz jakiś gotowy edytor?
Mimo wszystko nie chodzi mi w ogóle o hexEdytor :)
Dzięki za pomoc
Sorry za poprzednią złosliwość. Jak również interpretację twojego motto. Wiesz, tu jest bug ;) , bo nie chciałem wyjśc na lamę.
Sorry za poprzednią złosliwość. Jak również interpretację twojego motto. Wiesz, tu jest bug ;) , bo nie chciałem wyjśc na lamę.
hehe, ok, zlokalizowałem Buga. Ale powiedz mi, dlaczego to nie chce działać na tablicach dynamicznych?
Na statycznych działa bez zarzutów, ale na dynamicznych ciągle wyskakuje Acces Violation.
Mam coś takiego:
setLength(bufor, dlugosc+2);
//...
for i:=0 to high(bufor)-2 do edit1.Text:=edit1.Text+hex(bufor[i]);
i ta pętla na statycznych działa, a na dynamicznych nie pokazuje się nic, tylko od razu Acces Violation (nawet, gdy zaczyna od i:=1)
Moze zmienna dlugosc ma wartosc nie ta co potrzeba. Dodaj watche i zobacz co tam sie dzieje.
Moze zmienna dlugosc ma wartosc nie ta co potrzeba. Dodaj watche i zobacz co tam sie dzieje.
Ja po prostu dodawałem showMessage...
Np:
showMessage('Wejście do pętli. I:= 'intToStr(i));
I niby wchodziło do tej pętli, ale błąd jest gdzieś z tą tablicą... I nie wiem, dlaczego na tablicy dynamicznej nie działa...
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.