Форум: "Начинающим";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];
Внизпомогите алгоритмом Найти похожие ветки
← →
kazar (2008-06-27 14:30) [0]а как бы закодить такую штуку) скажем имеется у меня 6 это номер месяца, тоесть июнь, я прибавляю 8 это 14, это буит февраль, на выходе месяцы с июня по февраль
← →
Palladin © (2008-06-27 14:34) [1]на выходе откуда?
← →
Ega23 © (2008-06-27 14:35) [2]6+8=14 ???
Это с каких это пор?
6+8=Е
← →
Игорь Шевченко © (2008-06-27 14:46) [3]
> а как бы закодить такую штуку
MOD 12
← →
Игорь Шевченко © (2008-06-27 14:47) [4]
> я прибавляю 8
9 надо прибавлять
← →
AndreyV © (2008-06-27 15:10) [5]> [0] kazar (27.06.08 14:30)
Только с июня текущего года по февраль следующего?
>
[3] Игорь Шевченко © (27.06.08 14:46)
> MOD 12
Не покатит - месяца 0 не существует.
← →
McSimm © (2008-06-27 15:16) [6]
> Не покатит - месяца 0 не существует.
а если хоть капельку подумать?
информация для капельки:
mod 12 вернет значения от 0 до 11. (всего 12 возможных значений)
← →
AndreyV © (2008-06-27 15:35) [7]> [6] McSimm © (27.06.08 15:16)
> а если хоть капельку подумать?
>
> информация для капельки:
> mod 12 вернет значения от 0 до 11. (всего 12 возможных значений)
Да я не о том.
Вопрос не понятен. Что за: "на выходе месяцы"?
← →
Anatoly Podgoretsky © (2008-06-27 15:47) [8]27.06.2008 - 27.14.2008
← →
Rouse_ © (2008-06-27 15:48) [9]
> Не покатит - месяца 0 не существует.
Ну а с единицы только на Бейсике индексируют ;)
← →
Anatoly Podgoretsky © (2008-06-27 15:49) [10]Реализация
for m := 6 to 14 do x := "27." + FormatFloat("00", m) + ".2008";
← →
Поросенок Винни-Пух © (2008-06-27 15:50) [11]это не месяц. месяц круглый и желтый.
← →
korneley © (2008-06-27 16:07) [12]
> Поросенок Винни-Пух © (27.06.08 15:50) [11]
> это не месяц. месяц круглый и желтый.
Гы... Он не круглый, круглая Луна. И то, не всегда. Месяц, он серповидный... :))
← →
kazar (2008-06-27 16:08) [13]Насчёт выхода, скажем пусть пишет в массив. Я получил 14 месяцев, например: июнь 2008 г, июль 2008 г, август 2008 г, ........июнь 2009 г. Тоесть в массиве будут чисто названия этих месяцев.
← →
Поросенок Винни-Пух © (2008-06-27 16:08) [14]это оптический обман. еще галилей знал, что месяц круглый
← →
Palladin © (2008-06-27 16:13) [15]
Const
Months:Array [0..11] of String=(
"Январь",
"Февраль",
"Март",
"Апрель",
"Май",
"Июнь",
"Июль",
"Август",
"Сентябрь",
"Ноябрь",
"Декабрь")
Var
a:Array [0..6] of String;
y,i:Integer;
y:=2008;
For i:=8 to 14 Do a[i-8]:=Months[i mod 12]+" "+IntToStr(y+(i div 12));
← →
korneley © (2008-06-27 16:15) [16]
> Anatoly Podgoretsky © (27.06.08 15:49) [10]
Не сработает :)
А без цикла не обойтись. Если: "на выходе месяцы с июня по февраль
" ДалееIncMonth()
в руки, ну и, как водится - F1
← →
Anatoly Podgoretsky © (2008-06-27 16:17) [17]> Поросенок Винни-Пух (27.06.2008 16:08:14) [14]
Месяц не круглый, в нем от 28 до 31 дня.
← →
Поросенок Винни-Пух © (2008-06-27 16:21) [18]Const
Months:Array [0..11] of String=(
"Январь",
"Февраль",
"Март",
"Апрель",
"Май",
"Июнь",
"Июль",
"Август",
"Сентябрь",
"Ноябрь",
"Декабрь")
Ай-ай! Как не стыдно!
Sysutils.LongMonthNames
← →
Palladin © (2008-06-27 16:23) [19]а они с 1 начинаются, а нафига лишний инкремент, очень сильно влияет на производительность
← →
Anatoly Podgoretsky © (2008-06-27 16:26) [20]> korneley (27.06.2008 16:15:16) [16]
Как это не сработает, я же проверял, у меня получилось 27.14.2008
← →
korneley © (2008-06-27 16:27) [21]
> Palladin © (27.06.08 16:13) [15]
О, блин! Только понял: "Так автору нужны только месяцы!". Поэтому+IntToStr(y+(i div 12));
можно исключить. :)
← →
Игорь Шевченко © (2008-06-27 16:28) [22]Anatoly Podgoretsky © (27.06.08 16:26) [20]
До сих пор в 14-ом месяце было 25 дней
← →
korneley © (2008-06-27 16:30) [23]
> Anatoly Podgoretsky © (27.06.08 16:26) [20]
:)) Боюсь, читатели даты будут немного дезориентированы :))
← →
Palladin © (2008-06-27 16:41) [24]
> korneley © (27.06.08 16:27) [21]
да не... в [13] аффтар примеры привел... но мой код все равно на смарку... я букву гэ не добавил...
← →
Anatoly Podgoretsky © (2008-06-27 17:04) [25]> korneley (27.06.2008 16:30:23) [23]
Сменить читателей.
← →
Anatoly Podgoretsky © (2008-06-27 19:54) [26]
> я букву гэ не добавил...
Без буквы Гэ это не код, а без буквы Гэ
← →
kazar (2008-06-29 22:05) [27]И все таки, ёще раз, начальная дата 29.06.2008, конечная дата 29.02.2009. Резульата
Июнь2008, Июль2008, Август2008 …… Январь2009, Февраль2009. Но начальная и конечная дата могут меняться.
← →
Сергей М. © (2008-06-29 22:20) [28]IncMonth() в цикле по числу "прибавляемых" месяцев, в каждой итерации - сравнение полученного в рез-те инкремента значения даты с указанной границей диапазона дат.
← →
kazar (2008-06-29 23:54) [29]сори, пример можно?
← →
korneley © (2008-06-30 00:50) [30]
> kazar (29.06.08 23:54) [29]
> сори, пример можно
вар МайДатеТайм, типа, TДатеТайм;
...
МайДатеТайм присвоить Нау;
фор и присвоить ноль до КоличествоМесяцев минус один бегин
...
МайДатеТайм присвоить IncMonth(МайДатеТайм);
...
//the
end;
← →
{RASkov} © (2008-06-30 00:52) [31]> [29] kazar (29.06.08 23:54)
А чем тебе [15] - не пример?
Вот примерно тоже самое, т.е. подправлено:procedure EnumMes(FromYear, FromMes, CountMes: Integer; Lst: TStrings);
var i: Integer;
begin
{Тут всякие проверки на вшивость, диапазон FromMes, валидность Lst... и т.п.}
for i:=FromMes-1 to FromMes+CountMes-2 do
Lst.Add(Format("%s %d г.", [LongMonthNames[i mod 12+1], FromYear+(i div 12)]));
end;
Например:
EnumMes(2008, 6, 8, ListBox.Items);
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.008 c