Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 График в режиме реального времени  [new]
StandD
Member

Откуда:
Сообщений: 519
Всем привет!
Вопрос такой.

Хотелось бы сделать одну штуку - есть сотрудники, которые выполняют в данный момент работу или простаивают. На данный момент времени кто-то что-то делает (или не делает).

Нужно организовать список (типа грида), в котором в каждой строке в начале было имя сотрудника, а после него типа разноцветной полоски фиксированной длины (шкала 0-24 часа), закрашенной по настоящий момент времени в соответствии с временем (0-тек.время часа) цветами, соответствующими, типу деятельности. Например, сейчас 13:12. С 00:00 по 09:15 человек простаивал. Цвет полоски - серый. Далее до 12:08 он работал. Цвет - красный. Ну и т.д. до 13:12. С 13:12 до 24:00 - пока простой.

Гридом это сделать довольно кривовато. Вместо полоски, как я понимаю, нужно организовать десятки полей (кол-во = 24 часа / треб.интервал +...) и раскрашивать их в зависимости от типа текущего куска времени. Эти поля и сымитируют полоску. Шаг желетельно поменьше (а это уже до 250 полей).
Но, может, есть вариант поизящней? Только желательно в Фоксе, без применения внеших построителей (Ехсель и т.п.).
31 мар 07, 19:14    [3964385]     Ответить | Цитировать Сообщить модератору
 Re: График в режиме реального времени  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Логичнее для этих целей использовать объект Shape, закрасив его фон в соответствующий цвет.

Кроме того, нет смысла делать 250 объектов на каждые 6 минут. Разумнее вычислять интервал, за который цвет будет одинаковым и просто растягивать Shape на соответствующую ширину.

Каждая полоса будет иметь не фиксированное количество объектов Shape, а столько, сколько необходимо в каждом конкретном случае. Т.е. динамически добавляется нужное количество объектов.

Можно ли запихнуть это в Grid? Теоретически, можно. Т.е. объект Control, внутри которого формируются объекты Shape. Один специальный столбец в Grid содержит этот объект Control. Но как это будет выглядеть практически и можно ли это сделать в принципе - не знаю.

Если с Grid не пройдет, то придется динамически размещать объекты на форме и использовать прокрутку формы.
31 мар 07, 19:59    [3964414]     Ответить | Цитировать Сообщить модератору
 Re: График в режиме реального времени  [new]
хм...
Guest
А еще, можно воспользоваться MS Project Manager и не изобретать "велосипед". Как бы получилось что задача планирования потом для вас в 1 лицо оказалась неподъемной.
Удачи.
31 мар 07, 21:06    [3964486]     Ответить | Цитировать Сообщить модератору
 Re: График в режиме реального времени  [new]
StandD
Member

Откуда:
Сообщений: 519
ВладимирМ
Логичнее для этих целей использовать объект Shape, закрасив его фон в соответствующий цвет.

Кроме того, нет смысла делать 250 объектов на каждые 6 минут. Разумнее вычислять интервал, за который цвет будет одинаковым и просто растягивать Shape на соответствующую ширину.

Каждая полоса будет иметь не фиксированное количество объектов Shape, а столько, сколько необходимо в каждом конкретном случае. Т.е. динамически добавляется нужное количество объектов.

Можно ли запихнуть это в Grid? Теоретически, можно. Т.е. объект Control, внутри которого формируются объекты Shape. Один специальный столбец в Grid содержит этот объект Control. Но как это будет выглядеть практически и можно ли это сделать в принципе - не знаю.

Если с Grid не пройдет, то придется динамически размещать объекты на форме и использовать прокрутку формы.


Спасибо, думаю...
31 мар 07, 21:59    [3964548]     Ответить | Цитировать Сообщить модератору
 Re: График в режиме реального времени  [new]
StandD
Member

Откуда:
Сообщений: 519
хм...
А еще, можно воспользоваться MS Project Manager и не изобретать "велосипед". Как бы получилось что задача планирования потом для вас в 1 лицо оказалась неподъемной.
Удачи.


Да, собственно, это не задача планирования, это просто отражение реального состояния. Пока. Там будет видно. Спасибо
1 апр 07, 10:24    [3964914]     Ответить | Цитировать Сообщить модератору
 Re: График в режиме реального времени  [new]
StandD
Member

Откуда:
Сообщений: 519
ВладимирМ
Кроме того, нет смысла делать 250 объектов на каждые 6 минут.


Собственно, план у меня такой.
Есть список исполнителей. Каждое утро этот список с пристегнутой датой пополняет файл, в котором есть поле ФИО. поле даты и те самые 250 (но теперь уже 60 - по 15 мин) полей. То есть файл структуру не меняет. Каждое из этих полей в текущее время получает определенное значение, которое зависит от состояния исполнителя и закрашивается своим цветом. Т.о. в режиме реального времени полоска, созданная слипанием 60-ти колонок грида, растет, окрашиваясь в соответствующие цвета с интервалом 15 минут. Причем одновременно копится в числах времена работы, простоя и пр. Задавая фильтр по дате можно смотреть картинку за любой предыдущий день. Мне кажется, что ни особых ресурсов, ни других тормозов не предвидится. Ну, да поэкспериментирую...
1 апр 07, 11:11    [3964970]     Ответить | Цитировать Сообщить модератору
 Re: График в режиме реального времени  [new]
Strong
Member

Откуда: Россия
Сообщений: 277
StandD

Хотелось бы сделать одну штуку - есть сотрудники, которые выполняют в данный момент работу или простаивают. На данный момент времени кто-то что-то делает (или не делает).


Любопытно, а для чего это нужно ?
И каким образом будет контролироватся "простаивает" сотрудник или нет ?
2 апр 07, 09:12    [3966150]     Ответить | Цитировать Сообщить модератору
 Re: График в режиме реального времени  [new]
StandD
Member

Откуда:
Сообщений: 519
Strong
StandD

Хотелось бы сделать одну штуку - есть сотрудники, которые выполняют в данный момент работу или простаивают. На данный момент времени кто-то что-то делает (или не делает).


Любопытно, а для чего это нужно ?
И каким образом будет контролироватся "простаивает" сотрудник или нет ?


Дело вот в чем. На форме имеются два ТекстБокса, куда сканируется штрих-код наряда и магн.карточка исполнителя. После этого активируются кнопки: старт и несколько кнопок прерывания (обед, нет материалов, согласование...). Если исполнитель уже стартовал работу по наряду, доступны только прерывания, если было прерывание - доступен только старт. Естественно, началом является время прохода по карточке на работу, а время окончания - выход с работы.
Т.о. на каждый момент времени есть информация о состоянии исполнителя, которая вытягивается в разноцветную ленточку по мере реального течения времени. Потом в конце дня или за любой период можно проанализировать времена простоев по разным причинам. Есть еще такое понятие, как нахождение на работе (пришел, отметился, но не начал работу) - тоже интересный показатель.
2 апр 07, 09:19    [3966167]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить