Вверх ↑
Этот топик читают: Гость
Ответов: 205
Рейтинг: 3
#1: 2008-02-19 19:40:56 ЛС | профиль | цитата
подскажите ....
пробовал переводить в конверторах и делать вычесления и сново переводить в обычный видh:m)
пример :Сидоров пришел в такое время(19:05) и ушел в (20:05) и ответ после нажатия кнопки-- 01:05(тоесть разница)
code_8444.txt

карма: 1

0
файлы: 1code_8444.txt [2.1KB] [224]
Ответов: 1397
Рейтинг: 50
#2: 2008-02-19 21:22:43 ЛС | профиль | цитата
Раздели строку с временем на часы и минуты. Отдельно вычти часы из часов, минуты из минут. После чего результат соедини в нужном формате.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 205
Рейтинг: 3
#3: 2008-02-19 21:48:09 ЛС | профиль | цитата
нееее так не пойдёт слишком кустарный способ меня интересует DataConverter//
карма: 1

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#4: 2008-02-19 23:27:01 ЛС | профиль | цитата
Разницу до суток можно считать вот так



Add(MainForm,7867007,287,273)
{
Left=20
Top=105
Width=237
Height=155
}
Add(Time,4162022,399,273)
{
Format="h:m"
Point(DateTime)
}
Add(Button,16118727,287,392)
{
Left=15
Top=10
Width=100
Caption="Сидоров Пришел"
link(onClick,16736913:doEvent1,[])
}
Add(Hub,16736913,336,392)
{
link(onEvent1,14860867:doValue,[])
link(onEvent2,5746570:doConvert,[(450,405)(450,440)])
}
Add(GetData,13471820,406,329)
{
Count=4
link(Data,4162022:DateTime,[])
}
Add(Button,789470,287,567)
{
Left=15
Top=40
Width=100
Enabled=1
Caption="Сидоров ушел"
Point(doEnabled)
link(onClick,12502218:doEvent1,[])
}
Add(DateConvertor,9893822,406,511)
{
Mode=9
Format="HH:mm"
Point(Data)
link(onResult,11453284:doText,[])
link(Data,13471820:Data1,[])
}
Add(DateConvertor,5746570,532,434)
{
Mode=9
Format="HH:mm"
Point(Data)
link(onResult,14329939:doText,[])
link(Data,13471820:Data2,[(538,418)(419,418)])
}
Add(Hub,12502218,350,567)
{
link(onEvent1,14402895:doCalc,[])
link(onEvent2,9893822:doConvert,[(394,580)(394,517)])
}
Add(ChanelToIndex,10106804,679,385)
{
link(onIndex,789470:doEnabled,[(737,391)(737,482)(275,482)(275,573)])
}
Add(MathParse,14402895,623,567)
{
MathStr="trunc(%2) + %1 - %2"
link(onResult,7991591:doConvert,[])
link(X1,13471820:Data3,[(629,464)(426,464)])
link(X2,14860867:Value,[])
}
Add(Label,7101239,735,567)
{
Left=120
Top=65
Width=100
Height=20
AutoSize=1
}
Add(Label,14329939,581,434)
{
Left=120
Top=10
Width=100
Height=20
AutoSize=1
}
Add(Label,11453284,455,511)
{
Left=120
Top=40
Width=100
Height=20
AutoSize=1
}
Add(Memory,14860867,630,392)
{
Point(Data)
link(onData,10106804:doWork2,[])
link(Data,13471820:Data4,[(636,376)(433,376)])
}
Add(DateConvertor,7991591,679,567)
{
Mode=9
Format="HH:mm"
Point(Data)
link(onResult,7101239:doText,[])
}

карма: 22

0
Ответов: 205
Рейтинг: 3
#5: 2008-02-20 00:00:55 ЛС | профиль | цитата
прям в точку а я всё перебрал тока в TIME не догодался переставить.. на real
СПС "nesco"

------------ Дoбавленo:

Почему не могу сделать(пересчитать значения модуля Time точки FormatTime ) такое же значение как из точки Real ..
в примере показано тока для удобства визуального равнения .......

#sha
Add(MainForm,15393382,77,63)
{
Left=20
Top=105
Width=728
Height=513
}
Add(Button,5547945,91,210)
{
Left=5
Top=10
link(onClick,7940378:doData,[])
}
Add(DoData,7940378,140,210)
{
link(onEventData,13084460:doEvent1,[])
link(Data,14713861:FormatTime,[])
}
Add(Time,14713861,140,63)
{
Format="h:m"
Point(DateTime)
}
Add(ListBox,2243869,378,210)
{
Left=280
Top=10
Width=400
Height=250
}
Add(Hub,13084460,182,210)
{
OutCount=3
link(onEvent2,15665241:doConvert,[])
link(onEvent3,4112782:doData,[])
}
Add(DateConvertor,15665241,280,217)
{
Mode=8
Format="HH:mm"
link(onResult,741156:doEvent2,[])
}
Add(DoData,4112782,231,224)
{
link(onEventData,741156:doEvent3,[])
link(Data,14713861:DateTime,[(237,160)(153,160)])
}
Add(Hub,741156,329,210)
{
InCount=3
OutCount=1
link(onEvent1,2243869:doAdd,[])
}

------------ Дoбавленo:

в чём особенность?
карма: 1

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#6: 2008-02-20 00:34:17 ЛС | профиль | цитата
millano, точка Real дает полную дату: целые значения -- это количество дней до текущих суток, дробное -- текущие сутки в микросекундах.



Add(MainForm,15393382,210,140)
{
Left=20
Top=105
Width=728
Height=513
}
Add(Button,5547945,224,287)
{
Left=5
Top=10
link(onClick,7940378:doData,[])
}
Add(DoData,7940378,273,287)
{
link(onEventData,13084460:doEvent1,[])
link(Data,14713861:FormatTime,[])
}
Add(Time,14713861,273,140)
{
Format="h:m"
Point(DateTime)
}
Add(ListBox,2243869,511,287)
{
Left=280
Top=10
Width=400
Height=250
}
Add(Hub,13084460,315,287)
{
OutCount=3
link(onEvent2,15665241:doConvert,[])
link(onEvent3,11782021:doCalc,[])
}
Add(DateConvertor,15665241,413,294)
{
Mode=8
Format="HH:mm"
link(onResult,741156:doEvent2,[])
}
Add(MathParse,11782021,364,301)
{
MathStr="%1 - trunc(%1) "
link(onResult,741156:doEvent3,[])
link(X1,14713861:DateTime,[(370,237)(286,237)])
}
Add(Hub,741156,462,287)
{
InCount=3
OutCount=1
link(onEvent1,2243869:doAdd,[])
}

Небольшая разница -- это задержка в Hub'е
карма: 22

0
Ответов: 8926
Рейтинг: 823
#7: 2008-02-20 00:34:20 ЛС | профиль | цитата
millano, вы же сами поставили h:m
code_8447.txt
карма: 19

0
файлы: 1code_8447.txt [1.1KB] [266]
Ответов: 205
Рейтинг: 3
#8: 2008-02-20 00:42:07 ЛС | профиль | цитата
лан пойдёмс с другой стороны: у меня время сохроняеться в формате...(00:00)_текст
и если я его перевожу в реал..! то не вычесляет... с текущем значениям... Time (формата- 00:00)
карма: 1

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#9: 2008-02-20 00:59:30 ЛС | профиль | цитата
Ты думаешь -- все понятно

millano писал(а):
то не вычесляет... с текущем значениям... Time (формата- 00:00)

Что вычисляться-то должно Я же тебе схемку вычисления разницы привел.
карма: 22

0
Ответов: 205
Рейтинг: 3
#10: 2008-02-20 01:23:20 ЛС | профиль | цитата
воть что то в этом духе?
code_8449.txt
карма: 1

0
файлы: 1code_8449.txt [1.4KB] [218]
Разработчик
Ответов: 26151
Рейтинг: 2127
#11: 2008-02-20 02:43:54 ЛС | профиль | цитата
millano, ну можно вот так, без всяких конверторов



Add(MainForm,7867007,154,91)
{
Left=20
Top=105
Width=313
Height=95
}
Add(FormatStr,11049589,350,217)
{
Mask="%1:%2"
link(onFString,8511339:doText,[])
link(Str1,1853037:Result,[(356,205)(310,205)(310,261)(265,261)])
}
Add(Time,4162022,210,91)
{
Format="h:m"
Point(DateTime)
}
Add(Label,8511339,413,217)
{
Left=90
Top=10
Width=205
Height=45
}
Add(Memory,11050659,259,91)
{
Default=String(00:02)
}
Add(FastMathParse,10212874,210,217)
{
MathStr="%1 - %2"
ResultType=0
link(onResult,1853037:doOperation,[])
link(X1,6327890:Result,[])
link(X2,8362289:Result,[(223,198)(265,198)])
}
Add(Button,11814258,154,147)
{
Left=10
Top=15
link(onClick,6327890:doSplit,[])
}
Add(PointHint,163734,392,175)
{
Info=#24:результат вычеслений....|
Transparent=0
VAlign=0
Width=85
Height=95
}
Add(MultiElementEx,8362289,259,147)
{
elink(6327890)
link(Str,11050659:Value,[])
link(onResult,10212874:doCalc,[(303,153)(303,188)(198,188)(198,223)])
}
Add(MultiElementEx,6327890,210,147)
{
@IsLib=True
link(Str,4162022:FormatTime,[])
link(onResult,8362289:doSplit,[])
}
BEGIN_SDK
Add(EditMultiEx,12450022,21,21)
{
WorkCount=#7:doSplit|
EventCount=#8:onResult|
VarCount=#6:Result|
DataCount=#3:Str|
Width=104
Height=151
link(doSplit,15348720:doSplit,[(35,27)(35,55)])
link(Result,10491500:Result,[(27,154)(55,154)])
}
Add(StrPart,15348720,49,49)
{
Char=":"
Point(Left)
link(onSplit,10491500:doCalc,[(93,55)(93,87)(37,87)(37,104)])
link(Str,12450022:Str,[(55,35)(27,35)])
}
Add(FastMathParse,10491500,49,98)
{
MathStr="%1*60 + %2"
ResultType=0
link(onResult,12450022:onResult,[(103,104)(103,27)])
link(X1,15348720:Left,[])
}
END_SDK
Add(Math,1853037,259,217)
{
OpType=7
Op2=60
ResultType=0
link(onResult,14993965:doOperation,[])
}
Add(Math,14993965,308,217)
{
OpType=8
Op2=60
ResultType=0
link(onResult,11049589:doString,[])
link(Op1,10212874:Result,[(314,205)(265,205)(265,261)(216,261)])
}

карма: 22

0
Ответов: 205
Рейтинг: 3
#12: 2008-02-20 15:34:00 ЛС | профиль | цитата
тоже вариант.. причём хороший...
спасибо за срочность..
------------ Дoбавленo:

да кстате на счёт кустарного способа я погорячился.

карма: 1

0
Ответов: 1328
Рейтинг: 69
#13: 2008-02-22 09:13:42 ЛС | профиль | цитата
nesco, Получится косяк в 00 часов
code_8459.txt
карма: 2

0
файлы: 1code_8459.txt [1.9KB] [245]
Разработчик
Ответов: 26151
Рейтинг: 2127
#14: 2008-02-22 11:12:39 ЛС | профиль | цитата
Konst, и в чем косяк, в том, что показывает 0:-20? Я не проверял его на всех числах, это -- просто пример, а голова на что -- поставтье условие и ловите отрицательные числа, если не нравится.
карма: 22

0
Ответов: 1328
Рейтинг: 69
#15: 2008-02-22 18:37:21 ЛС | профиль | цитата
nesco, пример хороший Я в принципе для тех кто тупо скопирует код .
карма: 2

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