Вверх ↑
Этот топик читают: Гость
Ответов: 1429
Рейтинг: 50
#1: 2011-09-23 19:55:11 ЛС | профиль | цитата
Подскажите, пожалуйста, как в HiAsm, лучше всего, реализовать программу, в которой нужно работать массивами-массивов строк?
Вроде это называется "многомерные массивы".

Базы данных не подойдут.
карма: 0

0
Ответов: 3889
Рейтинг: 362
#2: 2011-09-23 20:03:04 ЛС | профиль | цитата
login писал(а):
нужно работать массивами-массивов строк

login писал(а):
Базы данных не подойдут.

Не пойдут потому, что Вы не умеете с ними работать, или есть другие объективные причины? И как Вы это себе представляете, папка текстовых файлов или динамический контейнер со списком строк внутри? Кстати, динамические контейнеры можно вкладывать друг в друга.

login писал(а):
Вроде это называется "многомерные массивы".

Многомерные массивы тут называются матрицами. Строки там тоже поддерживаются. К некоторым визуальным элементам типа StringTable тоже можно обращаться как к матрице.
карма: 1

0
Ответов: 1429
Рейтинг: 50
#3: 2011-09-23 20:19:41 ЛС | профиль | цитата
Процесс такой.
В музыкальной программе есть массив треков, в каждом треке есть массив секвенций, в каждой секвенции есть массив нот.
Надо иметь возможность работать с массивом нот определенной секвенции (менять размер массива, выборочно ноты) при этом скорость работы нужна где-то на уровне стантартной работы с элементом StrList + ArrayRw.

Вот пока не могу понять на чем это построить.
------------ Дoбавленo в 20.19:
1nd1g0, пока не могу понять, как сделать такую вложенность массивов при помощи матрицы.
карма: 0

0
Ответов: 3889
Рейтинг: 362
#4: 2011-09-23 20:22:11 ЛС | профиль | цитата
Ясно, что-то подобное паттерновому трекеру. У Вас древовидная структура, многомерным массивом называть несколько не корректно. Базы данных в ОЗУ дадут вполне приемлимую скорость ибо в ряд ли у Вас секвенции (а именно на их уровне можно обращаться к БД, храня либо многострочные записи, либо строки с разделителем - их содержимое) чаще 14 такта считываются.
карма: 1

0
Ответов: 1429
Рейтинг: 50
#5: 2011-09-23 20:30:16 ЛС | профиль | цитата
1nd1g0, да не чаще. Ок, а какую базу данных взять?
карма: 0

0
Ответов: 3889
Рейтинг: 362
#6: 2011-09-23 20:33:15 ЛС | профиль | цитата
login писал(а):
а какую базу данных взять?

Да у Вас выбор-то не велик, либо SQLite, либо что-то изображать самостоятельно (не поднимать же сервера БД ради трекера). Для Ваших задач даже скорости файловой системы может хватить, папки и файлы использовать. Про скорость со вложенными динамическими контейнерами не скажу, до этого момента ни разу не доводилось проверять. Равно как MT-массивы не были пока нужны.
карма: 1

1
Голосовали:login
Ответов: 1429
Рейтинг: 50
#7: 2011-09-23 20:38:58 ЛС | профиль | цитата
Буду пробовать. Спасибо!
карма: 0

0
Ответов: 4641
Рейтинг: 334
#8: 2011-09-23 20:40:13 ЛС | профиль | цитата
login писал(а):
массивами-массивов строк?
login,
а если представить вот так.... то получится массив в массиве??
code_25223.txt

карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_25223.txt [893B] [153]
Ответов: 1429
Рейтинг: 50
#9: 2011-09-23 20:53:00 ЛС | профиль | цитата
Ravilr, да, так тоже, вроде, будет работать, но только наверное не получится динамически расширять эту структуру. Она будет фиксированной.
карма: 0

0
Ответов: 3889
Рейтинг: 362
#10: 2011-09-23 20:53:26 ЛС | профиль | цитата
Своего рода "массив в массиве" - массивы MT-потоков(MT_MTArray). Но с этим на практике пока не приходилось работать, тут вне конкуренции nesco, полагаю.
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#11: 2011-09-23 20:56:03 ЛС | профиль | цитата
login, крамольная мысль - IC
А из БД- вроде SQLite по быстродействию одна из первых.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1429
Рейтинг: 50
#12: 2011-09-23 20:56:19 ЛС | профиль | цитата
1nd1g0, я попробовал MT, но насколько я понял, там один уровень влоденности, а мне надо, минимум, два.
карма: 0

0
Ответов: 3889
Рейтинг: 362
#13: 2011-09-23 20:57:18 ЛС | профиль | цитата
login писал(а):
там один уровень влоденности, а мне надо, минимум, два.

Динамический контейнер, в который вложен массив MT-потоков?
карма: 1

0
Ответов: 8961
Рейтинг: 824
#14: 2011-09-23 20:59:11 ЛС | профиль | цитата
1nd1g0, заранее приготовте с Tad-ом некоторое количество ответов по SQLite
login, а какова максимальная размерность Ваших массивов треков, секвенций, нот Может и не надо SQLite изучать
карма: 19

0
Гость
Ответов: 17029
Рейтинг: 0
#15: 2011-09-23 20:59:48 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2025-02-25 18:48:33
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)