Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786

Как добавить в список ListBox большое количество строк, чтобы это было быстро по времени?

27.09.2023, 11:31. Показов 7015. Ответов 125

Студворк — интернет-сервис помощи студентам
Всем привет! У меня есть листбокс List1 в VB6 и я пытаюсь добавить в этот список много строк, скажем 10 тысяч строк, но я хочу добавить их таким образом, чтобы они добавились быстро по времени, а не ждать целую секунду... Я этого делать не умею, поэтому помогите пожалуйста! Единственный лайфхак который я нашёл это сначала скрывать список а потом показывать так можно добавить в список много строк в 3 раза быстрее, но для 10 тысяч строк это всё равно занимает целых пол секунды времени...

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Option Explicit
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageW" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const LB_INITSTORAGE = &H1A8
Private Const LB_ADDSTRING = &H180
 
Private Sub Command1_Click()
    Dim i As Integer
    Dim tick As Long
    
    List1.Clear
    tick = GetTickCount
    
    For i = 0 To 10000
        List1.AddItem i
    Next
    Me.Caption = GetTickCount - tick ' 1311 ml
End Sub
 
Private Sub Command2_Click()
    Dim i As Integer
    Dim tick As Long
    
    List1.Clear
    tick = GetTickCount
    
    List1.Visible = False
    
    For i = 0 To 10000
        List1.AddItem i
    Next
    
    List1.Visible = True
    
    Me.Caption = GetTickCount - tick ' 468 ml
End Sub
 
 
Private Sub Command3_Click()
    Dim i As Integer
    Dim tick As Long
    Dim str As String
    Dim hwndList As Long
    
    str = "123"
    hwndList = List1.hwnd
    
    List1.Clear
    tick = GetTickCount
    
    'List1.Visible = False
    
    Debug.Print SendMessage(hwndList, LB_INITSTORAGE, 10001, CLng(LenB(str) * 10001))
    
    For i = 0 To 10000
        SendMessage hwndList, LB_ADDSTRING, 0, StrPtr(str)
    Next
    'List1.Visible = True
    
    Me.Caption = GetTickCount - tick ' 1310 ml
End Sub
Я начал читать в MSDN про сообщение LB_INITSTORAGE но у меня ничего не получилось почему-то всё равно строки в список добавляются очень медленно! Помогите плиз!

Добавлено через 24 минуты
Вопрос: почему не работает сообщение LB_INITSTORAGE?

Добавлено через 24 секунды
Скорость добавления в листбокс никак не изменилась!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.09.2023, 11:31
Ответы с готовыми решениями:

Как быстро создать список на большое количество элементов?
День добрый! Ищу информацию по такому вопросу. Например, в С++ объявить массив с сотней элементов можно простой строкой. string...

Максимально быстро записать большое количество строк SQLite
Приветствую всех. Думаю из заголовка понятно в чём вопрос как максимально эффективно и быстро записать в таблицу базы данных SQLite большое...

Как сделать так чтобы из продуктов можно было добавить в блюда и это списывалось все на кухне
Как сделать так чтобы из продуктов можно было добавить в блюда и это списывалось все на со склада

125
1402 / 860 / 93
Регистрация: 08.02.2017
Сообщений: 3,671
Записей в блоге: 2
29.09.2023, 18:31
Студворк — интернет-сервис помощи студентам
Я перепутал с mft
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
29.09.2023, 19:46
Цитата Сообщение от HackerVlad Посмотреть сообщение
Почему тогда Microsoft убрала ограничение в 32767 строк как это была в Win 9x?
Как написал Mikle Quits это ограничение 16 разрядных систем.
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
29.09.2023, 19:56
Цитата Сообщение от HackerVlad Посмотреть сообщение
Одно я знаю точно: я не собираюсь зависить от каких-то других OCX например для ListView
Вот программа на VB6 - юзается ListView (причем кастомный, с древовидным отображением и иконками файлов) - ни одного OCX в зависимостях нет.
1
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
29.09.2023, 23:27  [ТС]
The trick, да, можно, если взять контрол отсюда: https://www.vbforums.com/showt... n-controls) но там сидеть выковыривать несколько часов нужно код. я наверное для простого листобка попробую повыковыривать)

