Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.08;
Скачать: CL | DM;

Вниз

Скопировать фрагмент файла в новый файл   Найти похожие ветки 

 
Crass   (2005-12-20 14:30) [0]

файл сложной структуры// ~ 80 кб

из него необходимо вырезать кусок в ~1 кб, зная два символа начала фрагмента и два конца// пусть это будет %# и $#
то что между ними в отдельный файл поместить.
вопрос у меня один- Как?
буду очень благодарен за ответ


 
Anatoly Podgoretsky ©   (2005-12-20 14:54) [1]

А что именно не понятно, поскольку здесь очень большое количество вопросов и это основы Паскаля/Дельфи


 
Digitman ©   (2005-12-20 14:54) [2]

- отбражаешь файл в память (MMF), получаешь указатель;
- имея указатель и размер образа ищешь первую сигнатуру (%#)
- при нахождении фиксируешь указатель на адрес (A1) , следующий за найденной сигнатурой (при ненахождении - выход)
- ищешь вторую сигнатуру (S#), при нахождении фиксируешь указатель на адрес (A2) минус 1 найденного адреса сигнатуры (при ненахождении - выход)
- в результирующий файл записываются данные, находящиеся по адресу А1 размером А2 - А1


 
Crass   (2005-12-21 10:42) [3]

{и это основы Паскаля/Дельфи} дык никогда не работал я с этим

Digitman  Это оно?
fs1 := TFileStream.Create(opendialog1.FileName, fmOpenReadWrite);
 fs1.Position := 0;
 k:=1;
 et:=#$F5+#05;
 fs1.Read(buf, 2);
 while k<2 do
 begin
 fs1.Seek(k, soFromCurrent);
 fs1.Read(buf, 2);
 inc(k);
 end  ;
 fs1.Free;
 label1.Caption:=inttostr(k);
тоКа у меня ошибка выскакивает походу выполнения, это поиск, если Вы видете где ошибка?


 
Leonid Troyanovsky ©   (2005-12-21 11:06) [4]


> Crass   (21.12.05 10:42) [3]

> {и это основы Паскаля/Дельфи} дык никогда не работал я с


Газеты.. тьфу, книги надо читать.

> Это оно?

http://groups.google.com/group/fido7.ru.delphi/msg/64b9f15bdadf6923

--
Regards, LVT.



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

Текущий архив: 2006.01.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
14-1134386643
Mike Kouzmine
2005-12-12 14:24
2006.01.08
Путин начинает рабочую неделю в Чечне.


14-1134418095
Knight
2005-12-12 23:08
2006.01.08
Кто знает, как перекрыть кислород?


2-1134908751
newhite
2005-12-18 15:25
2006.01.08
MainMenu


14-1134661370
Bogdan1024
2005-12-15 18:42
2006.01.08
Дуглас Коупленд "Рабы Майкрософта"


2-1134849713
Энди
2005-12-17 23:01
2006.01.08
Запуск приложений из программы