|
|
|
Как рекурсивно обойти многоуровневую глобаль
|
|||
|---|---|---|---|
|
#18+
Добрый день, подскажите пожалуйста, как можно рекурсивно (а именно с помощью рекурсивной функции) обойти все уровни многоуровневой глобали, заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2011, 10:07 |
|
||
|
Как рекурсивно обойти многоуровневую глобаль
|
|||
|---|---|---|---|
|
#18+
$order - по одному уровню, для каждого уровня нужно писать свой цикл Либо то же без циклов, но с рекурсивным вызовом, тогда еще нужны операторы косвенности @,@@, и обратный оператор $name. $query - сплошной проход глобала сквозь все уровни, тут нужно будет использовать операторы косвенности, и $qlength,$qsusbcript для определения, на каком же уровне глобала мы находимся и прочитывания данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2011, 10:27 |
|
||
|
Как рекурсивно обойти многоуровневую глобаль
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ. А можно ли небольшой примерчик по 2ому предложеному вами варианту Блок А.Н.Либо то же без циклов, но с рекурсивным вызовом, тогда еще нужны операторы косвенности @,@@, и обратный оператор $name. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2011, 11:16 |
|
||
|
Как рекурсивно обойти многоуровневую глобаль
|
|||
|---|---|---|---|
|
#18+
Лучшее что я смог придумать это две функции, причем выглядят они ужастно, чего только стоит _""""" Может то что пытаюсь работать с глобалью так как работал бы с динамич. конструкцией на том же cpp, тоесть неверен сам подход. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2011, 11:37 |
|
||
|
Как рекурсивно обойти многоуровневую глобаль
|
|||
|---|---|---|---|
|
#18+
используя $q Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2011, 12:22 |
|
||
|
Как рекурсивно обойти многоуровневую глобаль
|
|||
|---|---|---|---|
|
#18+
используя рекурсивный вызов и $o Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2011, 12:31 |
|
||
|
Как рекурсивно обойти многоуровневую глобаль
|
|||
|---|---|---|---|
|
#18+
Я как всегда, плохо прочитал ваше сообщение, но ничего, нужны вам вариант там тоже есть. Другой вопрос, что сама структура хранения странная, если вам нужно показать "вот как я умею", она пойдет. А если делать реальную разработку, то я бы порекомендовал классические реляционные таблицы, каждый пункт меню отдельной записью, ссылки типа uplink и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2011, 13:35 |
|
||
|
Как рекурсивно обойти многоуровневую глобаль
|
|||
|---|---|---|---|
|
#18+
Блок А.Н., Вы не совсем правы, есть Клиент(C++ связь с Cache идет по ActiveX), есть Server(Cache ). Требуется описывать отображение функционала - в Cache(на Сервере), обработку функционала на Клиенте(C++ приложение). В данном случае если расмотреть обычное меню, то структура на Cache будет примерно такова: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. По-мне так все логично. А по поводу: "Другой вопрос, что сама структура хранения странная, если вам нужно показать "вот как я умею", она пойдет." Я честно признаюсь, на данный момент - для меня Каш'е, как лес дремучий, и толком - я ничего не умею, но к этому нужно стремиться ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2011, 16:27 |
|
||
|
Как рекурсивно обойти многоуровневую глобаль
|
|||
|---|---|---|---|
|
#18+
Честно говоря, я не совсем понял, в чем я неправ, т.е. какое из моих высказываний вы оспариваете :-) Еще непонятно, кто вы, студент, которому нужно сдать и забыть, или разработчик. Я предполагаю второе, если я ошибся, то дальнейший текст не имеет смысла. По поводу разработки на каше, это объектно-реляционная СУБД, и я предпочитаю данные хранить реляционным способом (в классах-таблицах), а программироваться на SQL и объектах. Это самый простой способ создания приложений, и наиболее гибкий в плане доработки. Чистые глобалы использовать вижу смысл в определенных специфических случаях, например, когда нужно сделать что-то совершенно особенное. Также многомерные переменные я использую в пределах программы, но избегаю использовать для постоянного хранения. Если же нужно все-таки особенное хранение данных, то я стараюсь его настроить через настройку хранения класса. Поправил ваш класс Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2011, 17:12 |
|
||
|
Как рекурсивно обойти многоуровневую глобаль
|
|||
|---|---|---|---|
|
#18+
Два способа хранения иерархических данных в реляционной СУБД http://dev.mysql.com/tech-resources/articles/hierarchical-data.html http://www.sitepoint.com/article/hierarchical-data-database Имея под рукой глобали, обсуждать, как хранить иерархические данные... ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2011, 18:08 |
|
||
|
Как рекурсивно обойти многоуровневую глобаль
|
|||
|---|---|---|---|
|
#18+
DarkKnight, конкретно по вашему коду, можно избавится от метода RootNode, сделав упор на то, что рекурсивная функция выводит группу узлов: Код: 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. 45. 46. 47. 48. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2011, 18:47 |
|
||
|
|

start [/forum/topic.php?fid=39&fpage=41&tid=1557710]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
19ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 262ms |
| total: | 351ms |

| 0 / 0 |
