|
|
|
Можно ли упростить процедуры, преобразовав имя элемента перечислимого типа в строку?
|
|||
|---|---|---|---|
|
#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. Можно ли одним движением преобразовать имя элемента перечислимого типа в строку и наоборот? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2019, 11:07 |
|
||
|
Можно ли упростить процедуры, преобразовав имя элемента перечислимого типа в строку?
|
|||
|---|---|---|---|
|
#18+
Первую сделал: Код: pascal 1. Осталось придумать вторую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2019, 11:16 |
|
||
|
Можно ли упростить процедуры, преобразовав имя элемента перечислимого типа в строку?
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2019, 11:20 |
|
||
|
Можно ли упростить процедуры, преобразовав имя элемента перечислимого типа в строку?
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2019, 11:21 |
|
||
|
Можно ли упростить процедуры, преобразовав имя элемента перечислимого типа в строку?
|
|||
|---|---|---|---|
|
#18+
Спасибо!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2019, 11:22 |
|
||
|
Можно ли упростить процедуры, преобразовав имя элемента перечислимого типа в строку?
|
|||
|---|---|---|---|
|
#18+
GetEnumValue Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2019, 11:22 |
|
||
|
Можно ли упростить процедуры, преобразовав имя элемента перечислимого типа в строку?
|
|||
|---|---|---|---|
|
#18+
istrebitel Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Во второй еще приведение типа надо сделать: Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2019, 11:26 |
|
||
|
Можно ли упростить процедуры, преобразовав имя элемента перечислимого типа в строку?
|
|||
|---|---|---|---|
|
#18+
Только учтите что вся эта хрень с RTTI медленно работает, в моем коде такие преобразования критичны, их очень много, поэтому перебор по массиву строк или использование TDictionary<string,TOrderState> будет быстрее. Есть и экстремально быстрые алгоритмы, но они будут довольно пухлые в объеме кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2019, 17:21 |
|
||
|
Можно ли упростить процедуры, преобразовав имя элемента перечислимого типа в строку?
|
|||
|---|---|---|---|
|
#18+
swame2, Кэшируй результаты RTTI через dictionary. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2019, 18:53 |
|
||
|
Можно ли упростить процедуры, преобразовав имя элемента перечислимого типа в строку?
|
|||
|---|---|---|---|
|
#18+
Из значения в строку довольно быстрый, там пробежка по цепочке строковых имен. Хотя, конечно, Names[EnumValue] все равно быстрее. А вот из строки в значение - каждая строка сравнивается через UTF8SameText, на 10-ке это два UTF8ToUnicode и AnsiStrComp *facepalm*. В общем, перебор по массиву с обычным сравнением строк через = (пусть даже предварительно приведенных к нужному регистру) будет быстрее. Словарь имеет смысл на больших объемах имхо, если значений всего пара десятков (как в подавляющем большинстве случаев) простой перебор будет не хуже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2019, 10:47 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=62&tid=2039029]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 372ms |

| 0 / 0 |
