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

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

Быстрая запись на винт [D1, D2, D3, D4, D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]


LAMA3OID ©   (2003-10-15 15:34:00) 

Нужно очень быстро записать большой файл на винт (несколько сот метров). Из извесных мне способов быстрее всего работает writeln :) (я пробовал 8 способов).
В факе на каком-то сайте я читал, что есть какой-то способ быстрой записи (было написанно про запись минуя оперативку или что-то в этом роде)
Может кто нибудь знает как это сделать ?


LAMA3OID   (2003-10-22 15:22:00) [1]

2 icebeerg: Пробовал.
2 dva: А как в эксэле и ацессе это делается ? И как при помощи
copy это сделать ?
2 _Narayan_: Давай хоть на "Си". Мыло - LAMA3OID@ukr.net


icebeerg   (2003-10-21 18:47:00) [2]

procedure BlockWrite(var f: File; var Buf; Count: Integer [; var
AmtTransferred: Integer]) тоже пробовал?


Wizard_Ex   (2003-10-21 16:27:00) [3]

to
> dva © (20.10.03 04:57) [8]


Интересно а что это за способ используемый в Excel и Access?


_Narayan_   (2003-10-21 15:28:00) [4]

у меня в книжке целая глава посвящена вопросу :
"Использование асинхронного ввода и вывода"

Есть примеры в электронном виде, но они на С++


dva   (2003-10-20 04:57:00) [5]

Нужно очень быстро записать большой файл на винт (несколько сот метров). Из извесных мне способов быстрее всего работает writeln :) (я пробовал 8 способов).

Неплохо было бы привести список из этих восьми способов, дабы не повторяться при ответах. Есть ли среди них способ, используемый в Excel и Access ? Команда copyтоже дает неплохие результаты - правильно тебе советуют.


LAMA3OID   (2003-10-16 16:47:00) [6]

2 Mystic: Это как ?

2 Reindeer Moss Eater:
Да, я как-то не подумал, что в оперативке и находится...
Просто так было написанно...

2 Игорь Шевченко: Что за copy ?

2 panov: Что это за GHost ?

2 Wizard_Ex: Спасибо ! Попробую...


Александр Спелицин   (2003-10-16 15:04:00) [7]

Если только для NT/2k/Xp, то через порты завершения ввода-вывода. Есть в примерах к MSDN.


panov   (2003-10-15 18:11:00) [8]

Norton GHost


Mystic   (2003-10-15 17:36:00) [9]

CreateFile с отключеной буферизацией...


Игорь Шевченко   (2003-10-15 16:54:00) [10]

Из известных способов быстрее всего работает команда copy


Wizard_Ex   (2003-10-15 16:07:00) [11]

Попробуй так, по крайней мере так быстрее чем сразу писать на диск, причем намного

MemoryStream := TMemoryStream.Create;
{чегото пишешь}
MemoryStream.Write...
{чегото пишешь}

FileStream := TFileStream.Create(AFileName, fmCreate);
FileStream.CopyFrom(MemoryStream, 0);
FileStream.Free;
MemoryStream.Free;


Reindeer Moss Eater   (2003-10-15 15:43:00) [12]

было написанно про запись минуя оперативку или что-то в этом роде

А где находится ТО, что ты хочешь записать в файл "минуя оперативку" ?


Наверх

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