|
Как грамотно хранить в проге небольшой массив данных
|
|||
---|---|---|---|
#18+
Ну т.е. сделали скан ветки реестра, нашли несколько ключей Key1 Key2 ... KeyN По каждому ключу вычислили пару-тройку дополнительных полей FieldA(key1) FieldA(key2) ... FieldA(keyN) FieldB(key1) FieldB(key2) ... FieldB(keyN) В итоге должны хранить что-то типа Key1 FieldA(key1) FieldB(key1) Key2 FieldA(key2) FieldB(key2) ... KeyN FieldA(keyN) FieldB(keyN) Потом с этим "поработать", ну в частности иметь возможность "безобидно" удалить какую-то строчку из середины. Один из напрашивающихся способов - использовать скрытый List с несколькими колонками. Но отображать ничего не надо. Насколько List оправдан и не есть дурной тон? Понятно, что это несколько линейных массивов, но 1) размерность заранее неизвестна, всякие ReDim применять... 2) при удалении элемента умучаешься переиндексировать... Т.е. List как бы напрашивается... Какие соображения? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2010, 10:09 |
|
Как грамотно хранить в проге небольшой массив данных
|
|||
---|---|---|---|
#18+
ну а массив типов не подходит? или коллекция типов ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2010, 10:11 |
|
Как грамотно хранить в проге небольшой массив данных
|
|||
---|---|---|---|
#18+
michael Rну а массив типов не подходит? или коллекция типов А можно пример (простенький!)? Если я с этим и связывался, то давно все позабыл. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2010, 10:25 |
|
Как грамотно хранить в проге небольшой массив данных
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
как маленький пример в принципе можно делать и несколько иерархий с коллекцией в коллекции в VB есть свой Wizard для создания подобных вещей ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2010, 10:50 |
|
Как грамотно хранить в проге небольшой массив данных
|
|||
---|---|---|---|
#18+
michael R, Dim Arr1(5) as T1 это от 1-го до 5? Кажется от 0 до 5 ну хорошо, пусть для ясности Dim Arr1(1 To 5) as T1 Но у меня N заранее неизвестно. Если элементов 2, то зачем мне 5. А если окажется 7? Т.е наверно Dim Arr1(1 To 1) as T1 и делать ReDim при добавление n-го элемента? Как этот Redim правильно записать, не помню? А если удаляю из середины? Сдвигать все что дальше и re-dimmить на единицу меньше. Хотя... здесь как раз можно просто стирать значения и не париться, это ж не БД...а разовая короткая процедура. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2010, 11:06 |
|
Как грамотно хранить в проге небольшой массив данных
|
|||
---|---|---|---|
#18+
тогда или коллекция или Recordset при удалении перемещать элементы не нужно ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2010, 11:13 |
|
Как грамотно хранить в проге небольшой массив данных
|
|||
---|---|---|---|
#18+
michael R, да бог с ними с коллекциями. там и удалять наверно не понадобиться с ReDim(Arr) кусок кода какой-нибудь никто не подкинет? А List кстати бестолковый способ, т.к. в отличии от ListView там subitems(columns) добавляется типа так: Код: plaintext
Ну а ListView сюда, это уже очень слишком... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2010, 11:38 |
|
Как грамотно хранить в проге небольшой массив данных
|
|||
---|---|---|---|
#18+
Дмитрий77в отличии от ListView там subitems(columns) добавляется типа... Ну это я вообще чушь спорол, там columns это способ отображения и с subitems вообще ничего общего не имеет. Там только Items голые есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2010, 11:46 |
|
Как грамотно хранить в проге небольшой массив данных
|
|||
---|---|---|---|
#18+
Почему бы не использовать отсоединенный ADO Recordset, который позволяет добавлять и удалять записи без проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2010, 12:26 |
|
Как грамотно хранить в проге небольшой массив данных
|
|||
---|---|---|---|
#18+
Дмитрий77и делать ReDim при добавление n-го элемента? Как этот Redim правильно записать, не помню? Redim Preserve MyArr(n) Дмитрий77А если удаляю из середины? Сдвигать все что дальше и re-dimmить на единицу меньше. Хотя... здесь как раз можно просто стирать значения и не париться, это ж не БД...а разовая короткая процедура. Вообще, коллекция - крайне удобная вещь. Я практически отказался от массивов. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2010, 12:27 |
|
Как грамотно хранить в проге небольшой массив данных
|
|||
---|---|---|---|
#18+
Preserve это я долго допирал, ваш ответ потом прочел. Ну что-то типа такого наклевывается: Код: plaintext 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2010, 12:54 |
|
|
start [/forum/topic.php?fid=60&msg=36987910&tid=2159193]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 316ms |
total: | 482ms |
0 / 0 |