Вверх ↑
Этот топик читают: Гость
Ответов: 758
Рейтинг: 112
#76: 2014-01-20 19:54:36 ЛС | профиль | цитата
Tad писал(а):
объяснять человеку, который слушает только себя, дохлый номер.
Полностью согласен, но надежда умирает последней
Medvedoc, почитай date and time functions
карма: 1

0
Ответов: 254
Рейтинг: 6
#77: 2014-01-20 21:22:29 ЛС | профиль | цитата
Tad, почему вы постоянно нападаете? У вас за плечами огромный опыт программирования, измеряемый десятилетиями. Я только месяц как разбираюсь в данном редакторе. Не так просто сходу научиться всему. А тем более базы данных - это не детская игрушка, где сходу можно как с конструктором. Вы пишите про матчасть - подскажите учебник хороший по данному направления. Мне проще разбираться на примерах, поскольку я вижу как и откуда, для чего и куда идет та или иная связь. Ведь все осваивается с простых примеров.
Написание своей задумки я веду из видения процесса производства моей специализации, поэтому Вам может быть не понятны многие вещи. Понятно станет только тогда когда будет закончена программа.
Но все равно я Вам всем благодарен за ваше терпение и прекрасные познавательные уроки!!!
------------ Дoбавленo в 20.59:
SELECT (date('now')- date(тут нужно написать название колонки в которой хранятся даты вывода птенцов)) from [grafikdata]

miver, я так и сделал, но выводится одно и то же число 4714
Уважаемый Tad, в вашем случаем получается -5

