Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26305
Рейтинг: 2146
#16: 2011-10-19 10:54:20 ЛС | профиль | цитата
[offtop]
1nd1g0 писал(а):
замечательная вещь, умел бы он ещё события попадания мышью в элемент выяснять

И какие есть мысли по этому поводу У меня, на данный момент -- никаких[/offtop]
карма: 22

0
Ответов: 3889
Рейтинг: 362
#17: 2011-10-19 11:07:16 ЛС | профиль | цитата
nesco, Ну, массив координат, размеров и имён у нас есть, равно как и координата клика. Естественно, учёт масштабирования картинки в экспериментальной версии можно сперва не реализовывать. Если бы это индийское действо было в sha, то пришлось бы перебирать все элементы. Кстати - пригодилась бы точка автоматического перебора (сейчас не переберёшь, не зная содержимого заранее), то есть что-то типа doEnum, выдающее элементы, а в идеале - MT поток со всеми их параметрами следом. Далее пришлось бы выяснять PointInRect попала ли мышка в этот прямоугольник. Раз уж есть перечисление, то удаление и добавление сам бог велел.

Примитивный вариант реализации идеи с одним элементом:

code_25510.txt
карма: 1

0
файлы: 1code_25510.txt [1.9KB] [166]
Ответов: 16884
Рейтинг: 1239
#18: 2011-10-19 11:14:50 ЛС | профиль | цитата
nesco писал(а):
ты сильный консерватор
Хотел бы я посмотреть на решение "Реестр учётно-статистических карточек" в DocumentTemplate
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26305
Рейтинг: 2146
#19: 2011-10-19 11:19:37 ЛС | профиль | цитата
Tad писал(а):
Хотел бы я посмотреть на решение

А если сделаю, что мне за это будет
Tad писал(а):
Реестр учётно-статистических карточек

Дай посмотреть пример графической реализации данного проекта. А лучше вообще рабочий, тогда и подумать можно

карма: 22

0
Ответов: 16884
Рейтинг: 1239
#20: 2011-10-19 11:30:41 ЛС | профиль | цитата
nesco, <Delete> будь другом, скачаешь - удали прицеп. Не моё это.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26305
Рейтинг: 2146
#21: 2011-10-19 11:45:54 ЛС | профиль | цитата
А что это за компонент такой -- ArrayTextDoc
Остальные известны
------------ Дoбавленo в 11.45:
Да, уж -- это не программа, это ужас какой-то. Она мне форму полминуты в редакции выводит. Это ж сколько там контролов
карма: 22

0
Ответов: 3889
Рейтинг: 362
#22: 2011-10-19 11:47:33 ЛС | профиль | цитата
nesco, оригинал
карма: 1

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#23: 2011-10-19 12:18:21 ЛС | профиль | цитата
Tad, че-то я там модуль защиты не нашел. В падлу искать, пароль входа знаешь
------------ Дoбавленo в 12.18:
Забъем, нашел, как обойти.
У меня вопрос возник -- а нафига там прозрачность на Label нужна вообще
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#24: 2011-10-19 12:52:04 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2025-01-15 08:47:16
карма: 0

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#25: 2011-10-19 13:06:50 ЛС | профиль | цитата
85.64.238.11.dynamic.bara писал(а):
а вдруг. Клиент попросил фон сменить

Да нате, жуйте. Кусок схемы на DocumentTemplate Все дело в желании.

doctempl_001.sha

Еще вопросы есть
карма: 22

0
файлы: 1doctempl_001.sha [42.7KB] [173]
Ответов: 3889
Рейтинг: 362
#26: 2011-10-19 13:26:17 ЛС | профиль | цитата
nesco писал(а):
Еще вопросы есть

Разве что скрывать элементы, ибо события попадают на элементы второй вкладки, если знать, куда ткнуть

Вот был бы doEnumonEnum (или doFindonFind, если угодно) у DocumentTemplate, расставил бы ты пустышки полей с именами, скажем, содержащим особый префикс (по которому и тип поля можно определить) и создавалрасставлял поля ввода динамически при переборе страниц собирая основываясь на тех же именах данные в БД, файле, массиве и т.п.

При переключении страниц динамический массив полей очищаем и создаёмзаполняем новый, переходим к другому разделу хранилища данных.

Большое преимущество такого подхода в простоте добавления, перемещения, изменения полей - достаточно немножко изменить шаблон, ничего больше не придётся переписывать и редактировать. IMHO, удобно.
карма: 1

1
Голосовали:Konst
Разработчик
Ответов: 26305
Рейтинг: 2146
#27: 2011-10-19 13:34:36 ЛС | профиль | цитата
1nd1g0 писал(а):
и создавалрасставлял поля ввода динамически при переборе страниц

А вот это не подходит
PC_Text, PC_Position, PC_Size
------------ Дoбавленo в 13.34:
То, что ты предлааешь реализовать довольно сложно, если вообще возможно, без существенной переделки среды
карма: 22

0
Ответов: 3889
Рейтинг: 362
#28: 2011-10-19 13:51:51 ЛС | профиль | цитата
nesco писал(а):
А вот это не подходит

В своём примере с первой странице я всех их использовал.
При использовании
nesco писал(а):
PC_Text , PC_Position , PC_Size
, приходится содержать отдельный список всех имён и синхронизировать его с шаблоном вручную.

У самого шаблона иногда не хватает:
1. Загрузкисохранения шаблона изв файл (опционально)
2. Поискаперечисления объектов в шаблоне с выдачей как минимум их имён (в идеале - всех основных параметров в виде того же MT)
3. Динамического добавления и удаления объектов (опционально, если возможно)

А у его сателлитов не хватает параметров, например, не изменить формат шрифта в текстовых метках. Но это всё наживное, а вот перечисление довольно серьёзно пригодилось бы, без него не узнаешь, к какому имени объекта применить элементы управления.

Что касается проверки, совпадает ли координата щелчка мышью с элементом - это просто быстрее реализуется в коде, и, опять же, требует списка перечисления либо цикла, создающего имена по определённой формуле, и пытающегося изменить объект с таким именем (при недпустимом имени может вылетать иногда). А нужно это при дальнейшей печати шаблона, который заполнил бухгалтер - чтобы он видел именно шаблон, а не кучу текстовых полей. Но в крайнем случае, при наличии перечислителяпоиска это можно реализовать.

На данный же момент чуть что не так с именем объекта (ну, ошибся ты в списке перечисления, скажем) - программа вылетает со всеми любимой Runtime error 216.
------------ Дoбавленo в 13.51:
nesco писал(а):
То, что ты предлааешь реализовать довольно сложно, если вообще возможно, без существенной переделки среды


Да ну, может ты не так меня понял. В чём проблема по очереди перечислить внутренности FChild.List
карма: 1

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#29: 2011-10-19 13:55:10 ЛС | профиль | цитата
Динамически создавать поля в DocumentTemplate вряд ли получится, а вот управлять списком можно попытаться сделать. Попринципу вот такого построения строки управления -- <Name>|<Text>|<Left>|<Top>|<Width>|<Height>
------------ Дoбавленo в 13.52:
1nd1g0 писал(а):
3. Динамического добавления и удаления объектов (опционально, если возможно)

На данном этапе невозможно
------------ Дoбавленo в 13.53:
1nd1g0 писал(а):
2. Поискаперечисления объектов в шаблоне с выдачей как минимум их имён (в идеале - всех основных параметров в виде того же MT)

А это очень надо и зачем
------------ Дoбавленo в 13.55:
1nd1g0 писал(а):
1. Загрузкисохранения шаблона изв файл (опционально)

Из-за невозможности динамического создания, вряд ли получится.
карма: 22

0
Ответов: 3889
Рейтинг: 362
#30: 2011-10-19 14:01:01 ЛС | профиль | цитата
nesco писал(а):
А это очень надо и зачем

Можно при создании шаблона придерживаться определённой конвенции имён, конечно, потом циклом или по списку их перебирать и расставлять элементы интерфейса на их основе, но людям свойственно ошибаться, а
1nd1g0 писал(а):
На данный же момент чуть что не так с именем объекта (ну, ошибся ты в списке перечисления, скажем) - программа вылетает со всеми любимой Runtime error 216


В принципе, при установке защиты от дурака, можно обойтись без перебора, но это гораздо муторнее, чем при переборе сразу в потоке получить все основные параметры полей. Например, PointInRect на выходе уже позволит сделать интерактивный интерфейс без особых заморочек. На том же выходе динамические панели с различными элементами ввода - быстрое создание шаблона расстановки последних.

Ну и
1nd1g0 писал(а):
например, не изменить формат шрифта в текстовых метках
- тоже иногда не удобно. У таблиц CSS хотя бы есть.
карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)