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

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

Как разбить файл на части, а потом его собрать? [D7, WinXP]


Страницы:   1 2

Генри ©   (2005-02-24 22:42:00) 

Здравствуйте!
У меня вопрос - как разбить файл на части, а потом его собрать? Спасибо!


Palladin   (2005-02-25 01:02:00) [1]

http://www.delphikingdom.com/lyceum/seminar.asp?partID=4
на всякий случай...


Генри   (2005-02-25 00:48:00) [2]

Угу, сообразил.


Palladin   (2005-02-25 00:46:00) [3]


> [17] iskatel ©   (25.02.05 00:42)

Чушь советовать не стоит...


> [16] Генри ©   (25.02.05 00:35)

TextFile не есть File... Совсем не есть...
Читай справку о различиях...


Генри   (2005-02-25 00:45:00) [4]

2 iskatel
всё равно не прёт..-(


iskatel   (2005-02-25 00:42:00) [5]

^ поставь...


Генри   (2005-02-25 00:35:00) [6]

Сейчас состряпал:

var
f:TextFile;
Ch:char;
Buf:Array [1..10] of Char;
begin
if OpenDialog1.Execute then
AssignFile(f,OpenDialog1.FileName);
Reset(f);
BlockRead(f,Buf,10);
CloseFile(f);
end;
end.
Почему  в этой строке выдаёт ошибку BlockRead(f,Buf,10) ???


Palladin   (2005-02-25 00:16:00) [7]

:)
Называеться найди ошибку...


Генри   (2005-02-25 00:10:00) [8]

Всем большое спасибо за помощь!


Palladin   (2005-02-25 00:06:00) [9]


> [10] Генри ©   (24.02.05 23:56)

Есть, но они гораздо более сложны в реализации нежели чем предложенный.

Пример так пример. Надеюсь он чему нибудь да научит.

Procedure SplitFile(Const S:String;p_nPartSize:Integer);
Var
F,R:File;
Buf:Pointer;
i,nReaded:Integer;
Begin
i:=1;
GetMem(Buf,p_nPartSize);
AssignFile(F,S); Reset(F,1);
Whilte True Do
 Begin
  BlockRead(F,Buf^,p_nPartSize,nReaded);
  If nReaded=0 Then Break;
  AssignFile(R,S+'.Part.'+IntToStr(i)); Rewrite(R);
  BlockWrite(R,Buf^,nReaded);
  CloseFile(R);
 End;
CloseFile(F);
End;


Генри   (2005-02-25 00:04:00) [10]

2 Eraser
изучать Delphi только начал, книжками ещё не обзавёлся -(


Eraser   (2005-02-25 00:00:00) [11]

Генри ©

А справку или вообще хоть что-нибудь читать пробовал.
BlockRead подробно описан даже в книжках по Turbo Pascal для школьников.


Генри   (2005-02-24 23:56:00) [12]

2 Palladin
Наверное алгоритмов решения больше нет (ИМХО).
2 Eraser
Главное простота в реализации.

Если не затруднит, можно маленький пример решения подобной задачи?


Eraser   (2005-02-24 23:52:00) [13]

Eraser ©

Чем предыдущие два не устраивают? Какие к "методам" ты предъявляешь требования?


Palladin   (2005-02-24 23:52:00) [14]

А какие еще есть алгоритмы решения этой задачи?


Генри   (2005-02-24 23:51:00) [15]

А какие есть ещё методы решения этой задачи?


Eraser   (2005-02-24 23:46:00) [16]

Генри ©

Или можешь использовать класс TFileStream.


Palladin   (2005-02-24 23:45:00) [17]

BlockRead


Генри   (2005-02-24 23:43:00) [18]

Пожалуйста, подскажите как считывать H байтов из файла??
с помощью какой функции??


Генри   (2005-02-24 23:41:00) [19]

2 Eraser
на равные по размеру.


Eraser   (2005-02-24 23:20:00) [20]

Генри ©

На какие части?


Страницы:   1 2

Наверх

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