![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Скопировать фрагмент файла в новый файл [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