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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2011, 12:23   #1
Serebah
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 44
По умолчанию Выбрать даты в StringGrid находящиеся между двумя другими датами

Добрый день.
Подскажите пожалуйста как решить следующую задачу.
У меня имеется две даты: дата начала периода и дата конца периода выраженные на форме DateTimePicker - ами.
Так же имеется StringGrid в котром в столбце 1 введены даты, а в столбце 2 индексы присвоенные этой дате.
Мне нужно выбрать из StringGrid - а все даты находящиеся в периоде между датой начала этого периода и датой конца которые введены в DateTimePicker, и соответственно связать их с индексами присвоенными выбранным датам.
Как это можно реализовать?
Serebah вне форума Ответить с цитированием
Старый 02.02.2011, 13:14   #2
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Легко реализуется в цикле. Кстати, откуда данные появились в stringgride?
_Engine_ вне форума Ответить с цитированием
Старый 02.02.2011, 13:23   #3
Serebah
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 44
По умолчанию

В StringGrid данные вводятся в режиме работы программы.
Как в цикле это можно отобразить. Помогите пожалуйста.
Serebah вне форума Ответить с цитированием
Старый 02.02.2011, 14:18   #4
Serebah
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 44
По умолчанию

Написал начало цикла, а что потом делать не хватает знаний
for i:=0 to Form3.StringGrid1.RowCount-1 do begin
If Form1.DateTimePicker1.DateTime<StrT oDate(Form3.StringGrid1.Cells[1,i])
<Form1.DateTimePicker2.DateTime then begin
Serebah вне форума Ответить с цитированием
Старый 02.02.2011, 16:23   #5
Serebah
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 44
По умолчанию

Помогите в общих чертах хоть решить вопрос. Сам не могу додумать.
Serebah вне форума Ответить с цитированием
Старый 03.02.2011, 11:59   #6
Serebah
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 44
По умолчанию

Я вот написал цикл для проверки периода

for i:= 1 to Form3.StringGrid1.RowCount-1 do
if StrToDate(Form3.StringGrid1.Cells[0, i])>Form1.DateTimePicker1.DateTime then
if StrToDate(Form3.StringGrid1.Cells[0, i])<Form1.DateTimePicker2.DateTime then

Но дальше не могу понять как мне теперь связать эти даты с индексами которые соответствуют этим датам и находятся в следующем столбце стрингрида.
А потом это все поочередно вставить в Лабел для отображения результата выборки.
Serebah вне форума Ответить с цитированием
Старый 03.02.2011, 13:49   #7
Serebah
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 44
По умолчанию

Помогите хоть как-то. Очень надо.
Serebah вне форума Ответить с цитированием
Старый 03.02.2011, 14:51   #8
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Код:
for i:= 1 to Form3.StringGrid1.RowCount-1 do
  if (StrToDate(Form3.StringGrid1.Cells[0, i])>Form1.DateTimePicker1.DateTime) AND 
     (StrToDate(Form3.StringGrid1.Cells[0, i])<Form1.DateTimePicker2.DateTime) then
       Label1.Caption := Label1.Caption + Form3.StringGrid1.Cells[1, i] + ' ; ';
_Engine_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
интервал между датами andrenisimus БД в Delphi 8 28.10.2010 14:05
Как между двумя датами определить время бодрствования? Dux Общие вопросы Delphi 14 16.09.2010 14:41
Разница между двумя датами (целые дни) Droid Общие вопросы Delphi 15 03.11.2009 23:36
выборка между двумя датами UnChanter БД в Delphi 1 30.03.2009 21:09
Разница между датами kykysya Общие вопросы Delphi 8 26.03.2009 18:22