Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.10.2011, 16:27
Hetrue Hetrue вне форума
Прохожий
 
Регистрация: 11.10.2011
Сообщения: 46
Репутация: -241
По умолчанию Combobox

Как сделать так что бы программа учитывала высокосные года? А так же как использовать ComboBox, вместо Edit
Ответить с цитированием
  #2  
Старый 11.10.2011, 16:44
Lucky192 Lucky192 вне форума
Прохожий
 
Регистрация: 04.10.2011
Сообщения: 28
Репутация: 1351
По умолчанию

Пользуйтесь стандартными функциями (EncodeDate, DecodeDate и множество других на все случаи) - там все уже учтено.

С ComboBox можете работать так же как с Edit - у него тоже есть свойство Text. При желании можно заполнить список Items и переключать их свойством ItemIndex (в момент изменения будет меняться также и Text). Ну и свойство Style - если выберете csDropDownList - сможете только выбирать из списка - вручную ничего ввести будет нельзя. По умолчанию Style=csDropDown - можно или ввести вручную или выбрать из списка.
Ответить с цитированием
  #3  
Старый 11.10.2011, 17:46
Hetrue Hetrue вне форума
Прохожий
 
Регистрация: 11.10.2011
Сообщения: 46
Репутация: -241
По умолчанию

а можно пример кодировки с высокосным годом? буду очень признателен
Ответить с цитированием
  #4  
Старый 11.10.2011, 18:12
Lucky192 Lucky192 вне форума
Прохожий
 
Регистрация: 04.10.2011
Сообщения: 28
Репутация: 1351
По умолчанию

Объясните подробнее что хотите... Это?:
Код:
uses ..., DateUtils;  
...
  ShowMessage( IntToStr( DaysInYear( EncodeDate(2008,01,01) ) )); // 366 дней - високосный год
  ShowMessage( IntToStr( DaysInYear( EncodeDate(2011,01,01) ) )); // 365 дней - обычный год
А то есть еще функция IsLeapYear (модуль SysUtils), которая просто скажет является ли данный год високосным.
Ответить с цитированием
  #5  
Старый 11.10.2011, 21:46
Hetrue Hetrue вне форума
Прохожий
 
Регистрация: 11.10.2011
Сообщения: 46
Репутация: -241
По умолчанию

Благодарю!!
Ответить с цитированием
  #6  
Старый 12.10.2011, 12:09
Hetrue Hetrue вне форума
Прохожий
 
Регистрация: 11.10.2011
Сообщения: 46
Репутация: -241
Радость

А если через SysUtils, то как это будет выглядить? Заранее благодарю
Ответить с цитированием
  #7  
Старый 12.10.2011, 13:55
Lucky192 Lucky192 вне форума
Прохожий
 
Регистрация: 04.10.2011
Сообщения: 28
Репутация: 1351
По умолчанию

Код:
if IsLeapYear(2008) then ShowMessage('високосный') else ShowMessage('невисокосный');
Ответить с цитированием
  #8  
Старый 12.10.2011, 15:11
Hetrue Hetrue вне форума
Прохожий
 
Регистрация: 11.10.2011
Сообщения: 46
Репутация: -241
По умолчанию

всегда выдаёт что высокосный год ><
Ответить с цитированием
  #9  
Старый 12.10.2011, 15:18
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от Hetrue
всегда выдаёт что высокосный год ><
Так ты в скобки нужный год подставляй:
Код:
IsLeapYear(СЮДА НУЖНЫЙ ГОД!!!);
__________________
Google в помощь
Ответить с цитированием
  #10  
Старый 12.10.2011, 15:21
Hetrue Hetrue вне форума
Прохожий
 
Регистрация: 11.10.2011
Сообщения: 46
Репутация: -241
По умолчанию

Цитата:
Сообщение от Ildar-tsr
Так ты в скобки нужный год подставляй:
Код:
IsLeapYear(СЮДА НУЖНЫЙ ГОД!!!);
так там стоит высокосный , 2008 высокосный
Ответить с цитированием
  #11  
Старый 12.10.2011, 15:24
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от Hetrue
так там стоит высокосный , 2008 высокосный

Ну так если стоит 2008ой и он високосный, чего ты жалуешься что все время выдает високосный?
__________________
Google в помощь
Ответить с цитированием
  #12  
Старый 12.10.2011, 16:40
Hetrue Hetrue вне форума
Прохожий
 
Регистрация: 11.10.2011
Сообщения: 46
Репутация: -241
По умолчанию

Цитата:
Сообщение от Ildar-tsr
Ну так если стоит 2008ой и он високосный, чего ты жалуешься что все время выдает високосный?
так мне надо что бы какой бы не выбрал я год, он показывал что , либо выскоксный, либо нет
Ответить с цитированием
  #13  
Старый 12.10.2011, 18:12
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Если я правильно понял выбирается из ComboBox'a. Верно?
Какие там элементы в нем? Года?
2000
2001
2002
2003
...
2011
Так?
__________________
Google в помощь
Ответить с цитированием
  #14  
Старый 13.10.2011, 18:59
kalinochkind kalinochkind вне форума
Прохожий
 
Регистрация: 06.06.2010
Сообщения: 15
Репутация: 12
По умолчанию

Код:
IsLeapYear(strtoint(combobox1.text))
Ответить с цитированием
  #15  
Старый 13.10.2011, 21:01
Hetrue Hetrue вне форума
Прохожий
 
Регистрация: 11.10.2011
Сообщения: 46
Репутация: -241
По умолчанию

Всем спасибо!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:39.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025