Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Тормозня при Open File for Binary Добавлено: 06.11.04 10:36  

Автор вопроса:  magish
При открытии большого файла через Open "PATH" for Binary as #1 начинается тормозня. Есть ли API функция или ещё, что-нибудь чтобы небыло тормозов... Очень надо, заранее спасибо...

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #1 Добавлено: 06.11.04 10:45
А ты открывай покусочно в том же бинари, а потом соединяй куски. Вот и все.

Ответить

Номер ответа: 2
Автор ответа:
 magish



Вопросов: 47
Ответов: 47
 Профиль | | #2 Добавлено: 06.11.04 11:10
Это как??? я пока так ещ не умею... Подскажите пожалуйста...

Ответить

Номер ответа: 3
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #3 Добавлено: 06.11.04 12:47
открывай покусочно в том же бинари, а потом соединяй куски

Так будет ещё медленней

Есть CreateFileMapping\MapViewOfFile. Но это хорошо, если не надо одновременно работать со всем объемом файла.

И ещё:
1. Насколько велик файл?
2. Он нужен одновременно весь целиком или нужны определённые куски файла?

Ответить

Номер ответа: 4
Автор ответа:
 magish



Вопросов: 47
Ответов: 47
 Профиль | | #4 Добавлено: 06.11.04 13:00
1 - размер файла должен быть любой.
2 - я делаю программу, которая передаёт файлы на другой комп притом, что эту программу юзает не один пользователь, а несколько. Вот и получается, что когда один из Юзеров запрашивает большой файл моя програ виснет и в месте с ней все остальные юзеры. (юзер = пользователь). Так как мен быть подскажите???

Ответить

Номер ответа: 5
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #5 Добавлено: 06.11.04 17:14
Имхо, просто VB тут не помощник, надо пробовать с API. У меня к сожалению, только один комп, и поэкспериментировать не на чем :(

Так навскидку несколько моментов:
Если использовать CreateFile\ReadFile, весь файл будет загружен в память (ОЗУ) и потом уже будет проводится работа с ним.
Если использовать CreateFile\CreateFileMapping\MapViewOfFile, то файл в память загружаться не будет, только при перемещении по файлу будут считываться необходимые порции данных

Первый способ хорош для файлов маленькой и средней величины и при необходимости работать со всем файлом сразу
Второй способ лучше при работе с большими файлами и при работе с отдельными частями файла.

Пробуй :)

Ответить

Номер ответа: 6
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #6 Добавлено: 09.11.04 08:36
Да при открытии тормозни быть не должно. Я многометровые файлы открывал - никаких тормозов.
Кстати, Open "PATH" for Binary as #1 - не совсем корректно. Лучше примерно так
Dim hFile as Byte
hFile=FreeFile
Open "PATH" for Binary as hFile
От этого тоже могут быть проблемы.

Ответить

Номер ответа: 7
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #7
Добавлено: 09.11.04 10:22
Скорее всего это от недостатка памяти. А тормозня от записи в своп.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам