Topic: Вопрос по работе со временем

Понадобилось кроме текущей даты сохранять и текущее время Как я понял в DateTimePicker есть режим показа/выбора даты и есть режим для времени. Дата в базе храниться вместе со временем как я понимаю. Нужно иметь возможность задавать дату и время отдельно (в отдельных соответствующих пикерах) и потом сохранять ее в одно поле записи. Как это можно сделать?

И попутно еще вопрос - Если на форме происходит создание записи в БД по кнопке в которой Action типа СОХРАНИТЬ ЗАПИСЬ, то в какой момент после сохранения можно вызвать метод скрипта, чтобы в эту запись (то есть ее id нужно получить) дописать еще некоторые данные, которые на основной форме невозможно в ней сохранить?

Re: Вопрос по работе со временем

atempbox wrote:

Понадобилось кроме текущей даты сохранять и текущее время Как я понял в DateTimePicker есть режим показа/выбора даты и есть режим для времени. Дата в базе храниться вместе со временем как я понимаю. Нужно иметь возможность задавать дату и время отдельно (в отдельных соответствующих пикерах) и потом сохранять ее в одно поле записи. Как это можно сделать?

Об этом более подробней можно прочитать здесь (Подробней о свойстве "Calendar")
http://myvisualdatabase.com/help_ru/com … icker.html



atempbox wrote:

И попутно еще вопрос - Если на форме происходит создание записи в БД по кнопке в которой Action типа СОХРАНИТЬ ЗАПИСЬ, то в какой момент после сохранения можно вызвать метод скрипта, чтобы в эту запись (то есть ее id нужно получить) дописать еще некоторые данные, которые на основной форме невозможно в ней сохранить?

Можно таким образом, в событии OnAfterClick у кнопки с действием "Сохранить запись"

procedure Form2_ButtonSave_OnAfterClick (Sender: string);
var
  id: integer;
begin
    id := Form2.ButtonSave.dbGeneralTableID;
end;
Dmitry.

Re: Вопрос по работе со временем

Спасибо! Попробовал связать два компонента Время и Дата - время не сохраняется в базе, дата сохраняется. Если вручную время в базе прописать, то пикер для времени его отображает.

Re: Вопрос по работе со временем

atempbox wrote:

Спасибо! Попробовал связать два компонента Время и Дата - время не сохраняется в базе, дата сохраняется. Если вручную время в базе прописать, то пикер для времени его отображает.

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

Dmitry.

Re: Вопрос по работе со временем

Сделал именно так. Но время не сохраняется.
Еще такой вопрос - можно ли у пикера сделать так, чтобы не было чекбокса в начале? ТО есть например чекбокс установлен, но не видим и пользователь его не может изменить.

Re: Вопрос по работе со временем

atempbox wrote:

Сделал именно так. Но время не сохраняется.
Еще такой вопрос - можно ли у пикера сделать так, чтобы не было чекбокса в начале? ТО есть например чекбокс установлен, но не видим и пользователь его не может изменить.


Пришлите пожалуйста ваш проект на support@drive-software.com
посмотрю в чем причина.



пример:
Form1.DateTimePicker1.ShowCheckbox := True;  // показывает чекбокс
Form1.DateTimePicker1.ShowCheckbox := False; // скрывает чекбокс

Dmitry.

Re: Вопрос по работе со временем

Очевидно не работает, потому что тип поля в базе ДАТА, а нужно очевидно ДАТА/ВРЕМЯ Кстати, когда в редакторе базы поменял тип поля в таблице, все данные в этой колонке очистились. НО я перед этим копию сделал. Так что скорее всего просто добавлю еще колонку ВРЕМЯ и буду с ней отдельно работать.