Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Очень долго загружается прога с MSFlexGrid, Очень долго загружается прога с MSFlexGr 
:(
    Опции темы
malge
Дата 25.3.2012, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 30.5.2010

Репутация: нет
Всего: нет



Смысл такой. Есть каталог с MSFlexGrid. Строк 10000 колонок 10. Загружается очень долго. 
Вся инфа у меня хранится в txt файле и загружается в грид через массив, т.е. сначала с ТХТ выружается в массив, потом в грид. На компах где мало оперативки зависает. В среднем загружается за 1 минуту, это много. Надо чтобы загрузка была не более 10 секунд.

Кто работает с гридом, подскажите как у вас решена загрузка в грид с файла?
PM MAIL   Вверх
Данкинг
Дата 25.3.2012, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(malge @  25.3.2012,  14:46 Найти цитируемый пост)
Кто работает с гридом, подскажите как у вас решена загрузка в грид с файла? 

У меня загрузка обычно решается заменой файла .txt на файл .mdb и тому подобные. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
malge
Дата 25.3.2012, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 30.5.2010

Репутация: нет
Всего: нет



Цитата(Данкинг @ 25.3.2012,  14:08)
Цитата(malge @  25.3.2012,  14:46 Найти цитируемый пост)
Кто работает с гридом, подскажите как у вас решена загрузка в грид с файла? 

У меня загрузка обычно решается заменой файла .txt на файл .mdb и тому подобные. smile

По подробнее можно, желательно кусок кода?
PM MAIL   Вверх
Данкинг
Дата 25.3.2012, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Кусок кода чего именно? Как из VB работать с БД? Поищи на форуме, обсуждалось неоднократно.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
malge
Дата 25.3.2012, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 30.5.2010

Репутация: нет
Всего: нет



Код

For cikl = 1 To chisloctrokbaziF - 2                         
q = arr(14)

qwerty = qwerty + 0
MSFlexGrid.TextArray(2 + (cikl * 9)) = arr(cikl + qwerty) '          arr - это массив с данными грида

imyafoto = "foto\" & arr(cikl + qwerty) & ".jpg"
proverka2 = arr(cikl + qwerty) & ".jpg"
proverka = Dir(imyafoto)
If proverka2 = proverka Then
kodrow = 1
MSFlexGrid.Col = 1
MSFlexGrid.Row = cikl
Set MSFlexGrid.CellPicture = LoadPicture(imyafoto, vbLPCustom, vbLPColor, 1, 1) ' загружаю фото в грид
kodrow = 0
Else
End If
qwerty = qwerty + 1
MSFlexGrid.TextArray(3 + (cikl * 9)) = arr(cikl + qwerty) 'Код
qwerty = qwerty + 1
MSFlexGrid.TextArray(4 + (cikl * 9)) = Abs(arr(cikl + qwerty)) 'Наименование
qwerty = qwerty + 2
If MSFlexGrid.TextArray(8 + (cikl * 9)) = "" Then
Else
summ = Abs(MSFlexGrid.TextArray(8 + (cikl * 9))) * Abs(MSFlexGrid.TextArray(4 + (cikl * 9)))
Summa.Caption = Abs(Summa.Caption) + Abs(summ)
End If
MSFlexGrid.TextArray(5 + (cikl * 9)) = Abs(arr(cikl + qwerty)) 'данные прочие
qwerty = qwerty + 1
MSFlexGrid.TextArray(6 + (cikl * 9)) = Abs(arr(cikl + qwerty)) 'данные прочие
qwerty = qwerty + 1
If Abs(arr(cikl + qwerty)) > 0 Then
MSFlexGrid.TextArray(7 + (cikl * 9)) = "V" 'Abs(arr(cikl + qwerty)) 'данные прочие
Else
End If

qwerty = qwerty + 2

MSFlexGrid.RowHeight(cikl) = 1000 ' Тут некоторые строки перекрашиваются и уменьшается высота строки в гриде
If Abs(arr(cikl + qwerty)) = 0 And Abs(arr(cikl + (qwerty - 1))) = 0 And Abs(arr(cikl + (qwerty - 2))) = 0 And Abs(arr(cikl + (qwerty - 3))) = 0 And Abs(arr(cikl + (qwerty - 4))) = 0 And Abs(arr(cikl + (qwerty - 6))) = 0 Then
    kodrow = 1
    MSFlexGrid.RowHeight(cikl) = 300 
    MSFlexGrid.Row = cikl
    MSFlexGrid.Col = 0
    MSFlexGrid.CellBackColor = 99000
    MSFlexGrid.Col = 1
    MSFlexGrid.CellBackColor = 99000
    MSFlexGrid.CellFontBold = True
    MSFlexGrid.Col = 2
    Poi = MSFlexGrid.Text
    MSFlexGrid.CellBackColor = 99000
    MSFlexGrid.CellForeColor = 16777215
    MSFlexGrid.CellFontBold = True
    MSFlexGrid.Col = 3
    MSFlexGrid.CellBackColor = 99000
    MSFlexGrid.CellForeColor = 16777215
    MSFlexGrid.Col = 4
    MSFlexGrid.CellBackColor = 99000
    MSFlexGrid.Col = 5
    MSFlexGrid.Text = ""
    MSFlexGrid.CellBackColor = 99000
    MSFlexGrid.Col = 6
    MSFlexGrid.Text = ""
    MSFlexGrid.CellBackColor = 99000
    MSFlexGrid.Col = 7
    MSFlexGrid.Text = ""
    MSFlexGrid.CellBackColor = 99000
    kodrow = 0
Else
    
    End If
qwerty = qwerty + 1
Zapusk.HScroll1.Max = chisloctrokbaziF ' ну а это скролл до запуска  формы
Zapusk.HScroll1.Value = Zapusk.HScroll1.Value + 1
Next




Вот на этот код при условии 10000 строк грида уходит до минуты загрузки. Может кто-то подскажет что тут модифицровать?

И ещё вопрос. Первая загрузка 1 минута. Если загрузить прогу второй раз не выключая комп сразу в половину меньше по времени. Я так понимаю в оперативке висят данные?

В общем как вылечить эту болезнь кто-нить в курсе?
PM MAIL   Вверх
malge
Дата 29.3.2012, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 30.5.2010

Репутация: нет
Всего: нет



Мозг вскипел, не могу найти.

Помогите плиз кодом, как работать с базой данных?

И какую БД лучше пользовать?
PM MAIL   Вверх
Данкинг
Дата 29.3.2012, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Поищи в Гугле по VB ADO. Для 10000 и Access подойдёт.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
malge
Дата 29.3.2012, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 30.5.2010

Репутация: нет
Всего: нет



Цитата(Данкинг @ 29.3.2012,  09:29)
Поищи в Гугле по VB ADO. Для 10000 и Access подойдёт.

не совсем, использование программы возможна на компах где нет офиса, возможны ошибки и проблемы
PM MAIL   Вверх
Данкинг
Дата 29.3.2012, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



ADO+.mdb установки "Офиса" не требует.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.