Добавлено через 13 минут
Для текстбокса помню сидел пол дня выковыривал, там у них куча зависимостей моделей и классов писали не ахти, ну оч много зависимостей и что самое печальное нет каждого контрола отдельно

Добавлено через 7 минут
Контролы эти хоть и очень хорошие, у иностранцев, но написаны они крайне неудобно, нет чтобы всё вшить в одни CTL-файл, так они с кучей зависимостей 500 разных модулей классов и TLB добавлять надо, крайне неудобно, часами выковыривать надо, а в результате ещё + 200 КБ exe будет весить...

Добавлено через 1 час 17 минут
Кстати ихний контрол ListBoxW1 имеет событие пользовательской отрисовки списка даже! И при этом не нужно даже использовать класс clsTrickListBox.cls. Это очень интересный контрол. Считай свой список - рисуй что хочешь + мгновенное добавление тысячами строк за счёт свойства ListBoxW1.Redraw запрета перерисовки элемента

Добавлено через 39 секунд
У них есть крутое событие вообще:
Visual Basic
1
Private Sub ListBoxW1_ItemDraw(ByVal Item As Long, ByVal ItemAction As Long, ByVal ItemState As Long, ByVal hDC As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long)
Добавлено через 31 секунду
Такое же, как и если использовать clsTrickListBox получается...

Добавлено через 1 час 6 минут
Цитата Сообщение от The trick Посмотреть сообщение
это ограничение 16 разрядных систем
Windows 98 это 32-битная система.
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
30.09.2023, 00:06
Цитата Сообщение от HackerVlad Посмотреть сообщение
Windows 98 это 32-битная система.
Ну а WIN7 64 битная, это не значит что все 32 битные программы сразу стали поддерживать 64 битные фичи.

По теме, у меня кстати есть идея как можно загрузить в список из массива напрямую.
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
30.09.2023, 00:13  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
По теме, у меня кстати есть идея как можно загрузить в список из массива напрямую.
Это было бы очень интересно конечно. В vb.net и в VBA же можно напрямую из массива загружать. Но я уже, поковырялся несколько часов, и всё-таки выковырил контрол у иностранцев. Правда у них загружается 10 тысяч строк за 100 млск. А в моём предыдущем примере на чистом API было 30 млск. В архиве контрол ListBoxW1
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
30.09.2023, 00:48  [ТС]
Вот!
Вложения
Тип файла: zip ListBoxW.zip (127.0 Кб, 4 просмотров)
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
30.09.2023, 00:56  [ТС]
А вот тут в три раза быстрее. 31 миллисекунда на 10000 позиций. А вот в ListBoxW1 там 100 млск.
Вложения
Тип файла: zip 10000 строк мгновенно (2).zip (5.1 Кб, 10 просмотров)
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
30.09.2023, 17:52
Цитата Сообщение от The trick Посмотреть сообщение
Вот программа на VB6 - юзается ListView
Ты контрол писал?

Тоже вот думаю, заменить у себя в проге все контролы на юникодные от Krool. Только дилема, либо заюзать ocx, отказавшись от stand-alone exe, либо воткнуть в exe и заиметь проблемы с вылетами по нажатию Stop.

HackerVlad, полезная тема. Как раз переписывал редактор hosts файла, а там рандомно может попастся хоть 10000 записей в ListBox. И вот думаю, либо последовать совету и выводить список чанками, тогда придётся втыкать доп. контролы перелистывания порций данных, либо какой-то хак ускоренной загрузки прикрутить, либо замена ListBox.
В C# для этого есть интересная штука - виртуальный режим: подгружает в список элементы по требованию, по мере прокрутки.
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
30.09.2023, 17:56  [ТС]
Цитата Сообщение от Dragokas Посмотреть сообщение
полезная тема
ну так ставь лайки тогда, The Trick возможно придумает как взломать ListBox и напрямую через CopyMemrory записать массив строк, ну а пока у меня итак неплохой результат по скорости, как видишь.
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
30.09.2023, 18:46
Цитата Сообщение от Dragokas Посмотреть сообщение
Ты контрол писал?
Да, на основе стандартного ListView с кастомной отрисовкой. В этом проекте там все списки кастомные, и кнопки там в списках есть в некоторых.

