Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с системным временем и календарём, Посчитать кол-во рабочих часов 
V
    Опции темы
Hellen
Дата 24.1.2009, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 3.7.2006
Где: Москва

Репутация: 1
Всего: 3



Пользователь выбирает из выпадающего списка день и месяц начало работ
и аналогично завершение работы.
После этого появляется календарь,  на календаре отображается диапазон выбранного участка времени.
Первый вопрос:-Как реализовать календарь?
Второй вопрос:-Как посчитать кол-во часов в этом диапазоне?
Спасибо!

Если можно по календарю: smile 
PM MAIL   Вверх
SkyAngel
Дата 25.1.2009, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 11.1.2009
Где: Беларусь, Минск

Репутация: нет
Всего: нет



Собственно в группе Samples есть компонент - TCalendar. Если не нравиться этот - в группе Win32 есть 2 компонента - TmonthCalendar. Ещё может помочь TDateTimePicker. В общем используй эти компоненты. Свяжи одного с другим. Я думаю - разберёшься. Для подсчёта часов - просто посчитай количество дней между датой и теперешним днём.
Для получения системной даты в виде строки - используй DateToStr(Date). А там можешь вырезать нужные символы.
Для получения выбранной даты - используй ИмяКалендаря.Date; Там сново достанешь необходимые символы. Но если я не ошибаюсь - то можно даже вычитать даты одну из другой. Но это по желанию, как делать ;).
PM MAIL ICQ Skype   Вверх
Данкинг
Дата 25.1.2009, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Hellen @  24.1.2009,  21:49 Найти цитируемый пост)
Как реализовать календарь?

Для начала прочитать хотя бы одну книгу по Дельфи. smile 

Цитата(Hellen @  24.1.2009,  21:49 Найти цитируемый пост)
Как посчитать кол-во часов в этом диапазоне?

А каждый день количество часов одинаковое? Т.е. работник не может ни переработать, ни уйти пораньше? Тогда посчитать число дней между датами - функция DaysBetween из dateutils - и, соответственно, умножить часы.

Цитата(SkyAngel @  25.1.2009,  00:16 Найти цитируемый пост)
Для получения системной даты в виде строки - используй DateToStr(Date). А там можешь вырезать нужные символы.

Вырезать? А на формат даты в "региональных настройках" можно типа забить? smile 

Это сообщение отредактировал(а) Данкинг - 25.1.2009, 00:44


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Bose
Дата 25.1.2009, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 8
Всего: 51



Hellen, смотри справку по ключевому слову dateutils
PM MAIL WWW Skype   Вверх
Hellen
Дата 25.1.2009, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 3.7.2006
Где: Москва

Репутация: 1
Всего: 3



Цитата

Для начала прочитать хотя бы одну книгу по Дельфи.

Прочла и не одну,  системное время и календари откровенно забивала, типа эта чушь мне не нужна будет, а сейчас столкнулась.

Цитата

А каждый день количество часов одинаковое?
 Одинаковое.
Цитата

по ключевому слову dateutils

Посмотрим

Цитата

Собственно в группе Samples есть компонент

Спасибо я поюзаю и вернусь, тоесть я не прощаюсь.

 smile 
PM MAIL   Вверх
Данкинг
Дата 25.1.2009, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Hellen @  25.1.2009,  17:12 Найти цитируемый пост)
Прочла и не одну,  системное время и календари откровенно забивала, типа эта чушь мне не нужна будет, а сейчас столкнулась.

"Delphi в подлиннике" Фаронова - там про все основные компоненты сказано. Если всю эту книгу прочесть, то будешь иметь представление о том, какие компоненты существуют в принципе.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Dobermann
Дата 25.1.2009, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: нет
Всего: 0



Цитата(Данкинг @  25.1.2009,  17:53 Найти цитируемый пост)
"Delphi в подлиннике" Фаронова - там про все основные компоненты сказано. Если всю эту книгу прочесть, то будешь иметь представление о том, какие компоненты существуют в принципе.

 smile 
PM   Вверх
Данкинг
Дата 25.1.2009, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Dobermann @ 25.1.2009,  17:58)
Цитата(Данкинг @  25.1.2009,  17:53 Найти цитируемый пост)
"Delphi в подлиннике" Фаронова - там про все основные компоненты сказано. Если всю эту книгу прочесть, то будешь иметь представление о том, какие компоненты существуют в принципе.

 smile

В смысле? smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Hellen
Дата 26.1.2009, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 3.7.2006
Где: Москва

Репутация: 1
Всего: 3



Я поюзала и вернулась.
Мне необходимо что бы пользователь на открывшемся календарике отметил не рабочие субботы и воскресения.
Сначала при помощи DateTimePicker1  и  DateTimePicker2 выбирает числа-
Далее появляется календарь,  в этом календаре он ручками отмечает не рабочие дни и далее программа считает кол-во дней.
Возможно это?
Подскажите пжлста.

В свойствах объекта (календарей)  я диапазона не нашла.
И возможность выделения дней тоже.

Что за свойство  DoubleBuffered ?? что за двойной буфер? 
PM MAIL   Вверх
Hellen
Дата 26.1.2009, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 3.7.2006
Где: Москва

Репутация: 1
Всего: 3



http://forum.vingrad.ru/forum/topic-153495/unread-1.html
нашла в поиске вот чего, но там как то скучно.......
PM MAIL   Вверх
Данкинг
Дата 26.1.2009, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Hellen, без БД не обойтись. У нас на работе я сделал так, что юзер каждый день отмечается, т.е. ставит себе, сколько часов он отработал, данные эти хранятся в MDB. На форме лежит календарь, по умолчанию при запуске ставится сегодняшняя дата. В конце месяца делается отчёт по всем датам заданного диапазона с подсчётом и суммарного времени для каждого работника, который затем выводится в Excel.

Цитата(Hellen @  26.1.2009,  22:45 Найти цитируемый пост)
Что за свойство  DoubleBuffered ?? что за двойной буфер?  

Не знаю, это откуда вообще?

Добавлено через 45 секунд
Цитата(Hellen @  26.1.2009,  23:05 Найти цитируемый пост)
нашла в поиске вот чего, но там как то скучно....... 

Угу, цветных картинок нет. smile  smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Hellen
Дата 26.1.2009, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 3.7.2006
Где: Москва

Репутация: 1
Всего: 3



Цитата

Не знаю, это откуда вообще?
 Это свойство объектов (в инспекторе объектов) DateTimePicker  и  DateTimePicker  в  codegear-2009.

Цитата

без БД не обойтись
 База Acces и ADOшки мне ближе,  я могу реализовать это при помощи аксес?
А что будет храниться в таблице.
Можно чуть поподробней схему действия развернуть???



Цитата

Угу, цветных картинок нет
 Хватит издеваться над бедными чайниками

"Я знаю что я ни чего не знаю, но многие не знают и этого"  - Это дядька Сократ сказал.

Добавлено через 2 минуты и 26 секунд
Это свойство объектов  DateTimePicker  и  MonthCalendar
PM MAIL   Вверх
Данкинг
Дата 27.1.2009, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Hellen @  26.1.2009,  23:58 Найти цитируемый пост)
Это свойство объектов (в инспекторе объектов) DateTimePicker  и  DateTimePicker  в  codegear-2009.

Не знаю, в общем, я и codegear-то не видел ни разу.  Но думаю, что это нечто такое, без чего можно обойтись, при этом спокойно живя и размножаясь. smile 

Цитата(Hellen @  26.1.2009,  23:58 Найти цитируемый пост)
 База Acces и ADOшки мне ближе,  я могу реализовать это при помощи аксес?

Я же говорю, у меня в MDB.

Цитата(Hellen @  26.1.2009,  23:58 Найти цитируемый пост)
Можно чуть поподробней схему действия развернуть???

У меня две таблицы: одна с юзерами, где хранится ник, под которым они заходят, и полное имя, которое отображается в распечатке часов, т.е. ник M@SHUTKA_LUCHCHE_VSEH!!!)))))), имя - Подъяблонская Мария. smile Пароля нет, но если он тебе нужен, то, соответственно, как-то думаешь над шифровкой паролей и авторизацией. Вторая таблица - для хранения часов. Далее на календаре выбирается нужная дата, а в Edit пишется число - количество отработанных часов за эту дату. В другую таблицу вносится ник, дата и часы (+ещё имя компьютера, откуда вносили и время внесения).

Добавлено @ 00:18
Цитата(Hellen @  26.1.2009,  23:58 Найти цитируемый пост)
Хватит издеваться над бедными чайниками

Кто издевается - я? smile Да как можно! smile  smile  smile 

Это сообщение отредактировал(а) Данкинг - 27.1.2009, 00:19


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Hellen
Дата 27.1.2009, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 3.7.2006
Где: Москва

Репутация: 1
Всего: 3



Ну мне такая крутизна не нужна, с паролями и никами. у меня задачка то копеечная.
Две даты и подсчитать кол-во дней  между ними.
Но приэтом не считать те дни, которые пользователь вычеркнул из календаря.
Не знаю в какую сторону двигаться, если сразу знать что обычными компонентами не получится, я бы двигалась в другом направлении.

PM MAIL   Вверх
Данкинг
Дата 27.1.2009, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Hellen @  27.1.2009,  00:41 Найти цитируемый пост)
Не знаю в какую сторону двигаться,

Вероятно, в ту же, что и я, только задача обратная: внести в базу те дни, в которые работник отсутствовал.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1293 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.