![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как прочитать и записать файл побайтно и при этом видеть ход! [D7, Win95/98, WinME, NT4, Win2k, WinXP]
V'ent © (2004-11-15 09:18:00)Ребята!!! Есть просьба.
Я пытаюсь написать программу, в которой я побайтно смог бы переписать файл при этом я хочу видеть ход переписывания с помощью компонента ProgressBar.
Что нужно мне использовать для этого?
Я примерно понимаю что нужно открыть файл, потом его читать по байтно, и аналогично записывать его!!!!
Fay (2004-11-15 16:38:00) [1]2 V'ent (15.11.04 15:08) [15]
А надо думать совсем 8)
V'ent (2004-11-15 15:08:00) [2]Значит так!
KADAN, Amoeba © <- Спасибочки, но к сожалению не подошло!
Fay © <- Я тоже так думаю, но не совсем!
NAlexey © <- А вот тебе огромное спасибо, очень хорошо работает, скорость то что надо, качество супер!!! :)
А вооще всем спасибо за помощь, все получилось. ;)
Fay (2004-11-15 13:52:00) [3]CreateFile, ReadFile, WriteFile. И будет щястье 8)
NAlexey (2004-11-15 13:51:00) [4]BlockRead, BlockWrite.
KADAN (2004-11-15 13:26:00) [5]SHFileOperation
Amoeba (2004-11-15 12:34:00) [6]Может это поможет?
http://www.delphikingdom.com/asp/viewitem.asp?UrlItem=/mastering/fileshellapi.htm
V'ent (2004-11-15 12:31:00) [7]Fay © -> CopyFileEx не на всякой винде пойдёт.
Ага, я уже понял это!
Да скорость жедает лучшего (если читать побайтово).
Ладно обьясню по проще!
Я програмно переписываю файл xxxxxx.xxx в другой каталог, мне нужно видеть ход переписывания с помощью BrogressBar -ра.
Побайтно получилось, но б&@ха скорость желает лучшего.
Вопрос: Есть ли какая то процедура или компонент с помощью которого я это дело могу отслеживать?
grig_p (2004-11-15 12:08:00) [8]> KilkennyCat © (15.11.04 11:43) [7]
Не припомню такого случая в своей практике. Всегда было БЫСТРЕЕ прочитать файл целиком, а затем обрабатывать его в памяти. Правда, если нужно сначала читать заголовок файла, а по результатам чтения делать вывод о том, нужно ли читать весь файл - тогда оптимально читать первый блок (опять таки целиком, а не побайтово). ;)
Fay (2004-11-15 11:48:00) [9]2 V'ent (15.11.04 11:23) [6]
CopyFileEx не на всякой винде пойдёт.
KilkennyCat (2004-11-15 11:43:00) [10]
> grig_p (15.11.04 10:43) [5]
а ежели еще серъезней подумать? может, все-таки есть ситуации, когда по-байтно - оптимально?
V'ent (2004-11-15 11:23:00) [11]Спасибо KilkennyCat © мне помогло, вспомнил наконец то, я уже давно книжки не читаю особенно "Программирование для начинающих" ее я читал лет так 6 назад если не больше, просто забыл.
grig_p соглачен с тобой, тогда подскажи более умный вариант!!!
И еще одно, я тута вспомнил что возможно это сделать с помощью CopyFileEx - могет у каво есть какие то соображения!
grig_p (2004-11-15 10:43:00) [12]побайтно читать неоптимально. это я серьезно.
Fay (2004-11-15 09:43:00) [13]1) Куда прислать?
2) Пример чего? Всего?
KilkennyCat (2004-11-15 09:43:00) [14]f_read, f_save : file of byte;
b : byte;
в таком варианте объявления, read(f_read, b) и write(f_save, b) всегда будут побайтово...
для работы с прогрессом нужно лишь узнать длину файла... filesize(f_read), если не ошибаюсь...
но перед этим стоит прочитать книжку типа "Программирование для начинающих"
V'ent (2004-11-15 09:38:00) [15]Ладно тогда как? Могешь прислать пример?
Fay (2004-11-15 09:23:00) [16]Я примерно понимаю, что ты примерно понимаешь правильно.
Так и сделай. Только не обязательно читать/писать именно "побайтно" 8)