Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#16: 2008-02-23 12:56:01 ЛС | профиль | цитата
nesco, а почему так нельзя? (не работает третья кнопка)
code_8466.txt
------------ Дoбавленo:

Konst, если от меньшего отнимать большее - результат всегда с минусом. Что ты и доказал своим примером.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_8466.txt [1.3KB] [321]
Разработчик
Ответов: 26151
Рейтинг: 2127
#17: 2008-02-23 13:05:35 ЛС | профиль | цитата
Tad, прикол, что для отображения времени нужно иметь дату формата Real не ниже 584389.0 (01-01-1601), почему Кладов уперся в эту дату -- я не знаю.
карма: 22

0
Ответов: 8926
Рейтинг: 823
#18: 2008-02-23 13:47:19 ЛС | профиль | цитата
nesco, а как же с этим: Кладов говорит "в KOL.TDateTime отсчет начинается от даты 1 января 1 года нашей эры (эры "от рождества Христова") - по Григорианскому календарю. Я сделал так потому, что считаю этот тип данных удобным не только для связи с SQL-серверами, разработчики стандартов для которых решили, что раньше XX века ничего не было такого, что можно было бы посчитать."
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#19: 2008-02-23 14:14:31 ЛС | профиль | цитата
nesco, Тогда нужно в свойствах DateConvertor. _prop_Format делать не Edit - ом, а выбирать допустимые из ComboBox- а.
Или сделать свой перерассчет.
Лучше свой.

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

nesco, а вот такого прикола не видел ? - та же схемма через час при попытке изменить размер формы.
Все визуальные компоненты получили надписи Form, изменили размеры и поменяли цвет. У тебя так не бывает ?


Add(MainForm,3408572,14,14)
{
Left=20
Top=105
Width=246
Height=158
}
Add(Time,4162022,98,7)
{
Format="h:m"
Point(DateTime)
}
Add(Label,4276061,266,70)
{
Left=30
Top=25
Width=205
Height=115
Color=-16777211
Ctl3D=0
Caption="Form"
}
Add(Button,5492019,14,70)
{
Left=30
Top=25
Width=205
Height=115
Color=-16777211
Ctl3D=0
Caption="Form"
link(onClick,3140420:doValue,[])
}
Add(DateConvertor,2196204,196,70)
{
Mode=9
Format="dd.MM.yyyy HH:mm:ss"
link(onResult,4276061:doText,[])
}
Add(Memory,16574309,70,119)
{
Point(Data)
link(onData,10747634:doConvert,[])
link(Data,16192161:Var1,[(76,51)])
}
Add(Button,9169369,14,119)
{
Left=30
Top=25
Width=205
Height=115
Color=-16777211
Ctl3D=0
Caption="Form"
link(onClick,16574309:doValue,[])
}
Add(Label,7169962,266,119)
{
Left=30
Top=25
Width=205
Height=115
Color=-16777211
Ctl3D=0
Caption="Form"
}
Add(DateConvertor,10747634,196,119)
{
Mode=9
Format="dd.MM.yyyy HH:mm:ss"
link(onResult,7169962:doText,[])
}
Add(Memory,3140420,105,70)
{
Default=Real(0)
Point(Data)
link(onData,2196204:doConvert,[])
link(Data,16192161:Var2,[])
}
Add(GetDataEx,16192161,98,42)
{
link(Data,4162022:DateTime,[])
}
Add(MathParse,10669756,98,168)
{
MathStr="%1 - %2"
link(onResult,3409101:doConvert,[])
link(X1,16574309:Value,[(104,159)(76,159)])
link(X2,3140420:Value,[])
}
Add(Button,1632177,14,168)
{
Left=30
Top=25
Width=205
Height=115
Color=-16777211
Ctl3D=0
Caption="Form"
link(onClick,10669756:doCalc,[])
}
Add(Label,9603394,266,168)
{
Left=30
Top=25
Width=205
Height=115
Color=-16777211
Ctl3D=0
Caption="Form"
}
Add(DateConvertor,3409101,196,168)
{
Mode=9
Format="HH:mm:ss"
link(onResult,9603394:doText,[])
}

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8926
Рейтинг: 823
#20: 2008-02-23 14:20:23 ЛС | профиль | цитата
nesco, сейчас проверил (на своём конверторе) - и правда только с 1601 года, а вот обратый счёт Дата в Число работает с 01/01/0001
карма: 19

1
Голосовали:Yuriy
Разработчик
Ответов: 26151
Рейтинг: 2127
#21: 2008-02-23 20:13:10 ЛС | профиль | цитата
Tad писал(а):
У тебя так не бывает
Бывало, особенно, если я в том же запуске HiAsm'a попытаюсь создать еще один проект. Вытри к черту всю директорию prof и пока, ее не применяй.
------------ Дoбавленo:

Леонид писал(а):
а как же с этим: Кладов говорит
Ну это он так хотел -- а вдруг баг в KOL'e
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#22: 2008-02-23 22:29:36 ЛС | профиль | цитата
nesco писал(а):
Вытри к черту всю директорию prof и пока, ее не применяй.
Я 168 установил на новый хард и директория prof в нем пустая, а то что появилось в 167(как ты говорил "мелкие бажки" ) осталось и в 168. Самое обидное, что оно появляется обычно в конце разработки и вся работа на ветер.
Поэтому для разработки серьезных схем пользуюсь 157-й.
------------ Дoбавленo:

Тогда можно сделать так:


Add(Time,4162022,182,56)
{
Format="h:m"
Point(DateTime)
}
Add(Label,4276061,350,119)
{
Left=85
Top=15
}
Add(Button,5492019,98,119)
{
Left=10
Top=15
Caption="Приход"
link(onClick,3140420:doValue,[])
}
Add(DateConvertor,2196204,280,119)
{
Mode=9
Format="dd.MM.yyyy HH:mm:ss"
link(onResult,4276061:doText,[])
}
Add(Memory,16574309,154,168)
{
Point(Data)
link(onData,10747634:doConvert,[])
link(Data,16192161:Var1,[(160,100)])
}
Add(Button,9169369,98,168)
{
Left=10
Top=45
Caption="Уход"
link(onClick,16574309:doValue,[])
}
Add(Label,7169962,350,168)
{
Left=85
Top=45
}
Add(DateConvertor,10747634,280,168)
{
Mode=9
Format="dd.MM.yyyy HH:mm:ss"
link(onResult,7169962:doText,[])
}
Add(Memory,3140420,189,119)
{
Default=Real(0)
Point(Data)
link(onData,2196204:doConvert,[])
link(Data,16192161:Var2,[])
}
Add(GetDataEx,16192161,182,91)
{
link(Data,4162022:DateTime,[])
}
Add(MathParse,10669756,182,217)
{
MathStr="%1 - %2 + 584389"
link(onResult,3409101:doConvert,[])
link(X1,16574309:Value,[(188,208)(160,208)])
link(X2,3140420:Value,[])
}
Add(Button,1632177,98,217)
{
Left=10
Top=80
Caption="Работал"
link(onClick,10669756:doCalc,[])
}
Add(Label,9603394,350,217)
{
Left=85
Top=80
}
Add(DateConvertor,3409101,280,217)
{
Mode=9
Format="HH:mm:ss"
link(onResult,9603394:doText,[])
}

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#23: 2008-02-23 23:27:47 ЛС | профиль | цитата
Tad писал(а):
Тогда можно сделать так:
Конечно можно. Если внимательно посмотреть, то в первом своем примере по конверторам, в начале этого топика, я сделал то же самое (только значение было текущей даты).
Ну а свои большие схемы, я, все же, перекладываю и разрабатываю в новой версии, но регулярно проверяю их и стараюсь не создавать еще проектов в этой копии HiAsm'a.
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#24: 2008-02-24 10:34:41 ЛС | профиль | цитата
nesco, каюсь. Как я пропустил твой первый пример - не пойму.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 205
Рейтинг: 3
#25: 2008-03-03 15:46:10 ЛС | профиль | цитата
HELP не могу панять...
как правльно нужно просчитать разницу? (равную одному часу...Допустим)
после того как нажал nachalo и потом konez то если время больше часа нужно что бы происходило события допустим цвет текста в красным цветом...
code_8528.txt
------------ Дoбавленo:


карма: 1

0
файлы: 1code_8528.txt [2.4KB] [240]
Разработчик
Ответов: 26151
Рейтинг: 2127
#26: 2008-03-03 16:38:46 ЛС | профиль | цитата
millano, ты можешь почитать описания функций к MathParse
Есть такая функция frac(x) -- получение дробной части, вот ее и можно использовать



Add(DateConvertor,15632065,679,399)
{
Mode=9
Format="HH:mm"
Point(Result)
link(onResult,3757256:doText,[])
}
Add(Label,3757256,728,399)
{
Left=160
Top=20
Width=140
Height=50
Caption="Razniza"
Point(doColor)
}
Add(If_else,11550839,518,420)
{
link(onTrue,3125528:doMessage,[(569,426)(569,412)])
link(onFalse,12996510:doMessage,[(569,433)(569,447)])
link(Op2,9487967:Value,[])
}
Add(Hub,6915479,385,399)
{
link(onEvent1,15632065:doConvert,[])
link(onEvent2,6944726:doCalc,[(436,412)(436,426)])
}
Add(Memory,9487967,525,357)
{
Default=String(0.0416666666666667)
}
Add(Message,3125528,588,406)
{
Message="
карма: 22

0
Ответов: 205
Рейтинг: 3
#27: 2008-03-04 00:16:14 ЛС | профиль | цитата
а что ... почему я не могу сравнивать строки(Значения)...
карма: 1

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#28: 2008-03-04 00:55:16 ЛС | профиль | цитата
millano писал(а):
а что ... почему я не могу сравнивать строки(Значения)...
У тебя в значении присутствует еще и дата (для конвертации в строку), для сравнения она не нужна -- нужна только дробная часть. Можно и вот так сделать



Add(MainForm,10620235,112,189)
{
Left=20
Top=105
Width=315
Height=142
}
Add(MathParse,2114863,350,434)
{
MathStr="trunc(%2) + %1 - %2"
link(onResult,6915479:doEvent1,[])
link(X1,10699122:Var2,[])
link(X2,8517246:Var2,[])
}
Add(DateConvertor,15632065,686,434)
{
Mode=9
Format="HH:mm"
Point(Result)
link(onResult,3757256:doText,[])
}
Add(GetData,3927578,175,189)
{
link(Data,3224702:DateTime,[])
}
Add(Time,3224702,168,140)
{
Format="h:m"
Point(DateTime)
}
Add(Button,8657918,224,287)
{
Left=10
Top=20
Width=130
Caption="nachalo"
Point(doCaption)
link(onClick,13447205:doValue,[])
}
Add(Memory,13447205,357,287)
{
Point(Data)
link(onData,13084420:doConvert,[])
link(Data,3927578:Data1,[(363,264)(181,264)])
}
Add(Button,733673,259,350)
{
Left=10
Top=50
Width=130
Caption="konez"
Point(doCaption)
link(onClick,11361032:doValue,[])
}
Add(Memory,11361032,308,350)
{
Point(Data)
link(onData,4467430:doConvert,[])
link(Data,3927578:Data2,[(314,342)(188,342)])
}
Add(DateConvertor,13084420,413,287)
{
Mode=9
Format="HH:mm"
Point(Result)
link(onResult,8657918:doCaption,[(457,293)(457,276)(211,276)(211,293)])
}
Add(DateConvertor,4467430,378,350)
{
Mode=9
Format="HH:mm"
Point(Result)
link(onResult,4830739:doEvent1,[])
}
Add(Hub,4830739,420,350)
{
link(onEvent1,733673:doCaption,[(485,356)(485,344)(247,344)(247,356)])
link(onEvent2,2114863:doCalc,[(485,363)(485,401)(338,401)(338,440)])
}
Add(Label,3757256,735,434)
{
Left=160
Top=20
Width=140
Height=50
Caption="Razniza"
Point(doColor)
}
Add(If_else,11550839,553,455)
{
link(onTrue,3125528:doMessage,[(604,461)(604,447)])
link(onFalse,12996510:doMessage,[(604,468)(604,482)])
link(Op2,9487967:Value,[])
}
Add(Hub,6915479,399,434)
{
link(onEvent1,15632065:doConvert,[])
link(onEvent2,15390151:doCalc,[(453,447)(453,461)])
}
Add(Edit,5529849,581,182)
{
Left=70
Top=85
Width=150
Text="REAL равный часу..."
}
Add(DateConvertor,12274668,532,182)
{
Mode=8
Format="HH:mm"
Point(Data)
link(onResult,5529849:doText,[])
}
Add(Edit,13843409,476,175)
{
Left=20
Top=85
Width=40
Text="01:00"
link(onEnter,12274668:doConvert,[])
}
Add(Memory,9487967,560,392)
{
Default=String(0.0416666666666667)
}
Add(Message,3125528,623,441)
{
Message="время больше часа"
}
Add(Message,12996510,623,476)
{
Message="время меньше часа"
}
Add(MathParse,15390151,476,455)
{
MathStr="%1 - %2"
link(onResult,11550839:doCompare,[])
link(X1,10699122:Var3,[(482,415)])
link(X2,8517246:Var3,[(489,394)])
}
Add(GetDataEx,10699122,343,406)
{
link(Data,11361032:Value,[(356,396)(314,396)])
}
Add(GetDataEx,8517246,350,385)
{
link(Data,13447205:Value,[])
}

карма: 22

0
Ответов: 16884
Рейтинг: 1239
#29: 2008-03-04 02:11:20 ЛС | профиль | цитата
millano, а так тебя не устраивает ?
code_8539.txt

nesco, попробовал добавить


#pas
procedure THIDateConvertor._work_doConvert9;//DateRealToStrFmt
begin
DateTime:= ReadReal(_Data,_data_Data,0);
if DateTime < 584389 then DateTime:= DateTime+584389;
...............................
свободно и правильно считает и без гланд


Add(Edit,5529849,203,56)
{
Left=80
Top=85
Width=150
Text="REAL равный часу..."
link(onChange,3049176:doConvert,[])
}
Add(DateConvertor,12274668,154,56)
{
Mode=8
Format="HH:mm:ss"
Point(Data)
link(onResult,5529849:doText,[])
}
Add(Edit,13843409,98,56)
{
Left=10
Top=85
Width=65
Text="01:00"
link(onChange,12274668:doConvert,[])
}
Add(Edit,1992395,308,56)
{
Left=240
Top=85
}
Add(DateConvertor,3049176,259,56)
{
Mode=9
Format="HH:mm:ss"
Point(Data)
link(onResult,1992395:doText,[])
}



вот это после переделки


Add(MainForm,7656220,63,63)
{
Left=20
Top=105
Width=189
Height=189
link(onCreate,1603912:doValue,[])
}
Add(Timer,7519366,63,133)
{
link(onTimer,9529425:doValue,[])
}
Add(Time,3224702,133,21)
{
Format="h:m"
Point(DateTime)
}
Add(Memory,1603912,140,77)
{
Point(Data)
link(onData,552654:doConvert,[])
link(Data,12448673:Var2,[])
}
Add(Memory,9529425,126,133)
{
Point(Data)
link(onData,10073002:doEvent1,[])
link(Data,12448673:Var1,[(132,65)])
}
Add(GetDataEx,12448673,133,56)
{
link(Data,3224702:DateTime,[])
}
Add(Math,6200552,126,203)
{
OpType=1
link(onResult,3049176:doConvert,[])
link(Op1,9529425:Value,[])
link(Op2,1603912:Value,[(139,156)(146,156)])
}
Add(DateConvertor,3049176,189,203)
{
Mode=9
Format="HH:mm:ss"
Point(Data)
link(onResult,1992395:doText,[])
}
Add(Edit,1992395,252,203)
{
Left=65
Top=95
Width=85
Height=25
}
Add(DateConvertor,552654,196,77)
{
Mode=9
Format="HH:mm:ss"
Point(Data)
link(onResult,15346143:doText,[])
}
Add(Edit,15346143,259,77)
{
Left=65
Top=30
Width=85
Height=25
}
Add(DateConvertor,1460503,238,140)
{
Mode=9
Format="HH:mm:ss"
Point(Data)
link(onResult,11914404:doText,[])
}
Add(Edit,11914404,294,140)
{
Left=65
Top=60
Width=85
Height=25
}
Add(Hub,10073002,182,133)
{
link(onEvent1,1460503:doConvert,[(226,139)(226,146)])
link(onEvent2,6200552:doOperation,[(226,146)(226,178)(114,178)(114,209)])
}

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_8539.txt [1.6KB] [299]
Разработчик
Ответов: 26151
Рейтинг: 2127
#30: 2008-03-04 02:16:42 ЛС | профиль | цитата
Tad, ну да, конечно, а отображение разницы где

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


Tad, наверное, все же, вот так



Add(MainForm,7656220,280,301)
{
Left=20
Top=105
Width=189
Height=189
link(onCreate,1603912:doValue,[])
}
Add(Timer,7519366,280,371)
{
link(onTimer,9529425:doValue,[])
}
Add(Time,3224702,350,259)
{
Format="h:m"
Point(DateTime)
}
Add(Memory,1603912,357,315)
{
Point(Data)
link(onData,552654:doConvert,[])
link(Data,12448673:Var2,[])
}
Add(Memory,9529425,343,371)
{
Point(Data)
link(onData,10073002:doEvent1,[])
link(Data,12448673:Var1,[(349,303)])
}
Add(GetDataEx,12448673,350,294)
{
link(Data,3224702:DateTime,[])
}
Add(Math,6200552,343,441)
{
OpType=1
link(onResult,13340500:doCalc,[])
link(Op1,9529425:Value,[])
link(Op2,1603912:Value,[(356,394)(363,394)])
}
Add(DateConvertor,3049176,504,441)
{
Mode=9
Format="HH:mm:ss"
Point(Data)
link(onResult,1992395:doText,[])
}
Add(Edit,1992395,560,441)
{
Left=65
Top=95
Width=85
Height=25
Text=""
}
Add(DateConvertor,552654,504,315)
{
Mode=9
Format="HH:mm:ss"
Point(Data)
link(onResult,15346143:doText,[])
}
Add(Edit,15346143,560,315)
{
Left=65
Top=30
Width=85
Height=25
Text=""
}
Add(DateConvertor,1460503,504,378)
{
Mode=9
Format="HH:mm:ss"
Point(Data)
link(onResult,11914404:doText,[])
}
Add(Edit,11914404,560,378)
{
Left=65
Top=60
Width=85
Height=25
Text=""
}
Add(Hub,10073002,399,371)
{
link(onEvent1,1460503:doConvert,[(443,377)(443,384)])
link(onEvent2,6200552:doOperation,[(443,384)(443,416)(331,416)(331,447)])
}
Add(MathParse,13340500,441,441)
{
MathStr="trunc(%1) + %2"
link(onResult,3049176:doConvert,[])
link(X1,12448673:Var3,[(447,303)])
}

карма: 22

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