Цитата Сообщение от Dragokas Посмотреть сообщение
либо замена ListBox.
Погодите немного, мб на днях если получится выложу версию где грузится быстро.

Цитата Сообщение от Dragokas Посмотреть сообщение
В C# для этого есть интересная штука - виртуальный режим: подгружает в список элементы по требованию, по мере прокрутки.
Вот виртуальный режим я тоже юзал в ListView для вывода лога. Юзер нажал отфильтровать записи и они мгновенно отобразились без передобавления.
1
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
30.09.2023, 21:13  [ТС]
Цитата Сообщение от Dragokas Посмотреть сообщение
заиметь проблемы с вылетами по нажатию Stop
от Krool я пока выковырял и использовал только TextBoxW и ListBoxW но там никаких проблем со стопом я не заметил пока

Добавлено через 1 минуту
Dragokas, даже с кодом выхода "End" нету проблем, убедись сам! Как добавить в список ListBox большое количество строк, чтобы это было быстро по времени?
0
30.09.2023, 22:44

Не по теме:

HackerVlad, ну там краш из-за сабклассинга. Конкретно, я проверял на ListView. Убирать хук, получив сообщения WM_NCDESTROY, WM_UAHDESTROYWINDOW пробовал, но не спасает. Там ещё не такой простой колбек.
Да и ладно, тема у тебя не об этом.

0
30.09.2023, 23:07

Не по теме:

Цитата Сообщение от Dragokas Посмотреть сообщение
Убирать хук, получив сообщения WM_NCDESTROY, WM_UAHDESTROYWINDOW пробовал, но не спасает.
Это все бесполезно. Хук нужно убирать в момент остановки отладки. Это можно сделать ассемблерной вставкой, а для гарантированного вызова создать COM объект в деструкторе которого вызывать его. Можно даже без асма, но код должен быть скомпилирован.

0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
01.10.2023, 09:51  [ТС]
Dragokas, The trick, зачем вы скрыли свои рейтинги? чтобы другие не завидовали?))))

Добавлено через 2 минуты
Цитата Сообщение от The trick Посмотреть сообщение
Это можно сделать ассемблерной вставкой
А не проще ли переходить на SetWindowSubClass который не вешается?

Добавлено через 2 минуты
Цитата Сообщение от Dragokas Посмотреть сообщение
Конкретно, я проверял на ListView.
Я вообще не понимаю, с чего ты взял, что вешается ListView я только что проверил всё останавливается спокойно без проблем

Добавлено через 34 секунды
Dragokas, ты скачал новую версию сентябрьскую с гитхаба? там пару недель назад обновление было

Добавлено через 8 минут
Цитата Сообщение от Dragokas Посмотреть сообщение
ну там краш из-за сабклассинга.
Лично у меня никаких вылетов и никаких проблем, наверное потому что я пользуюсь самыми последними обновлениями от Krool
1
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
01.10.2023, 09:56  [ТС]
Dragokas, специально для тебя: смотри сам, останавливай сколько хочешь раз по кнопке Стоп и хоть через кнопку с кодом End
Вложения
Тип файла: zip ListView.zip (115.2 Кб, 7 просмотров)
1
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
01.10.2023, 10:30  [ТС]
Вот здесь по этой ссылке лежат все выдранные контролы: https://www.vbforums.com/showt... Twosie-use
Эх, знал бы не выдирал бы сам по три часа...

Добавлено через 5 минут
Кстати там 10 тысяч строк в ListView добавляется целую секунду, я проверил

Добавлено через 28 секунд
Хотя там есть свойство Redraw

Добавлено через 18 минут
234 млск с отключением через ListView1.Redraw = False

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Option Explicit
Private Declare Function GetTickCount Lib "kernel32" () As Long
 
Private Sub Command1_Click()
    End
End Sub
 
