Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Скопировать фрагмент файла в новый файл [D4, D7, Win95/98, WinXP]


Crass ©   (2005-12-20 14:30:00) 

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

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


Leonid Troyanovsky   (2005-12-21 11:06:00) [1]


> Crass   (21.12.05 10:42) [3]

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


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

> Это оно?

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

--
Regards, LVT.


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

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

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);
тоКа у меня ошибка выскакивает походу выполнения, это поиск, если Вы видете где ошибка?


Anatoly Podgoretsky   (2005-12-20 14:54:00) [3]

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


Digitman   (2005-12-20 14:54:00) [4]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо