|
|
|
3 вопроса. Оптимизация кода, странности с датами, и вызов события из другого события.
|
|||
|---|---|---|---|
|
#18+
Сабж: Есть счетчик, среди прочего он имеет: Наименование, дату поверки, дату следующей поверки. Счетчики поверяются каждые 5 и 4 года в зависимости от фирмы. Задача: исходя из названия счетчика, и даты поверки выставить соответствующую дату след. поверки. Таких счетчика на форме 4 шт. Имена компонент содержат нумерацию и так же соответствуют тегам. Поясню : ComboBox с выбором имен для перового счетчика имеет имя "m1c" и тег "1" соответственно, 4-ый счетчик имеет имя "m4c" и т.д. Параметры счетчиков сделаны таким же образом, дата поверки первого счетчика "dp1c" и тд. Дабы не плодить кучу условий я сделал следующий обработчик для всех четырех DateEdit: Код: 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. Возвращаясь к вопросам: 1. Можно ли упростить данную конструкцию? Или пойти каким либо другим путем, не плодя на каждом компоненте одни и те же условия. 2. Почему-то компонента отрабатывает первый раз не правильно. Не важно на какую дату и какой тип счетчика выбирать, результатом будет 30.12.1903. На второй раз срабатывает. Чт-то не так с обработчиком... 3. Можно ли вызвать обработчик к примеру в событии OnChange на Comboboxe с именем счетчика. Чтобы при смене Имени, менялась дата сл. поверки. dv1cAcceptDate(Self, можно ли не менять тут дату,true); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2017, 12:47:22 |
|
||
|
3 вопроса. Оптимизация кода, странности с датами, и вызов события из другого события.
|
|||
|---|---|---|---|
|
#18+
Такие вещи обычно делаются в базе с учетом параметра счетчика. В данном случае - в зависимости от интервала поверки счетчика. А еще лучше - в параметрах счетчика хранится интервал поверки, а в деталях счетчика хранится история поверок. Срок следующей поверки вычисляется на лету, возможности редактирования даты следующей поверки нет. Есть теоретическая (вычисляемая) и есть история с фактами поверок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2017, 12:52:59 |
|
||
|
3 вопроса. Оптимизация кода, странности с датами, и вызов события из другого события.
|
|||
|---|---|---|---|
|
#18+
На сколько я понял: есть 1 комбик и связаные с ним два DateEdit. Нужно в зависимости от того что выбрано в комбике переставить дату в соответстующем DateEdit. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2017, 13:18:06 |
|
||
|
3 вопроса. Оптимизация кода, странности с датами, и вызов события из другого события.
|
|||
|---|---|---|---|
|
#18+
DimaBrНа сколько я понял: есть 1 комбик и связаные с ним два DateEdit. Нужно в зависимости от того что выбрано в комбике переставить дату в соответстующем DateEdit. Код: 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. 1. Спасибо, так гораздо удобочитаемее. Я еще добвил пару строк Код: pascal 1. 2. перед Код: pascal 1. 2. Глюк компоненты, первый раз почему-то обработчик пропускает через себя пустую дату. 3. Отпала надобность. wadman, направление программы немного не то, просто нет надобности в ведении БД по счетчикам, это простое оформление заявок. А так, совет дельный, спасибо! Всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2017, 14:38:24 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=124&tid=2041525]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
57ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 321ms |

| 0 / 0 |
