Вверх ↑
Этот топик читают: Гость
Ответов: 1379
Рейтинг: 86
#1: 2010-03-20 23:14:35 ЛС | профиль | цитата
Всем здрасте!
Скоро я уезжаю на один день на базу отдыха, вот и решил нарисовать программу, которая будет отображать, сколько осталось до этого события.
Ее, конечно же, легко модернизировать под себя.
Решил поделиться с вами ею, и сразу же вопрос возник: как употреблять слова, напр., "день" в разных падежах? Видел на форуме что уже где-то это реализовывалось. Подсажите пожалуйста.

code_17439.txt

Жду вопросы и предложения.
-----------------Добавил в 5:40 25.03.10
Ладно, всем пока на один день, как и говорил - уезжаю. Скоро вернусь.
карма: 0

0
файлы: 1code_17439.txt [3.9KB] [158]
Ответов: 16884
Рейтинг: 1239
#2: 2010-03-21 00:36:32 ЛС | профиль | цитата

Add(Convertor,9273329,448,364)
{
Mode=16
Word_1="день"
Word_2="дня"
Word_5="дней"
}
Посмотри в схемах "Обратный отсчет" (не свой )
Твоя схема - это не схема, а издевательство над HiAsm
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1379
Рейтинг: 86
#3: 2010-03-21 01:13:37 ЛС | профиль | цитата
Tad, можно ссылочку на тему с ним, а то в поиске не нашел.
Точнее нашел, но там извращеннее моей схема. +не работает.
карма: 0

0
Ответов: 899
Рейтинг: 43
#4: 2010-03-21 07:20:29 ЛС | профиль | цитата
petrocan, посчитай сколько элементов было лишних

Add(MainForm,8734905,406,147)
{
Width=381
Height=149
Color=6579300
AlphaBlendValue=200
Caption="База!!"
BorderStyle=0
TaskBar=1
DragForm=0
Point(doAlphaBlendValue)
Point(Handle)
Point(Height)
Point(doHeight)
link(onCreate,1856367:doPopup,[])
}
Add(Label,1209478,84,133)
{
Top=10
Width=349
Height=21
Color=6579300
Font=[Arial,11,0,65535,204]
Caption="До события такого-то осталось"
Alignment=2
}
Add(Button,553619,336,133)
{
Left=360
Width=20
Color=6579300
Hint="Закрыть"
Caption="х"
link(onClick,8734905:doClose,[(383,139)(383,174)])
}
Add(StyleXP,15270187,84,98)
{
}
Add(Label,13898691,315,525)
{
Left=10
Top=60
Width=4
Height=4
Color=6579300
Font=[Arial,16,0,16776960,204]
Caption=""
}
Add(Label,2978033,84,168)
{
Left=125
Top=105
Width=115
Color=6579300
Font=[Arial,10,0,255,204]
Caption="Уже скоро! Уррра!!"
}
Add(Timer,7410652,70,455)
{
link(onTimer,15611539:doOperation,[])
}
Add(Math,15611539,112,455)
{
OpType=1
Op1=25
link(onResult,12804672:doConvert,[])
link(Op2,12561968:FormatTime,[(125,443)(167,443)])
}
Add(FormatStr,3091975,266,525)
{
DataCount=4
Mask="%1 %2 %3 %4"
link(onFString,13898691:doText,[])
link(Str1,7286776:Value,[(272,506)(216,506)])
link(Str2,5047479:Value,[(279,506)(349,506)])
link(Str3,14413016:Value,[(286,514)(482,514)])
}
Add(Time,12561968,161,399)
{
Format="D"
Point(Hours)
Point(Minute)
Point(Second)
}
Add(Math,9644916,259,455)
{
OpType=1
Op1=23
link(onResult,8140786:doConvert,[])
link(Op2,12561968:Hours,[(272,450)(174,450)])
}
Add(Math,2273627,392,455)
{
OpType=1
Op1=59
link(onResult,704775:doConvert,[])
link(Op2,12561968:Minute,[(405,450)(181,450)])
}
Add(Math,13913565,525,455)
{
OpType=1
Op1=59
link(onResult,12275522:doConvert,[])
link(Op2,12561968:Second,[(538,443)(188,443)])
}
Add(Label,7566131,147,252)
{
Top=130
Width=91
Color=6579300
Font=[Arial,10,0,16750986,204]
Hint="Показать/скрыть ползунок"
Caption="Прозрачность:"
link(onClick,13328054:doSwitch,[])
}
Add(WinTools,1856367,476,154)
{
link(Handle,8734905:Handle,[(482,146)(458,146)(458,200)(412,200)])
}
Add(TrackBar,5029380,336,175)
{
Left=5
Top=150
Width=370
Color=6579300
HintPosition=0
Max=255
TickCount=40
Position=200
ThumbLength=20
link(onPosition,8734905:doAlphaBlendValue,[])
}
Add(Timer,4286955,287,259)
{
Interval=5
Enable=1
AutoStop=40
link(onTimer,4207963:doOperation,[])
}
Add(Math,4207963,336,259)
{
Op2=1
link(onResult,4973059:doWork2,[])
link(Op1,3929953:Var1,[(342,250)])
}
Add(Timer,10868238,287,308)
{
Interval=5
Enable=1
AutoStop=40
link(onTimer,3952416:doOperation,[])
}
Add(Math,3952416,336,308)
{
OpType=1
Op2=1
link(onResult,4973059:doWork3,[(394,314)])
link(Op1,3929953:Var2,[(342,298)(419,298)])
}
Add(HubEx,4973059,390,259)
{
Angle=3
link(onEvent,8734905:doHeight,[(394,188)])
}
Add(InfoTip,8862598,42,224)
{
Info=#36:Сворачивание/разворачивание ползунка|22:изменения прозрачности|
Width=414
Height=123
}
Add(InfoTip,14842553,42,378)
{
Info=#24:Основной блок вычислений|
Width=582
Height=193
}
Add(Switch,13328054,210,252)
{
Point(onOn)
Point(onOff)
link(onOn,4286955:doTimer,[])
link(onOff,10868238:doTimer,[(264,272)(264,314)])
}
Add(Convertor,12804672,161,455)
{
Mode=16
Word_1="день"
Word_2="дня"
Word_5="дней"
link(onResult,7286776:doValue,[])
}
Add(Convertor,8140786,301,455)
{
Mode=16
Word_1="час"
Word_2="часа"
Word_5="часов"
link(onResult,5047479:doValue,[])
}
Add(Memory,5047479,343,455)
{
link(onData,2273627:doOperation,[])
}
Add(Convertor,704775,434,455)
{
Mode=16
Word_1="минута"
Word_2="минуты"
Word_5="минут"
link(onResult,14413016:doValue,[])
}
Add(Memory,14413016,476,455)
{
link(onData,13913565:doOperation,[])
}
Add(Convertor,12275522,567,455)
{
Mode=16
Word_1="секунда"
Word_2="секунды"
Word_5="секунд"
link(onResult,3091975:doString,[(611,461)(611,496)(254,496)(254,531)])
}
Add(Memory,7286776,210,455)
{
link(onData,9644916:doOperation,[])
}
Add(GetDataEx,3929953,413,245)
{
link(Data,8734905:Height,[])
}




карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#5: 2010-03-21 09:12:16 ЛС | профиль | цитата
unalex, а когда исполнится заветное время ? Да и заветное время тоже не мешало бы устанавливать извне
nesco, ну нужна нижняя точка в Convertor - е
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1379
Рейтинг: 86
#6: 2010-03-21 13:07:22 ЛС | профиль | цитата
unalex, посчитал - ровно 2!
Статистика, думаю, не врет.
карма: 0

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#7: 2010-03-21 14:08:01 ЛС | профиль | цитата
Tad писал(а):
ну нужна нижняя точка в Convertor - е

Но это потянет за собой небольшое увеличение кода компонента, но может увеличить быстродействие в критических секциях и в определенных случаях, из-за ненадобности применения Memory при заводе сверху. Единственное что неудобно, так это разнородные данные на выходе. Хотя, я до сих пор не могу понять категоричное нежелание ее использовать. Возможно, есть проблемы, о которых мы не знаем

Тут сделаем так, если шеф не будет против, то добавить можно
карма: 22

0
Ответов: 899
Рейтинг: 43
#8: 2010-03-21 15:09:44 ЛС | профиль | цитата
petrocan писал(а):
unalex, посчитал - ровно 2

врет твоя статистика, не сравнивай свой оригинал с более функциональной версией

вот такой должен был быть оригинал, считай заново
code_17442.txt
------------ Дoбавленo в 15.10:
unalex писал(а):
а когда исполнится заветное время ?

это уже на совести автора
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_17442.txt [3.4KB] [156]
Ответов: 16884
Рейтинг: 1239
#9: 2010-03-22 22:02:11 ЛС | профиль | цитата
petrocan, вообще-то вот компонент, вычисляющий разность между датами.
Вкладка СистемаДата-Время

Add(DateDiff,343692,280,224)
{
}
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26305
Рейтинг: 2146
#10: 2010-03-22 22:04:52 ЛС | профиль | цитата
Tad, а его что, штатного нет



Add(DateDiff,343692,280,224)
{
}


карма: 22

0
Ответов: 16884
Рейтинг: 1239
#11: 2010-03-22 22:17:50 ЛС | профиль | цитата
nesco, сбой устранен

Это же надо запомнить, что вычисление разницы между датами находится в вкладке Система
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26305
Рейтинг: 2146
#12: 2010-03-22 22:20:10 ЛС | профиль | цитата
Tad писал(а):
Это же надо запомнить, что вычисление разницы между датами находится в вкладке Система

Его туда Dilma перетащил... Почему ... это вопросы к нему
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#13: 2010-03-23 11:35:24 ЛС | профиль | цитата
petrocan,
code_17466.txt

Хотя можно еще упростить
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_17466.txt [2.1KB] [161]
13
Сообщение
...
Прикрепленные файлы
(файлы не залиты)