Форум: "Основная";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
ВнизКак записать в Buffer побайтно Найти похожие ветки
← →
Bizquit (2004-03-31 06:41) [0]Как записать в Buffer побайтно так, как это делает ф-я ReadFile из Kernel32.dll?
Собственно проблема вот в чем:
Нужно переопределить TStream.Read(var Buffer; Count: Longint): Longint; таким образом, чтобы при попытке считать Count байт из потока, внутри функции она читала по одному байту, XOR-ила его и записывала в буфер.
Наверно криво объяснил :( покажу на примере:
// TPWDFileStream потомок TFileStreamfunction TPWDFileStream.Read(var Buffer; Count: Integer): Longint;
var
i: integer;
b: byte;
begin
for i := 0 to count-1 do if inherited Read(b,1) = 1 then
begin
buffer[i] := b; //или что-то типа того
//и тд. и тп.
end;
end;
в общем надо последовательно заполнить буфер. Реально ли это?
← →
Fay © (2004-03-31 08:28) [1]A readfile чем не катит?
← →
Digitman © (2004-03-31 08:50) [2]function TPWDFileStream.Read(var Buffer; Count: Integer): Longint;
var
i: integer;
begin
Result := inherited Read(Buffer, Count);
for i := 0 to Result - 1 do
begin
Buffer[i] := Buffer[i] xor что-то;
end;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c