![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Здравствуйте, уважаемые форумчане. К сожалению, не учился на программиста, поэтому такие вещи, как блок-схема и алгоритм вызывают затруднение. Есть 2 вопроса, простой и сложнее) :
1. Есть код, например : image1.canvas.pen.color := clRed; image2.canvas.pen.color := clRed; ... image116.canvas.pen.color := clRed; - сто двадцать раз повторять как бы не торт, возможно же как то оформить в цикл? 2. Все по прежнему по поводу программки, тритий вопрос) : Есть файлик вида : Василий;9:05:48;Пришел Николай;12:03:57;Пришел Василий;15:03:12;Ушел Василий;17:45:00;Пришел Николай;18:00:00;Ушел Василий;18:01:00;Ушел Программе нужно на шкале времени зеленым показать, когда был на работе Василий. А как мы видим - он был с девяти утра, до трех дня, и в конце дгя на 15 минут заходил. Программно, я вот что придумал : положил на форму image1, длинной ровно 720 (это важно), шириной 9. Беру из строки время, часы множу на 60 и прибавляю минуты - получается первая точка, когда он пришел. То же самое делаю с точкой ухода. Мы получаем кол-во минут с начала дня когда она пришел и кол-во минут с начала дня когда ушел. Т.к. минут с сутке ровно 1440, а пикселей на канвасе 720 - то просто делим числа / 2 и получаем точку уже на канве. Думаю вроде понятно рассказал. Но возникли сложности! Как грамотно построить массив точек, если есть такие камни : 1. Нельзя последовательно создать точку пришел / ушел, по четности, т.е. не обязательно первая запись в файле будет "пришел", а вторая "Ушел", и не обязательно двадцатая будет "Ушел" : 1.1. Вася может остаться в ночь, а отсчет идет с 00(в файле). 1.2. В файле лога может быть записи, что он уходил несколько раз подряд / или приходил несколько раз подряд - эти моменты программа должна игнорировать. 1.3. Абсолютно неизвестно, сколько раз он может приходить / уходить.***** Программная часть вопроса сейчас в принципе не вызывает затруднения (спасибо Полисмену огромное), а вот с алгоритмом беда(((... Может ли кто добрый озвучить, как это можно проще сделать? Просто мысли и идеи? Заранее спасибо |