Private Sub Form_Load()
    Dim i As Long
    Dim tick As Long
    
    ListView1.View = LvwViewReport
    ListView1.FullRowSelect = True
    ListView1.GridLines = True
    ListView1.HideColumnHeaders = True
    
    
    ListView1.ColumnHeaders.Add
    ListView1.ColumnHeaders.Add
    ListView1.ColumnHeaders.Add
    ListView1.ColumnHeaders.Add
    
    
    ListView1.ListItems.Add , , ChrW$(1234) & " aaaaa"
        ListView1.ListItems(1).SubItems(1) = ChrW$(&H88E7) & " Sub1 aaaa"
        ListView1.ListItems(1).SubItems(2) = ChrW$(&H88E7) & " Sub2 aaaa"
        ListView1.ListItems(1).SubItems(3) = ChrW$(&H88E7) & " Sub3 aaaa"
 
    
    tick = GetTickCount
    ListView1.Redraw = False
    
    For i = 1 To 10000
    
    ListView1.ListItems.Add , , ChrW$(1234) & " bbbbb"
    
    Next
    
    ListView1.Redraw = True
    Me.Caption = GetTickCount - tick
End Sub
Добавлено через 1 минуту
Выходит, что обычный ListBox быстрее чем ListView

Добавлено через 3 минуты
Все новые обновления контролов скачиваем здесь: https://github.com/Kr00l/VBCCR... ion/Builds

Добавлено через 1 минуту
Krool до сих пор выпускает обновления и скорей всего сабклассинг он уже давно обновил, что теперь всё работает без вылетов в среде VB6
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
01.10.2023, 11:05
HackerVlad, спасибо, да, действительно не падает. Это радует. Я пользовался довольно старой версией.

Цитата Сообщение от HackerVlad Посмотреть сообщение
и скорей всего сабклассинг он уже давно обновил
не так чтобы давно, в прошлом году ещё падало.

Цитата Сообщение от HackerVlad Посмотреть сообщение
Эх, знал бы не выдирал бы сам по три часа...
Тебе не нужно тратить на это время, есть проект-автоматизатор: https://www.vbforums.com/showt... le-Utility
Там всё элементарно собирается. P.S. Зависимости лучше оставлять в подпапках, так проще в плане навигации.

Цитата Сообщение от The trick Посмотреть сообщение
Хук нужно убирать в момент остановки отладки. Это можно сделать ассемблерной вставкой, а для гарантированного вызова создать COM объект в деструкторе которого вызывать его. Можно даже без асма, но код должен быть скомпилирован.
Т.е. в отдельном потоке создать COM-объект?
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
01.10.2023, 12:20  [ТС]
Dragokas, контролы у него хорошие но много зависимостей в модулях, думаю как бы это всё сократить и повыбрасывать всё лишнее

Добавлено через 30 минут
Цитата Сообщение от Dragokas Посмотреть сообщение
есть проект-автоматизатор: https://www.vbforums.com/showt... le-Utility
Я скачал эту утилиту, но пока ничего не понял, плюс она не запускается и OCX файлов у меня нету

Добавлено через 2 минуты
Суть в другом, суть в том, что его контролы используют следующие модули:

1. ComCtlsBase.bas
2. Common.bas
3. VisualStyles.bas
4. VTableHandle.bas
5. ISubclass.cls

Что занимает целых 153 КБ кода, это очень много я считаю. И использование любого такого контрола влечёт за собой увелечение размера EXE на 150 КБ это очень много, я считаю.

Добавлено через 1 минуту
Если честно я порой думаю самому проще на API писать всё вручную только то, то мне нужно, управлять всеми свойствами через вызовы SendMessage. Будет гораздо меньше зависимостей и размер будет минимальный. Вообще даже без контрола можно. А просто чисто кодом начиная с CreateWindowExW

Добавлено через 11 минут
Это охрененно много 150 КБ за собой тягать лишнего мусора, неужели Krool этого не понимает...

Добавлено через 13 минут
А и ещё плюс может быть проблема пересекающихся функций. Например в Common.bas уже написана функция AppPath а я люблю использовать свою. Таким образом легко Ambiguous name detected схлопотать.

