Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.01.2010, 09:51   #1
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию Разница дат

Добрый день! Необходимо:если месяц начала = месяцу конца, то значение равно 0, если месяц начала например ноябрь, а месяц окончания декабрь, то значение равно 1, и т.д.
Первая дата берется из DateTimePicker, вторая из таблицы. Как высчитать продолжительность?
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума
Старый 28.01.2010, 10:32   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
если месяц начала например ноябрь
Какого начала?
Вообще MonthOf() выдаст тебе номер месяца, вот и используй ее.
Есть еще MonthsBetween из Dateutils, которая даст тебе разницу между месяцами дат.
I'm learning to live...
Stilet вне форума
Старый 28.01.2010, 10:54   #3
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

спасибо вот еще такая проблема:
Есть кнопка прекращение обучения на нажатие такая реакция:
Код:
  FormAddTSt.add:=0;
  pos:=DBGrid1.DataSource.DataSet.RecNo;
  DataModule3.IBDataSet10.Insert;
  FormAddTSt.DateTimePicker1.date:=Date;
  FormAddTSt.Edit1.text:='';
  FormAddTSt.edit2.text:='';
  FormAddTSt.showmodal;
Открывается форма с едитами и кнопкой ок при нажатии такая реакция
Код:
try
  DataModule3.IBDataSet10.FieldByName('id_student').value:=DataModule3.IBDataSet7.FieldByName('id_student').Value;
  DataModule3.IBDataSet10.FieldByName('id_class').value:=DataModule3.IBDataSet7.FieldByName('id_class').Value;
  DataModule3.IBDataSet10.FieldByName('date_end').value:=DateTimePicker1.datetime;
  DataModule3.IBDataSet10.FieldByName('prichina').value:=edit1.Text;
  DataModule3.IBDataSet10.FieldByName('id_teacher').value:=DataModule3.IBDataSet7.FieldByName('id_teacher').Value;
  DataModule3.IBDataSet10.FieldByName('inf').value:=DataModule3.IBDataSet7.FieldByName('inf').Value;
  DataModule3.IBDataSet10.FieldByName('komment').value:=edit2.text;
  DataModule3.IBDataSet10.FieldByName('date_begin').value:=DataModule3.IBDataSet7.FieldByName('date_z').Value;
  DataModule3.IbQuery11.close;
  DataModule3.IbQuery11.parambyname('id').value:=DataModule3.IBDataSet7.FieldByName('id_kurs').Value;
  DataModule3.IbQuery11.open;
  if DataModule3.IbQuery11.fieldbyname('s1').value=null then
  begin
    DataModule3.IBDataSet10.FieldByName('zatrat').value:=0.0;
    DataModule3.IBDataSet10.FieldByName('agent').value:=0.0;
  end
  else
  begin
    DataModule3.IBDataSet10.FieldByName('zatrat').value:=DataModule3.IbQuery11.fieldbyname('s1').value;
    DataModule3.IBDataSet10.FieldByName('agent').value:=DataModule3.IbQuery11.fieldbyname('s2').value;
  end;
  num:=DataModule3.IBDataSet7.FieldByName('number').value;
  DataModule3.IBDataSet10.FieldByName('prodol').value:=1;
  DataModule3.IBDataSet10.Post;
  DataModule3.IBDataSet10.close;
  DataModule3.IBDataSet10.open;

  DataModule3.IBQuery12.parambyName('id').Value:=DataModule3.IBDataSet7.FieldByName('id_kurs').value;
  DataModule3.IBQuery12.ExecSQL;
  DataModule3.IBQuery13.parambyName('id').Value:=num;
  DataModule3.IBQuery13.ExecSQL;
  DataModule3.IBDataSet7.close;
  DataModule3.IBDataSet7.open;
  if add=0 then
  begin
    FormPar.deleteComboBox(Formkurs.ComboBox1);
    FormPar.InsertComboBox(DataModule3.IBDataSet7,FormKurs.ComboBox1,'fio');
    FormKurs.DBGrid1.DataSource.DataSet.First;
  end
  else
  begin
    //комбо для 22
    FormProd.DBGrid1.DataSource.DataSet.RecNo:=FormProd.pos;
  end;

except on e:EIBInterBaseError do
begin
    MessageBox(self.Handle,'Заполните пожалуйста все необходимые поля','Музыкальная школа на дому',MB_OK or MB_ICONWARNING);
    ModalResult:=mrNone;
    DateTimePicker1.SetFocus;
    flag:=0;
end;
end;
Дак вот когда доходит до post, выдает ошибку:cannot focus a disabled or invisible windows. Не понимаю что не нравится ему, на других формах работает
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сравнение дат Алёна Microsoft Office Excel 8 03.07.2009 10:47
C#: Сравнение дат Veiron Общие вопросы .NET 1 08.06.2009 23:32
Разница дат Ver0nica Общие вопросы Delphi 1 30.05.2009 18:38
Сравнение дат for_regist1 БД в Delphi 21 26.01.2009 01:29
сравнение дат Geddar Общие вопросы Delphi 2 04.06.2008 19:09