Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Код, работай быстрее..........

282
14 июля 2006 года
Bard
481 / / 26.02.2006
Помогите кто знает !
У меня такая проблема:
Открываеться бинарный файл (For Binary As 1), потом идет вот такой код:
 
Код:
Do
r = r + 1
Get #1, r, b
bb = 255 - b
Put #1, r, bb
DoEvents
Loop Until r = Lof(1)

Етот код работает стабильно, но очень медленно. Например, чтобы обработать таким кодом один трек, в среднем два, два с половиной мегубайта, уходит не мение трех минут. И при етом моя програ мотает целых 50% производительности, а код то совсем не сложный...

Может кто-то уже встречался с подобной проблемой - посоветуйте как тут быть. Буду очень благодарен.
17K
15 июля 2006 года
Lord207
8 / / 15.07.2006
прочитай весь файл в память, потом уже в памяти bb=255-b, и то что получилось сохраняй, опять же все сразу.
282
16 июля 2006 года
Bard
481 / / 26.02.2006
[QUOTE=Lord207]прочитай весь файл в память, потом уже в памяти bb=255-b, и то что получилось сохраняй, опять же все сразу.[/QUOTE]

А как мне из памяти читать байт? И как изменить нужный байт на содержимое переменной bb? И можна по подробнее: как сохранить все сразу из памяти.
17K
20 июля 2006 года
Lord207
8 / / 15.07.2006
[QUOTE=Bard]А как мне из памяти читать байт? И как изменить нужный байт на содержимое переменной bb? И можна по подробнее: как сохранить все сразу из памяти.[/QUOTE]

не так страшен черт, как его малютка © Фоменко

прочитали
Open sFilePath For Binary As l
sBuffer = Input(LOF(l), l)

изменили
For i = 1 To Len(sBuffer)
Mid(sBuffer, i, 1) = Chr(255 - Asc(Mid(sBuffer, i, 1)))
Next

сохранили
Put l, , sBuffer
282
21 июля 2006 года
Bard
481 / / 26.02.2006
Да, спасибо! Код действительно стал быстрее работать!
Только теперь возникла другая проблема: басик слишком медленно читает файл в память, при етом программа зависает на секунд десять, а потом продолжает работать. Может есть API которое грузит файл в память пусть и не бесстрее но без зависаний ?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог