Вот кок раз и надо мне проверка "локального времени"... sibprogsistem а не знаете, есть программы автозагрузка или планировщик, чтоб именно в этот момент времени срабатывало действие, без нажатия чего либо...

Странно, с утра по раньше в процедуре OnMouseEnter,  перестало работать, а вчера норм было... Какой-то за тык был... у меня 10.30 часов в реали было, сработало не на больше 10, 9, а только на "1"... Добавил минуты и заработало... НО только в процедуре OnMouseEnter таблицы. В процедуре таблицы OnChange, не работает...

В этой процедуре не работает, а хотелось бы..

procedure 

...
form1.Button5.Visible := false;
...

Form1_TableGrid1_OnChange (Sender: TObject);
var
    i, Ii, cR, cC : integer;
begin
    cR := Form1.TableGrid1.RowCount - 1;
    cC := Form1.TableGrid1.Columns.Count - 1;

    Form1.TableGrid1.BeginUpdate;
    for i := 0 to cR do
    begin
        //Условие сравнение разности дат из 2го столбца
        if (Form1.TableGrid1.Cells[0,i] <>'') and (Date - StrToDateTime(Form1.TableGrid1.Cells[0,i]) >=0) then
        begin
            for Ii:=0 to Cc do Form1.TableGrid1.Cell[Ii,i].Color := $adffaf;
        end;
        if (Date - StrToDateTime(Form1.TableGrid1.Cells[0,i]) >=5) then
        begin
            for Ii:=0 to Cc do Form1.TableGrid1.Cell[Ii,i].Color := $addfff;
        end;
        if (Date - StrToDateTime(Form1.TableGrid1.Cells[0,i]) >=10) then
        begin
            for Ii:=0 to Cc do Form1.TableGrid1.Cell[Ii,i].Color := $adafff;
        end;
     end;
    //Обнавление таблицы
    Form1.TableGrid1.EndUpdate;
    //Формирование "напоминания"
    if (FormatDateTime('hh', now) > '12') then form1.Button5.Visible := true;
end;

Вот так ошибок нет... но не работает

if (FormatDateTime('hh', now) > '12') then 

ага в OnChange не работает, а хотелось бы... или какая-нибудь чтоб кликнул на таблицу и скрипт сработал... на OnMouseEnter работает

Вот таблицу, хотелось бы не привлекать к временному условие. Оно, условие, должно быть автономное. Это почему... Т.к."Напоминание" срабатывает по старту проги, а если комп с прогой всегда в гибернации, то надо собирать "напоминание" по условию времени...

и можно скопировать значение DateTimePicker в Edit, и делать, что угодно...

Наверно, как-то так...

if (FormatDateTime('??.??', now) = 12.00) then 

где ??.?? я не знаю обозначения из (dd.mm.yyyy.??.??.????)...

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

Осталось таймер на 12 часов прикрутить и гифку...

Смотрите, когда в таблице дубликате (напоминание) появляется запись, то по условию, на главной форме должна появится форма оповещения, чтобы посмотреть выборку... И в этой выборке, разные id по возрастанию... Оно у меня работает, если удалить базу, и она заново создается...

Скорее мне надо

if SQLExecute('SELECT count(id)FROM Table')>'0' then

Я так пытался, но не заработало... я так думаю, из-за того что, условие ищет нулевой id, а его нет. приходящие id могут быть разными...  Вот...

А как будет выглядеть условие на просмотр таблицы на наличие хотя бы одного любого id...

sibprogsistem, Странно, принцип работы с обычным циклом похожи, но если просто цикл, то он записи 3 раза повторяет(заносит в таблицу). Тут, наверно, магическое TStringList...

Почему не работало

SQLEXecute('INSERT INTO asd (data01,text01) SELECT (data00,text00) FROM qwe');

потому что надо, наверно, было конвертировать поле с датой в текстовое...

Вот... Подскажите, как удалить все записи из указанной таблицы... нашел такой код, но не работает

SQLExecute('DROP DATABASE asd');

Спасибо, мы не ищем легких путей... попробую,...

Да, чтоб оставалась, наверно, точнее делать дубликат... Задумка другая, когда появиться хоть одна запись в таблице дублирования, то на главной форме гифка за моргает,.Далее производится переход через кнопку в форму "напоминаний", а там тыкаем по записи, открывается форма просмотра, а после этого запись из таблицы напоминаний удаляется, и так с каждой записью "напоминания". Вот. Сейчас надо сделать дубликат записей по разности дат. Где условие понятно как сделать, а вот как выделить в таблице запись по условию и скопировать в другую непонятно...

Условием, я б хотел, чтоб просроченные записи копировались в независимую таблицу (asd), где после просмотра, они удалялись без ущерба для основной базы.
Окраской в таблице, у меня занимается цикл

for Ii:=0 to Cc do form1.TableGrid1.Cell[Ii,i].Color := $adffaf;
for k:=0 to list.Count-1 do if (SQLexecute('SELECT julianday("now") - julianday(data00)FROM qwe WHERE id='+list[k])>=0) then SQLEXecute('INSERT INTO asd (data01,text01) SELECT (data00,text00) FROM qwe');

Что-то, я делаю не так...

sibprogsistem wrote:

смените file на Вашу таблицу

Таблицу, из которой берутся значения...? И значит надо id записать в таблицу asd.

sibprogsistem, а можете разъяснить, вот эту строчку...

SELECT group_concat(id, char(13) || char(10)) FROM file

derek, да это интересно, но для движения задачи. А хотелось бы, после просмотра удалять запись без удаления из базы.

Вот подсмотрел

SQLEXecute('INSERT INTO asd (data01,text01) SELECT (data00,text00) FROM qwe');

Разметил в цикле, но в чем-то синтаксическая ошибка...

И так сделать, чтоб индивидуально по строке срабатывало...

Раскраска есть, но если база, по мере работы, заполнится так что будет не видно предыдущие записи и записи  с "хранением", то они будут проигнорированы, а так, например, начался рабочий день, включил таблицу, обработал все напоминания...

Вот тело,... не понимаю, как занести значения во вторую таблицу...

Задумка...
Из существующей таблицы, просматривается (сравнивается) дата всех записей, и если выходит за рамки, формируется в другой таблице строки напоминания по просроченным записям.
Из оповещений, на главной форме анимация мигающей лампочки.
После входа в таблицу напоминаний и тыканья по интересующей строчке производится переход, а напоминание по просмотренному удаляется из списка, и создается новый предел срабатывания...

Вот....