Добавлено через 56 секунд
Там хоть и очень хорошие функции написаны конечно, но я всё же люблю свои.

Добавлено через 11 минут
В дельфи кстати, например, IDE сам просчитывает все функции и переменные, которые никогда не используются в коде программы, при компиляции высвечивается сообщение Never used такая-то переменная или функция. Жаль, такого нету в VB6 так мне легче было бы выбрасывать всё лишнее и подчищать всякий мусор
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
01.10.2023, 12:51

Не по теме:

Цитата Сообщение от HackerVlad Посмотреть сообщение
Dragokas, The trick, зачем вы скрыли свои рейтинги? чтобы другие не завидовали?))))
Потому что для данной темы это оффтоп. Текст обернут в тег offtop



Кликните здесь для просмотра всего текста

Цитата Сообщение от HackerVlad Посмотреть сообщение
Я скачал эту утилиту, но пока ничего не понял, плюс она не запускается и OCX файлов у меня нету
Там идея немного в другом: он "отсоединяет" OCX зависимость от твоего проекта, перенося в него Std-exe версию VBCCR17 (только нужные файлы).
Иначе говоря, ты ведешь разработку своего проекта с подключенным OCX, а когда нужно собрать проект, юзаешь OCX2StdExe.exe, и он твой проект превращает в Stand-alone exe версию, копируя его в отдельную папку чисто для компиляции. В дальнейшем разработку проводишь все также с OCX зависимостью, что и безопасно в плане отладки, и удобно, т.к. не мешаются лишние файлы в дереве проекта.
Если разложить по пунктам, то делается это так:
1) делаешь regsvr32 VBCCR17.OCX
2) создаёшь свой проект, в Components добавляешь ссылку на VB Common Control's replacement
3) сохраняешь, выходишь
4) Запускаешь OCX2StdExe.exe, указываешь путь к твоему проекту
5) Жмешь Options (лучше проставить навверху все галочки)
6) Krool Base folder - вписываешь полный путь к папке \VBCCR\Standard EXE Version\ (исходники VBCCR17)
7) закрывваешь "Save Values & Exit" (это чтобы повторно не заполнять тоже самое)
8) снова запускаешь OCX2StdExe.exe, жмешь Compile w/o OCX
И на этом всё, проект соберется и скомпилируется как Stand-alone OCX.

Только не деле сейчас конкретно текущую версию VBCCR17 он не поддерживает. См.: report
Ждём обновления или фиксим сами.


Цитата Сообщение от HackerVlad Посмотреть сообщение
Это охрененно много 150 КБ за собой тягать лишнего мусора, неужели Krool этого не понимает...
Даже я не понимаю. А 1 КБ это много или мало? На сколько мощный тебе нужен сервер, чтобы 150 КБ не считалось мусором?
Времена Win98 и медленной памяти и дисков давно закончились. Ты же не прошивку под калькулятор пишешь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.10.2023, 12:51

Вывести файл на экран, чтобы в каждой строке было не больше 40 символов, и количество строк было минимальным
Дано файл f. Вывести этот файл на экран так что бы в каждой строчке было не больше, чем 40 символов и количество строк было минимальным.

Как исправить, чтобы количество столбцов и строк StringGrid было таким, как ввел пользователь
Подскажите, в чем дело, программа создает двумерный массив элементы которого вводят с клавиатуры, ввод осуществляется в stringGrid. При...

Как добавить значения с Листа в Listbox, если количество строк может меняться
Есть Лист с уже заданными значениями, но они могут изменяться (добавляться, удаляться). Нужно добавить этот столбец в Listbox. Помогите...

Как сделать так,чтобы количество строк и столбцов массива можно было менять через меню?
как сделать так,чтобы количество строк (n) и столбцов(m) массива можно было менять через меню? весь код #include...

Поиск минимального времени выполнения теста, чтобы количество набранных баллов было максимальным
Здравствуйте! Подскажите пожалуйста, в чем ошиблась у меня массив Examen структур с данными о номере Nomer. Для каждого номера дано время...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru