Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];

Вниз

Кааим образом можно быстро работать с байтовой структурой файлов?   Найти похожие ветки 

 
Pasechnik   (2002-12-22 11:08) [0]

TFileStream показывает удивительно низкие результаты в скрости, требуется произвести xor для каждого байта файла, как сделать это быстрее?


 
Anatoly Podgoretsky   (2002-12-22 11:20) [1]

Что же ты такого сделал с TFileStream, что ты так на него обижен, дело конечно не в нем.
Код давай.


 
Pasechnik   (2002-12-22 12:29) [2]

Примерно так...



procedure TForm1.Button2Click(Sender: TObject);
var
st:integer;
begin
for st:=0 to fsize-1 do //fsize - размер файла
begin
f.Seek(st,sofrombeginning);
f.read(bt,1);
bt:=bt xor strtoint(edit1.text);
f.Seek(st,sofrombeginning);
f.Write(bt,1);
application.ProcessMessages;
progressbar1.Position:=st;

end;
f.free;
progressbar1.Position:=0;
end;


...тормоза жуткие


 
Rooman   (2002-12-22 12:38) [3]

либо читай в буфер (несколько сот байт), либо пользуй FileMapping


 
Rouse_   (2002-12-22 12:56) [4]

в дополнение progressbar1.Position:=st; убрать, он сильно тормозит данный цикл

Желаю успехов


 
Anatoly Podgoretsky   (2002-12-22 13:07) [5]

Что же ты хочел при побайтовой работе, или обрабатывая весь файл целикоа или хотя бы поблочно, скажем за раз 64к


 
Fantasist   (2002-12-24 02:08) [6]

А еще, пожалуй, будет быстрее читать из одного файла, а писать в другой. Не поручусь, но думается так.


 
Юрий Зотов   (2002-12-24 06:13) [7]

Думаю, намного быстрее будет делать то же самое в TMemoryStream и обрабатывать по 4 байта, а не по одному. И не использовать seek/read с seek/write, а двигаться по памяти, используя Memory, указатель и его инкремент.

Учитывая, что у TMemoryStream него есть готовые LoadFromFile/SaveToFile, код практически не усложняется.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
8-15179
Ascan_
2002-09-18 14:30
2003.01.06
Как не зависеть от кол. цветов Descktop а ?


14-15265
Виктор000
2002-12-16 15:35
2003.01.06
работа с картами


6-15205
X-shadow
2002-11-07 05:47
2003.01.06
Отправка письма


14-15302
Карелин Артем
2002-12-17 16:39
2003.01.06
Кто продолжит список?


1-15091
FoxM
2002-12-22 14:11
2003.01.06
проблемы с кнопкой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский