|
|
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
Хочется задать константами подобную структуру: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Компилятор Delphi Seattle разумно отшивает меня: "E2010 Incompatible types: 'Dynamic array' and 'Array'" Что намутить с выделенной строкой (или в другом месте), чтобы это было возможно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2018, 13:45 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
Пока родил только такой костыль. Есть ли варианты лучше? Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2018, 13:49 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
Код: sql 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. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2018, 14:04 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, как в таком случае получить реальную длину массива? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2018, 14:11 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
Никак, объявить константой. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2018, 14:17 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, ок, если учесть, что использование Length() внутри константы разрешено - тоже рабочий костыль Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2018, 14:24 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
fd00ch Код: pascal 1. Я что-то упустил в этой жизни? Children1 - это типизированная константа. Следовательно из других констант можно ссылаться только на ее адрес. Или в Сиэтле что-то допилили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2018, 17:05 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_fd00ch Код: pascal 1. Я что-то упустил в этой жизни? Children1 - это типизированная константа. Следовательно из других констант можно ссылаться только на ее адрес. Или в Сиэтле что-то допилили? Вроде всю жизнь с типизированными константами можно было делать что угодно, кроме присваивания им значения... (на самом деле и это можно, через хак). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2018, 19:00 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Или в Сиэтле что-то допилили?знаю только, что в Сиэтле работает, а уж когда это допилили - х.з. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2018, 19:18 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
fd00chХочется задать константами подобную структуру: Код: pascal 1. 2. 3. 4. 5. 6. Что намутить с выделенной строкой (или в другом месте), чтобы это было возможно? Попробуйте как вариант Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2018, 20:20 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
Freedoom, не, у меня главный массив - несколько тысяч элементов и сотня вставленных дочерних. нужен короткий и легко поддерживаемый вариант (пока свой так и использую) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 00:05 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
fd00ch, TStringList? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 09:10 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_fd00ch Код: pascal 1. Я что-то упустил в этой жизни? Children1 - это типизированная константа. Следовательно из других констант можно ссылаться только на ее адрес. Или в Сиэтле что-то допилили? High и Low всегда работали про Length не помню, но почему бы и нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 10:22 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
LocksmithPC, TStringList'ом не задашь константы. Вопрос: а обязательно ли константы хранить непосредственно в коде как есть. Если, например, задать их Json'ом как сплошную строку, разметка должна быть вполне удобночитаемой, мне кажется. Один раз, во время инициализации модуля, парсить Json в реальные константы, думаю, что в несколько строк можно вполне уложиться. Read only констант можно временно отключить: Код: pascal 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 10:31 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
makhaon, Зашивать в коде что-либо возможно изменяемое моветон. Даже если в текущий момент кажется, что это на века. Хранить данные в XML, главное не чудить с тегами: <ОченьВажнаяиНужнаяКонстантаОдин>1</ОченьВажнаяиНужнаяКонстантаОдин> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 10:40 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
LocksmithPC, не вопрос - можно вообще в отдельный файл кинуть :) я не против - как автору удобно. json может вполне и во внешнем файле лежать. какая разница. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 10:55 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
LocksmithPC, Какая тебе разница поправишь ты свой xml или константу в коде? Если же "константа" предпологается для изменения пользователем то она вообще в интерфейсе должна редактироваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 14:07 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
rgreat, Константу в XML сможет поправить человек не имеющий на руках исходник ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 14:35 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
LocksmithPC, А тебе как програмиисту оно надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 15:01 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
LocksmithPCrgreat, Константу в XML сможет поправить человек не имеющий на руках исходник Вы серьёзно думаете, что константу в приложении, не имея исходников, подправить нельзя? Немного сложнее, но и только. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 16:13 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
alekcvp, вы сейчас говорите о простом пользователе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 16:16 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
fd00ch, В принипе можно воспользоваться Конструкторами динамических массивов, им прописывать размеры не нужно. Но они не умеют принимать константы типа record, печаль. Когда мне так захотелось сделать - пришлось пользоваться инлайновой процедурой. См. самый самый конец https://github.com/the-Arioch/Delphi-XmlLite/blob/master/XmlLite.pas ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 16:36 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
alekcvp, ОДНУ константу - да, не сильно сложнее. Но вот поместить 10 констант туда, где при компиляции было 2 (изменить размер статического массива) - уже сложнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 16:37 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
fd00chFreedoom, не, у меня главный массив - несколько тысяч элементов и сотня вставленных дочерних. нужен короткий и легко поддерживаемый вариант (пока свой так и использую) У каждого своё видение. В подобных случаях использую два файла. В одном TParent.Name и TParent.Key, а в другом TParent.Key и TChilld.Name, отсортированные по Key. При желании можно поместить в ресурсы программы. Для ускорения доступа к Child TParen можно расширить и добавить начальный индекс и количество (конечный индекс). Единственное неудобство - единоразовое написание утилиты, перегоняющей тектсовое представление в формат хранения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 21:58 |
|
||
|
Как использовать в константах массивы разной длины?
|
|||
|---|---|---|---|
|
#18+
fd00ch, напиши простой генератор .pas - файлов, на вход ему подавай структуру, описывающую твои "деревья". Я бы json попробовал использовать. Или просто сразу включи в ресурсы приложения json (можно зазипованный), при запуске распаковывай да строй свои структуры. Второе, имхо, проще и быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 23:11 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39596588&tid=2041267]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
61ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 434ms |

| 0 / 0 |
