![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Имеется таблица stringgrid
![]() Итак, нужна помощь. Требуется сделать фильтр по возрасту(до *** лет, старше *** лет, от *** до *** лет). ![]() Также нужно сделать филтр по полу через RadioGroup ![]() И сделать общий фильтр, т.е. допустим - мужской пол, с отличным знанием компьютера и знанием английского языка ![]() Было бы неплохо побыстрее. Заранее благодарен. |
|
#2
|
||||
|
||||
|
База данных спасет гиганта мысли.
|
|
#3
|
||||
|
||||
|
Цитата:
![]() |
|
#4
|
||||
|
||||
|
загнать данные в ClientDataSet и отображать их в DBGrid, используя свойство Filter (у ClientDataSet).
|
|
#5
|
||||
|
||||
|
Цитата:
З.Ы. Почти все сделал, осталось только фильтр по возрасту сделать. Помогите пожалуйста. |
|
#6
|
||||
|
||||
|
Чтоб упростить последующие вычисления хорошо бы добавить к таблице колонку "Возраст" и заполнять её данными из поля "Дата рождения" с помощью вот этого:
Код:
function CalculateAge(Birthday, CurrentDate: TDate): Integer; var Month, Day, Year, CurrentYear, CurrentMonth, CurrentDay: Word; begin DecodeDate(Birthday, Year, Month, Day); DecodeDate(CurrentDate, CurrentYear, CurrentMonth, CurrentDay); if (Year = CurrentYear) and (Month = CurrentMonth) and (Day = CurrentDay) then Result:= 0 else begin Result:= CurrentYear - Year; if (Month > CurrentMonth) then Dec(Result) else if (Month = CurrentMonth) and (Day > CurrentDay) then Dec(Result); end; // ©Drkb::04233 end; Код:
Label1.Caption:= Format('Петров М.А. 12.03.1978 (%d)', [CalculateAge(StrToDate('12.03.1978'), Date)]); |
|
#7
|
||||
|
||||
|
Цитата:
|