Вверх ↑
Этот топик читают: Гость
Ответов: 902
Рейтинг: 27
#1: 2007-05-14 00:41:07 ЛС | профиль | цитата
Подскажите пожалуйста.
Сделал таймер,вроде всё работает,но при подключении его к программе он запускается в последнюю очередь.
Тоесть,подключаю его к хабу на первую точку,затем подключаю начало перебора массива или любое другое действие,но он запускается только после выполнения любой операции.
А мне надо чтоб сначало запустился таймер и только потом всё остальное.
Для показа примерного времени хода выполнения операции.
Я понимаю что нагородил чегото не то,но не пойму в чём ошибка.
Может есть схемка того же самого но попроще?
code_1406.txt
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_1406.txt [5KB] [249]
Ответов: 2265
Рейтинг: 676
#2: 2007-05-14 01:55:06 ЛС | профиль | цитата
juk, может так:

Add(MultiElement,11907053,308,210)
{
link(onEvent1,11005830:doText,[])
}
BEGIN_SDK
Add(EditMulti,16273016,3,3)
{
EventCount=1
WorkCount=2
Width=580
Height=228
link(doWork1,14660970:doEvent1,[(22,9)(22,41)])
link(doWork2,53123:doStop,[(17,16)(17,104)])
}
Add(Timer,53123,84,91)
{
Interval=100
Enable=1
Point(onStop)
link(onTimer,14018944:doEvent1,[])
}
Add(Counter,8299829,189,91)
{
Max=59
link(onNext,16358922:doCompare,[])
}
Add(FormatStr,14140430,490,168)
{
DataCount=3
Mask=" Время выполнения: час.мин.сек %1:%2:%3"
link(onFString,16273016:onEvent1,[(542,174)(542,9)])
link(Str1,11408792:Count,[])
link(Str2,7450338:Count,[(503,149)(412,149)])
link(Str3,11336969:Value,[(510,154)(328,154)])
}
Add(Counter,7450338,406,98)
{
Max=59
link(onNext,13992826:doCase,[])
}
Add(Case,15542248,364,91)
{
Value=String(00)
link(onTrue,7450338:doNext,[(404,104)(397,104)])
}
Add(Case,13992826,448,98)
{
Value=Integer(0)
link(onTrue,11408792:doNext,[(492,111)(485,111)])
}
Add(Counter,11408792,490,105)
{
}
Add(Hub,14018944,126,91)
{
link(onEvent1,8299829:doNext,[])
link(onEvent2,7205614:doWork2,[(171,104)(171,174)])
}
Add(Hub,14660970,28,35)
{
link(onEvent1,7205614:doWork1,[(178,41)])
link(onEvent2,53123:doTimer,[(72,48)(72,97)])
}
Add(HubEx,7205614,174,161)
{
link(onEvent,14140430:doString,[])
}
Add(StrMask,16358922,231,91)
{
Mask="#"
link(onFalse,2499057:doWork2,[(308,97)])
link(onTrue,4699841:doStrCat,[])
}
Add(StrCat,4699841,273,98)
{
Str1="0"
link(onStrCat,2499057:doWork3,[(312,104)])
}
Add(Memory,11336969,322,91)
{
Default=String(00)
link(onData,15542248:doCase,[])
}
Add(HubEx,2499057,308,84)
{
link(onEvent,11336969:doValue,[])
}
END_SDK
Add(StatusBar,11005830,357,210)
{
SizeGrip=1
Panels=#37: Время выполнения: час.мин.сек.=800|
}
Add(Button,7945626,252,238)
{
Left=250
Top=30
Caption="стоп"
link(onClick,11907053:doWork2,[(296,244)(296,223)])
}
Add(Button,15232076,252,196)
{
Left=50
Top=30
Caption="пуск"
link(onClick,11907053:doWork1,[(296,202)(296,216)])
}
карма: 11

0
Ответов: 902
Рейтинг: 27
#3: 2007-05-14 05:47:32 ЛС | профиль | цитата
sla8a, О!-Спасибо!
Сейчас проверю.

[size=-2]------ Добавлено в 05:47
Схема отличная!
Но проблемма осталась таже.
Дело в том что при выполнении программы процессор грузится на 100% и таймер просто останавливается,а после завершения запускается.А так как мне нужно засечь время которое программа работает,то смысла в нём нет.
А нельзя ли как нибудь в начале и окончании работы засечь системное время и потом просто высчитать результат и вывести надпись например:
Выполненно за: 2 час. 7 мин. 40 сек.
Или просто-2:7:40
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3851
Рейтинг: 159
#4: 2007-05-14 09:11:29 ЛС | профиль | цитата
Если ты не знаешь, то вот:
Add(Time,12672448,238,336)
{
Format="Y-M-D h:m:s"
}
А тема про вычитание времён (и дат) по-моему не одна была на форуме.
карма: 0
начавший
0
Ответов: 1305
Рейтинг: 29
#5: 2007-05-14 09:23:04 ЛС | профиль | цитата
juk писал(а):
но при подключении его к программе он запускается в последнюю очередь

А ты именно так и сделал - подключение таймера задано на самой последней точке хаба - посмотри внимательно, это вырезка из твоей схемы
code_1407.txt
juk писал(а):
А нельзя ли как нибудь в начале и окончании работы засечь системное время и потом просто высчитать результат

А этот компонент тебе для чего даден?
Add(TimeCounter,2398897,224,364)
{
}
Остальное уже дело техники
карма: 0

0
файлы: 1code_1407.txt [881B] [583]
Ответов: 8926
Рейтинг: 823
#6: 2007-05-14 10:21:55 ЛС | профиль | цитата
juk, как раз и техника
code_1408.txt
карма: 19

0
файлы: 1code_1408.txt [2.4KB] [352]
Гость
Ответов: 17029
Рейтинг: 0
#7: 2007-05-14 11:39:52 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 08:02:30
карма: 0

0
Ответов: 902
Рейтинг: 27
#8: 2007-05-14 11:43:31 ЛС | профиль | цитата
Леонид, Спасибо.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1305
Рейтинг: 29
#9: 2007-05-14 17:52:20 ЛС | профиль | цитата
juk писал(а):
Я вообщето вот это имел в виду:

Что-то не понятно, что именно
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#10: 2007-05-14 22:58:22 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 08:02:30
карма: 0

0
Ответов: 902
Рейтинг: 27
#11: 2007-05-15 14:21:06 ЛС | профиль | цитата
Подскажите пожалуйста как посчитать количество прошедших секунд?
Я пробовал так:
code_1411.txt
Но что-то не совсем получается.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_1411.txt [3.5KB] [292]
Ответов: 899
Рейтинг: 43
#12: 2007-05-15 15:42:10 ЛС | профиль | цитата
juk писал(а):
Подскажите пожалуйста как посчитать количество прошедших секунд?



Add(MainForm,8837968,119,-33)
{
Left=20
Top=105
Width=581
Height=309
}
Add(DoData,1870897,273,317)
{
link(onEventData,6494281:doValue,[])
link(Data,9957971:Var2,[])
}
Add(Time,12175595,259,-40)
{
Format="h:m:s"
}
Add(Label,258481,476,23)
{
Left=350
Top=30
Width=38
Height=17
Caption="Конец:"
}
Add(Timer,7938967,98,58)
{
link(onTimer,13350459:doText,[])
}
Add(DoData,3970066,280,275)
{
link(onEventData,13427767:doValue,[])
link(Data,9957971:Var3,[(286,235)])
}
Add(Label,1576364,476,65)
{
Left=345
Top=10
Width=44
Height=17
Caption="Начало:"
}
Add(GetDataEx,9957971,266,226)
{
link(Data,12175595:Minute,[])
}
Add(DoData,10571504,301,142)
{
link(onEventData,1357815:doValue,[])
link(Data,9132236:Var2,[])
}
Add(DoData,246727,294,177)
{
link(onEventData,2372238:doValue,[])
link(Data,9132236:Var1,[(302,130)])
}
Add(GetDataEx,9132236,294,121)
{
link(Data,12175595:Second,[(307,104)(286,104)])
}
Add(Button,7803400,105,177)
{
Left=20
Top=40
link(onClick,14766315:doEvent1,[])
}
Add(Hub,14766315,154,177)
{
OutCount=4
link(onEvent1,246727:doData,[])
link(onEvent2,1870897:doData,[(261,190)(261,323)])
link(onEvent3,6484308:doText,[(234,197)(234,92)])
link(onEvent4,5822023:doCalc,[(234,204)(234,407)])
}
Add(Button,8355549,105,142)
{
Left=20
Top=15
link(onClick,16594474:doEvent1,[])
}
Add(Hub,16594474,154,142)
{
OutCount=3
link(onEvent1,10571504:doData,[])
link(onEvent2,3970066:doData,[(264,155)(264,281)])
link(onEvent3,5450419:doText,[(210,162)(210,43)])
}
Add(Memory,2372238,350,177)
{
}
Add(Memory,1357815,406,142)
{
}
Add(Memory,6494281,322,317)
{
}
Add(Memory,13427767,448,275)
{
}
Add(MathParse,5822023,343,401)
{
DataCount=4
MathStr="(%1*60+%2) - (%3*60+%4)"
link(onResult,7196248:doText,[])
link(X1,6494281:Value,[(349,375)(328,375)])
link(X2,2372238:Value,[])
link(X3,13427767:Value,[(363,354)(454,354)])
link(X4,1357815:Value,[(370,288)(412,288)])
}
Add(Label,5450419,357,37)
{
Left=410
Top=10
link(Text,13609551:Var3,[(363,18)])
}
Add(Label,6484308,322,86)
{
Left=410
Top=30
link(Text,13609551:Var2,[(328,54)(265,54)])
}
Add(GetDataEx,13609551,252,9)
{
link(Data,12175595:FormatTime,[])
}
Add(Label,7196248,462,401)
{
Left=355
Top=60
}
Add(Label,13350459,161,58)
{
Left=275
Top=115
link(Text,13609551:Var1,[(167,18)])
}
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#13: 2007-05-15 16:10:50 ЛС | профиль | цитата
Вот так в пределах суток
code_1413.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_1413.txt [1.6KB] [390]
Ответов: 902
Рейтинг: 27
#14: 2007-05-15 17:19:58 ЛС | профиль | цитата
unalex, Tad, Спасибо.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 8926
Рейтинг: 823
#15: 2007-05-15 17:50:30 ЛС | профиль | цитата
juk, на этой ветке http://www.dev.hiasm.com/xf/topic.php?t=7653 есть элемент Convertor, сжатый в HiDate1.rar, который преобразует дату в число Real (кол-во дней от рождества Христова с долей суток в дробной части) и наоборот.
карма: 19

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