датапикер давно обнавлен
------------ Дoбавленo в 21.22:
Add(MainForm,11607186,154,126)
{
Width=954
Height=403
Caption="график вакцинации"
BorderStyle=4
Position=1
Point(doVisible)
Point(onClose)
link(onCreate,7309284:doEvent1,[])
}
Add(MTStrTbl,15761846,854,686)
{
@Color=5592575
Left=280
Top=50
Width=570
Height=215
Name="график"
Columns=#6:корпус|4:дата|9:поголовье|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|0:|
TextAlign=2
Point(doVisible)
}
Add(Button,949453,28,644)
{
Left=420
Top=15
Width=135
TabOrder=-1
Caption="рассчитать"
link(onClick,11771530:doString,[])
}
Add(ComboBox,11406695,98,581)
{
Left=300
Top=15
Width=110
Height=21
Strings=#8:корпус 1|8:корпус 2|8:корпус 3|8:корпус 4|8:корпус 5|
Text="корпус"
Point(EditText)
}
Add(MTStrTbl,5113738,525,413)
{
@Color=43520
Left=20
Top=115
Width=250
Height=155
Name="вакцинация"
Columns=#14:ВАКЦИНАЦИЯ=150|17:ВОЗРАСТ (ДНИ)=100|
Redaction=0
Point(doSetFocus)
Point(onSelect)
Point(doVisible)
}
Add(Edit,16767801,133,350)
{
Left=101
Top=45
Width=110
Text="0"
DataType=2
}
Add(Button,12084787,14,413)
{
Left=15
Top=70
Width=195
Height=30
TabOrder=-1
Caption="добавить"
Point(doSetFocus)
link(onClick,6806148:doEvent2,[])
}
Add(ComboBox,4864849,91,350)
{
Left=95
Top=10
Width=125
Height=21
Strings=#2:БМ|2:БГ|2:БН|3:ИБК|3:ИЛТ|
Text="вакцинацияя"
Point(EditText)
}
Add(DatePicker,9450650,147,497)
{
Left=565
Top=15
Width=110
Height=21
Font=[MS Sans Serif,6,0,0,1]
Point(doLeft)
Point(doTop)
Point(doSetFocus)
Point(doBringToFront)
Point(DateTime)
Point(doSendToBack)
Point(DateInt)
link(onChange,13250376:doEvent1,[])
}
Add(DS_SQLite,6991059,336,147)
{
@Color=5636095
Name="11"
FileName="memory.db"
Point(onError)
link(onOpen,13846613:doExec,[(376,153)(376,132)])
link(onError,7054140:doEvent2,[])
}
Add(Message,3808633,469,147)
{
}
Add(DSC_Exec,13846613,378,126)
{
@Color=5636095
SQL="CREATE TABLE IF NOT EXISTS [vakcina] (\r\n[id] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\r\n[name] TEXT,\r\n[number] INTEGER);\r\n\r\nCREATE TABLE IF NOT EXISTS [grafikdata] (\r\n[id] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\r\n[name] TEXT,\r\n[vozrast] REAL,\r\n[golov] REAL,\r\n[dtime] REAL);\r\n\r\nCREATE TABLE IF NOT EXISTS [grafikname] (\r\n[id] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\r\n[name] TEXT,\r\n[golov1] TEXT,\r\n[ups] TEXT);"
DSManager="11"
link(onError,7054140:doEvent1,[(422,139)(422,153)])
}
Add(DSC_Exec,7884957,273,399)
{
@Color=5636095
DSManager="11"
link(onExec,15277953:doEvent1,[])
link(onError,14022728:doWork,[(310,412)(310,419)])
}
Add(FormatStr,8126504,126,406)
{
Mask="INSERT INTO [vakcina] ([name], [number]) VALUES('%1', %2); "
link(onFString,15049159:doEvent2,[])
link(Str1,4864849:String,[(132,401)(104,401)])
link(Str2,16767801:Text,[])
}
Add(MST_DB,953009,483,413)
{
@Color=43520
MSTControl="вакцинация"
Point(doClear)
}
Add(Hub,15277953,336,399)
{
link(onEvent1,13439786:doEvent1,[(444,405)(444,433)])
link(onEvent2,11511635:doQuery,[(357,412)(357,419)])
}
Add(DSC_Query,11511635,364,413)
{
@Color=5636095
SQL="SELECT [name], [number] from [vakcina]"
DSManager="11"
link(onQuery,953009:doAddRow,[])
link(onError,12129855:doWork,[])
}
Add(LineBreakEx,14022728,315,413)
{
}
Add(LineBreakEx,8042414,392,161)
{
Type=1
link(OnEvent,7054140:doEvent3,[])
}
Add(LineBreakEx,12129855,406,427)
{
Caption="1"
}
Add(DSC_Exec,12182020,259,637)
{
@Color=5636095
DSManager="11"
link(onExec,10771421:doEvent1,[])
link(onError,3606489:doWork,[(296,650)(296,657)])
}
Add(FormatStr,11771530,119,644)
{
DataCount=4
Mask="INSERT INTO [grafikdata] ([name], [vozrast], [golov], [dtime]) VALUES('%1', %2, %3, %4); \r\nINSERT INTO [grafikname] ([name], [golov1], [ups]) VALUES('%1', %2, '%3'); "
link(onFString,14909773:doEvent2,[(162,650)(162,678)])
link(Str1,11406695:String,[(125,635)(111,635)])
link(Str2,15451964:Text,[(132,628)(237,628)])
link(Str3,269458:Text,[(139,632)(188,632)])
link(Str4,16251723:Data1,[])
}
Add(MST_DB,10553212,854,644)
{
@Color=5592575
MSTControl="график"
Point(doClearAll)
Point(doClear)
}
Add(LineBreakEx,3606489,301,651)
{
}
Add(Hub,10771421,322,637)
{
OutCount=5
link(onEvent1,2288361:doEvent2,[(351,643)(351,623)])
link(onEvent2,15451509:doData,[])
link(onEvent3,12922371:doQuery,[(366,657)(366,682)(595,682)(595,664)])
link(onEvent4,4614904:doQuery,[(350,664)(350,706)])
}
Add(DSC_Query,4614904,357,700)
{
@Color=5636095
SQL="SELECT [name], [vozrast], [golov], strftime("%d.%m.%Y", 1721424.5 + [dtime]), [dtime] from [grafikdata]"
DSManager="11"
link(onQuery,13313127:doEvent1,[])
link(onError,3923348:doWork,[])
}
Add(LineBreakEx,3923348,406,714)
{
}
Add(DSC_Query,12922371,602,658)
{
@Color=5636095
SQL="SELECT [name] from [vakcina]"
DSManager="11"
link(onQuery,9772768:doWork2,[(640,664)(640,657)])
link(onError,4829472:doWork,[])
}
Add(LineBreakEx,4829472,651,672)
{
}
Add(DoData,15451509,378,644)
{
Data=String(корпус)
link(onEventData,10823801:doAdd,[])
}
Add(MT_Add,3754311,462,644)
{
Data=String(поголовье)
link(onAdd,13615503:doAdd,[])
}
Add(HubEx,9772768,644,651)
{
link(onEvent,10498153:doEvent1,[])
}
Add(FormatStr,8156537,567,749)
{
DataCount=1
Mask="SELECT strftime("%d.%m.%Y", 1721424.5 + %1 + [number]) from [vakcina]"
link(onFString,11422646:doQuery,[])
link(Str1,10574426:Var2,[])
}
Add(DSC_Query,11422646,609,749)
{
@Color=5636095
DSManager="11"
link(onQuery,10214565:doAdd,[])
link(onError,6059374:doWork,[])
}
Add(LineBreakEx,6059374,651,763)
{
}
Add(MT_MultiMem,15251959,539,700)
{
Count=5
}
Add(Hub,13313127,427,700)
{
OutCount=6
link(onEvent1,15251959:doValue,[])
link(onEvent2,8156537:doString,[(529,713)(529,755)])
link(onEvent3,10341187:doAdd,[(522,720)(522,909)])
link(onEvent4,4303723:doClear,[(616,727)(616,762)])
link(onEvent5,2746206:doClear,[(602,734)(602,853)])
link(onEvent6,6802274:doString,[(521,741)(521,846)])
}
Add(MT_Memory,4303723,728,749)
{
}
Add(MT_Add,10214565,672,749)
{
InputMT=1
link(onAdd,4303723:doValue,[])
link(Data,15937933:Var3,[(678,733)(720,733)])
}
Add(MT_AddData,10341187,539,903)
{
Count=5
link(onAdd,10553212:doAddRow,[(767,909)(767,650)])
link(Data1,15251959:Value1,[])
link(Data2,15034842:Var2,[(552,867)(734,867)])
link(Data3,15251959:Value3,[])
link(Data4,15251959:Value4,[])
link(Data5,15937933:Var1,[(573,789)])
}
Add(GetDataEx,15937933,714,784)
{
Angle=1
link(Data,4303723:Value,[(734,789)])
}
Add(Label,2084213,91,308)
{
Left=15
Top=15
Width=64
Height=17
Caption="вакцинация"
}
Add(Label,6975909,133,308)
{
Left=15
Top=45
Width=78
Height=17
Caption="возраст (дней)"
}
Add(Button,8086717,105,84)
{
Left=865
Top=80
Width=65
Height=25
Hint="Сворачивает в трей"
Caption="Свернуть"
link(onClick,3126296:doEvent1,[])
}
Add(TrayIcon,6079368,266,77)
{
Hint="софтинка"
FormHook=0
ShowWORemoveIcon=0
Text="двойной клик - развернуть"
link(onDblClick,11103182:doCase,[])
}
Add(Case,11103182,308,84)
{
Value=Integer(0)
link(onTrue,7275996:doEvent1,[])
}
Add(Hub,3126296,238,84)
{
InCount=2
OutCount=1
link(onEvent1,6079368:doHide,[])
}
Add(ChanelToIndex,12581794,413,91)
{
link(onIndex,11607186:doVisible,[(452,97)(452,63)(81,63)(81,160)])
}
Add(Hub,7275996,350,91)
{
link(onEvent1,6079368:doShow,[(369,97)(369,69)(261,69)(261,83)])
link(onEvent2,12581794:doWork2,[])
}
Add(Hub,7309284,203,140)
{
OutCount=8
link(onEvent1,3126296:doEvent2,[(231,146)(231,97)])
link(onEvent2,6991059:doOpen,[])
link(onEvent3,922736:doMTString,[(243,160)(243,181)])
link(onEvent4,6668430:In,[(238,167)(238,209)])
link(onEvent5,8909681:In,[(231,174)(231,223)])
link(onEvent8,12328708:doMTString,[(235,195)(235,258)])
}
Add(Button,9281433,105,119)
{
Left=865
Top=50
Width=65
Height=25
Caption="Закрыть"
link(onClick,11607186:doClose,[(142,125)(142,153)])
}
Add(MT_String,922736,252,161)
{
link(onResult,2904434:doRowAction,[])
}
Add(MST_RowAction,2904434,294,161)
{
@Color=5592575
MSTControl="график"
}
Add(Hub,7054140,434,147)
{
InCount=3
link(onEvent1,3808633:doMessage,[])
}
Add(Button,4038752,364,504)
{
Left=20
Top=310
Width=195
Height=35
Caption="очистить"
link(onClick,13172925:doEvent1,[])
}
Add(DSC_Exec,16152874,469,511)
{
@Color=5636095
SQL="delete from vakcina;\r\ndelete from grafikdata;\r\ndelete from grafikname;"
DSManager="11"
}
Add(Hub,13172925,427,504)
{
OutCount=3
link(onEvent1,13439786:doEvent2,[(452,510)(452,440)])
link(onEvent2,16152874:doExec,[])
link(onEvent3,2288361:doEvent1,[(448,524)(448,616)])
}
Add(Hub,2288361,462,610)
{
InCount=2
link(onEvent1,10553212:doClearAll,[(665,616)(665,664)])
}
Add(Hub,13439786,455,427)
{
InCount=2
OutCount=1
link(onEvent1,953009:doClear,[])
}
Add(Hub,14909773,231,665)
{
InCount=2
link(onEvent1,12182020:doExec,[(252,671)(252,643)])
}
Add(LineBreak,9755629,175,658)
{
Caption="база1"
link(Out,14909773:doEvent1,[(225,664)(225,671)])
Primary=[6668430,77,-455]
}
Add(LineBreak,9099597,182,392)
{
Caption="база 2"
link(Out,15049159:doEvent1,[(237,398)(237,405)])
Primary=[8909681,70,-175]
}
Add(Hub,15049159,245,399)
{
InCount=2
link(onEvent1,7884957:doExec,[])
}
Add(MT_String,12328708,252,238)
{
link(onResult,7998381:doRowAction,[])
}
Add(MST_RowAction,7998381,294,238)
{
@Color=22015
MSTControl="график2"
}
Add(Hub,10498153,735,651)
{
link(onEvent1,10553212:doAddCols,[])
}
Add(InfoTip,7056213,343,483)
{
Info=#13:очистить базу|
Font=[MS Sans Serif,9,1,0,1]
Width=190
Height=102
}
Add(GetData,16251723,140,588)
{
Count=4
link(Data,9450650:DateInt,[(146,565)(160,565)])
}
Add(Hub,13250376,189,497)
{
OutCount=3
}
Add(Hub,6806148,63,406)
{
InCount=2
OutCount=1
link(onEvent1,8126504:doString,[])
}
Add(MT_Add,10823801,420,644)
{
Data=String(возраст)
link(onAdd,3754311:doAdd,[])
}
Add(Edit,269458,182,588)
{
Left=685
Top=15
Text="100"
DataType=2
}
Add(Edit,15451964,231,581)
{
Left=745
Top=16
Text="1"
DataType=2
}
Add(MT_Add,13615503,508,644)
{
Data=String(вывод)
link(onAdd,9772768:doWork1,[(648,650)])
}
Add(GetDataEx,8895160,763,872)
{
Angle=1
}
Add(GetDataEx,10574426,567,735)
{
link(Data,15251959:Value5,[])
}
Add(FormatStr,6802274,602,840)
{
DataCount=1
Mask="SELECT (strftime('%J',date('now','LOCALTIME')) -strftime('%J',date(dtime + 1721424.5)) ) AS [vozrast] FROM [grafikdata];"
link(onFString,3822030:doQuery,[])
link(Str1,15251959:Value2,[(608,786)(552,786)])
}
Add(DSC_Query,3822030,644,840)
{
@Color=5636095
DSManager="11"
link(onQuery,2933799:doAdd,[])
link(onError,3276288:doWork,[])
}
Add(LineBreakEx,3276288,686,854)
{
}
Add(MT_Memory,2746206,763,840)
{
}
Add(MT_Add,2933799,707,840)
{
InputMT=1
link(onAdd,2746206:doValue,[])
link(Data,15034842:Var1,[(713,828)])
}
Add(GetDataEx,15034842,728,823)
{
Angle=1
link(Data,2746206:Value,[(741,828)(741,884)(769,884)])
}



