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

Вниз

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

 
Генри ©   (2005-02-24 22:42) [0]

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


 
Anatoly Podgoretsky ©   (2005-02-24 22:46) [1]

Открыть новый файл, записать Н байт, закрыть, открыть следующий файл, записать Н байт, закрыть, и так до конца входного файла.


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

Генри ©

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


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

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


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

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


 
Palladin ©   (2005-02-24 23:45) [5]

BlockRead


 
Eraser ©   (2005-02-24 23:46) [6]

Генри ©

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


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

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


 
Palladin ©   (2005-02-24 23:52) [8]

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


 
Eraser ©   (2005-02-24 23:52) [9]

Eraser ©

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


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

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

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


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

Генри ©

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


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

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


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


> [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:10) [14]

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


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

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


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

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

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) ???


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

^ поставь...


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

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


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


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

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


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

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


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

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


 
Palladin ©   (2005-02-25 01:02) [21]

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



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

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

Наверх




Память: 0.48 MB
Время: 0.041 c
8-1101346399
Ego
2004-11-25 04:33
2005.03.13
Анимированный рисунок


14-1108885148
__max__
2005-02-20 10:39
2005.03.13
Шифрование файлов в ф.с. NTFS


1-1109494266
Guitar
2005-02-27 11:51
2005.03.13
Цифровая фильтрация сглаживание в примерах Delphi


14-1109107780
olookin
2005-02-23 00:29
2005.03.13
Иван Панфилов - кто-нибудь слушал?


1-1109546756
KyRo
2005-02-28 02:25
2005.03.13
Директория программы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский