Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: _тормозит_редактор_ Добавлено: 11.05.04 19:40  

Автор вопроса:  __Сергей__

_тормозит_редактор_

написал себе редактор, вроде как работает, но если файл более 100 кБ тормозит.

может кто поделится тонкостя'ми.

Ответить

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

Номер ответа: 1
Автор ответа:
 Иван



Администратор

ICQ: 147688925 

Вопросов: 24
Ответов: 708
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 11.05.04 21:54
Когда тормозит? При загрузке файла?

Ответить

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



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #2
Добавлено: 11.05.04 22:18

а ты небось его грузишь целиком.. что не есть хорошо ... расчитать скрол можно и по размеру файла.... и лучше всего грузить "джанками" кусками по русски... например по 10-32 кб... за раз ... и когда ты продвигаешь вниз скрол то просто так же двигатся по файлу и читать.... всего лишь не достающую часть таким образом... ты сможешь открыть хоть 1Гиг файл и тормозов не будет.

Ответить

Номер ответа: 3
Автор ответа:
 __Сергей__



Вопросов: 7
Ответов: 23
 Профиль | | #3 Добавлено: 11.05.04 22:36

да тормозит при работе.

когда пытаюсь открыть файл более 500 кб вообще вылетает в run time.

- а про кусочки файла, как хранить изменённый текст?

- брать новый файл и туда исходный строить?

- ладно, как скрол расчитать растолкуйте!

Ответить

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


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #4
Добавлено: 12.05.04 01:23

Измененный текст при открытии очень больших файлов обычно хранят в очень разреженных массивах, т.е. сохраняются изменения, а не байты.

Скролл рассчитывается исходя из того, включен ли word-wrap или нет. Если да, то это непросто :), если нет - длину полагают равной числу vbCrLf'ов.

Ответить

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



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #5
Добавлено: 12.05.04 08:11

да ... Шарп прав изменения можно хранить в масиве но чтоб память не жрать .. организовать темп файлик куда с оффсетом писать ... изменения ... и усё +) можно скролинг и по размеру расчитать если за раз в твоём окошке помешается 17КБ тексту то .. соотсвенно делишь всё на 17 +) и получаешь .... число для скролинга единтсвенно что про остаток не забудь +)

Ответить

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



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #6
Добавлено: 12.05.04 08:11

и вообще читать лучше всё не лайнами а байтами +) не проще но лучше +)

Ответить

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



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #7 Добавлено: 12.05.04 08:57

Такой вопрос - ты 100 кБ случаем не в стандартный TextBox грузишь?

Ответить

Номер ответа: 8
Автор ответа:
 Fallout



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #8
Добавлено: 12.05.04 09:17

Наверняка именно туда так что и говорят по кускам.. да и влюбом другом случаи надо всегда по кускам... так как грузить в память весь файл это жирно слишком

Ответить

Номер ответа: 9
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #9 Добавлено: 12.05.04 10:34

Я как тему прочитал - так в ступор и впал...

...тормозит главный редактор... $-)))

Попробуй перейти на RTB.

Ответить

Номер ответа: 10
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #10
Добавлено: 12.05.04 19:01

> можно скролинг и по размеру расчитать если за раз в твоём окошке помешается 17КБ тексту то .. соотсвенно делишь всё на 17 +) и получаешь ....

Не пойдет. Представь себе эти 17 килобайт, оформленные в виде одного символа и энтера, получицца около 5 тысяч строк, если, скажем, в одной строке помещается 100 символов (и 170 строк), ты будешь думать, что у тебя 170 строк, а на самом деле 5000. Поэтому нужно перебирать все байты, инкрементируя счетчик, если счетчик равен ширине строки, инкрементировать число строк, обнулить счетчик, если байты - vbCrLf, тоже самое.

Ответить

Номер ответа: 11
Автор ответа:
 __Сергей__



Вопросов: 7
Ответов: 23
 Профиль | | #11 Добавлено: 12.05.04 20:58

Всем спасибо за ответы.

А главного редактора я обидеть не хотел.

Вообщем-то я и начал, видя тормоза, совать части файла в темп-файл.

А вот как сохранять в темп только измененный или созданный текст, что-то не въеду.

Ответить

Страница: 1 |

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



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