Теперь считает но как всегда но.... подсчет идет во всех колонках с датой. что опять не так я сделал?
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#78: 2014-01-20 21:32:29 ЛС | профиль | цитата
Medvedoc писал(а):
почему вы постоянно нападаете?
Потому, что при обучении самое лучшее - ремень.
И сколько можно повторять?

CREATE TABLE IF NOT EXISTS [vakcina] (
[id] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[name] TEXT,
[number] INTEGER);

CREATE TABLE IF NOT EXISTS [grafikdata] (
[id] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[name] TEXT,
[vozrast] INTEGER,
[golov] INTEGER,
[dtime] INTEGER); -- INTEGER,INTEGER,INTEGER

CREATE TABLE IF NOT EXISTS [grafikname] (
[id] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[name] TEXT,
[golov1] TEXT,
[ups] TEXT);

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 254
Рейтинг: 6
#79: 2014-01-20 21:51:14 ЛС | профиль | цитата
Tad, согласен даже возразить не могу вроде получилось
code_32870.txt

пока не переключил на dateInt все прекрасно работало. Теперь нет. И еще данная функция действует на весь столбец, то бишь одно значение получается на весь столбец
карма: 0

0
файлы: 1code_32870.txt [5.8KB] [231]
Ответов: 16884
Рейтинг: 1239
#80: 2014-01-20 22:07:55 ЛС | профиль | цитата
strftime('%J',date(date1 + 1721424.5)) ) AS [result] FROM [grafikdata];"
А не подскажешь где у тебя date1 в grafikdata ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 254
Рейтинг: 6
#81: 2014-01-21 17:44:21 ЛС | профиль | цитата
Tad, добрый вечер!
http://forum.hiasm.com/forum_serv.php?q=56&id=3680
вот пояснительная картинка
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#82: 2014-01-21 20:10:11 ЛС | профиль | цитата
Medvedoc писал(а):
вот пояснительная картинка
Нифига себе - пояснительная.
Извини, не знал, что поголовье и возраст измеряются в датах.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 254
Рейтинг: 6
#83: 2014-01-21 20:39:14 ЛС | профиль | цитата
Tad, ну это образные названия. суть в том, что с тех колонок берутся даты =(
карма: 0

0
Ответов: 254
Рейтинг: 6
#84: 2014-01-24 16:05:58 ЛС | профиль | цитата
Tad, я уже голову сломал - не получается получить нормальное число разницы текущей даты и выбранной. Все время расчитывается несколько значная цифра, словно где-то дата не правильно конвертируется
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#85: 2014-01-24 17:53:45 ЛС | профиль | цитата

#sql
SELECT -- Получить
strftime( -- функция SQLite
'%J', -- число дней, прошедших с полдня 24 ноября 4714 года до Нашей Эры
date('now', -- сегодняшняя дата (без времени). Функция Date() отсекает время (часы, минуты, секунды)
'localtime')) -- поправка на местное время
- -- минус
1721424.5 -- коеффициент для согласования даты SQLite с датой HiAsm DatePicker
- -- минус
735250 -- DateInt HiAsm DatePicker
)
Результат - разница в днях между текущей датой и датой DateInt HiAsm DatePicker.

#sql
SELECT strftime('%J',date('now','localtime')) - 1721424.5 -735250
Сегодня разница 7 дней. Завтра будет 8.
В твоём случае

#sql
SELECT strftime('%J',date('now','localtime')) - 1721424.5 - <вылупились DATEINT> FROM <таблица>
Что здесь непонятного ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8926
Рейтинг: 823
#86: 2014-01-24 18:45:23 ЛС | профиль | цитата
Tad писал(а):
Что здесь непонятного ?
"А куда лошадь запрягают?"
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#87: 2014-01-24 19:02:29 ЛС | профиль | цитата
так у него куры
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 254
Рейтинг: 6
#88: 2014-01-24 20:56:45 ЛС | профиль | цитата
1721424.5 -735250

вот с этим у меня видимо были проблемы
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#89: 2014-01-24 21:14:18 ЛС | профиль | цитата
Тебе видней.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 254
Рейтинг: 6
#90: 2014-01-24 21:36:01 ЛС | профиль | цитата
Tad, у меня была пробема с коэфициентом, поэтому получалась белиберда
code_32916.txt
Но при добавлении новой строки полученная цифра проставляется в каждой ячейке столбца. А надо, чтобы при добавлении новой строки расчет шел отдельно.
------------ Дoбавленo в 21.36:
SELECT strftime('%J',date('now','LOCALTIME')) - strftime('%J',date(date1)) from [grafikdata];
вот так оказалось правильным
карма: 0

0
файлы: 1code_32916.txt [6.4KB] [254]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)