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