Воскресенье, 05 Май 2024, 22:28
Uchi.ucoz.ru
Меню сайта
Форма входа

Категории раздела
Высшая математика [11]
Экономическая социология [95]
Основы Менеджмента [64]
Бухгалтерский учёт [157]
Философия [163]
Мировая Экономика [603]
Бизнес планирование [29]
Финансирование и кредитование инвест [105]
Ценообразование [46]
Гражданское право [196]
Права Человека [173]
Основы Маркетинга [207]
Основы энергосбережения [55]
Информатика [0]
Экология и устойчивое развитие [0]
Физика для студентов [0]
Основы права [0]
Политология [0]
Не стандартные примеры на Delphi [169]
Примеры на Delphi7 [108]
Алгоритмы [94]
API [110]
Pascal [152]
Базы Данных [6]
Новости
Чего не хватает сайту?
500
Статистика
Зарегистрировано на сайте:
Всего: 51635


Онлайн всего: 1
Гостей: 1
Пользователей: 0
Яндекс.Метрика
Рейтинг@Mail.ru

Каталог статей


Главная » Статьи » Студентам » Алгоритмы

Даты и недели
У меня есть программа, которая делает примерно то, что вы хотите. Она
сообщает для даты текущую неделю и день недели. Вам необходимо лишь реализовать
вычисление предела для дат недели. Кроме того, формат в этом коде для дат задан
в виде "06/25/1996".

Вы должны создать форму с именем "Forma", компонентом TEdit с именем "Edit1",
четырьмя метками и кнопкой с именем "GetWeekBtn". Убедитесь в том, что
обработчиком события формы OnCreate является метод FormCreate.

Надеюсь, что помог вам.

unit
Forma;

interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics,
Controls,
Forms, Dialogs, StdCtrls;
type

TForma1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
GetWeekBtn: TButton;
Label4: TLabel;
procedure GetWeekBtnClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
Function HowManyDays(pYear,pMonth,pDay:word):integer;
public
{ Public declarations }
end;var

Forma1: TForma1;
implementation

{$R *.DFM}
Uses Inifiles;

procedure
TForma1.FormCreate(Sender: TObject);
var
WinIni:TInifile;
begin

WinIni:=TIniFile.Create('WIN.INI');
WinIni.WriteString('intl','sShortDate','MM/dd/yyyy');
WinIni.Free;end;

Function
TForma1.HowManyDays(pYear,pMonth,pDay:word):integer;
var
Sum:integer;

pYearAux:word;begin

Sum:=0;
if pMonth>1 then
Sum:=Sum+31;
if pMonth>2 then
Sum:=Sum+28;
if pMonth>3 then
Sum:=Sum+31;
if pMonth>4 then
Sum:=Sum+30;
if pMonth>5 then
Sum:=Sum+31;
if pMonth>6 then
Sum:=Sum+30;
if pMonth>7 then
Sum:=Sum+31;
if pMonth>8 then
Sum:=Sum+31;
if pMonth>9 then
Sum:=Sum+30;
if pMonth>10 then
Sum:=Sum+31;
if pMonth>11 then
Sum:=Sum+30;

Sum:=Sum + pDay;
if ((pYear - (pYear div 4)*4)=3D0) and
(pMonth>2)then
inc(Sum);

HowManyDays:=Sum;end; {
HowManyDays }

procedure TForma1.GetWeekBtnClick(Sender:
TObject);
var

ADate: TDateTime;
EditAux:String;
Week,year,month,day:Word;begin

EditAux:=Edit1.Text;
ADate := StrToDate(EditAux);
Label1.Caption := DateToStr(ADate);
DecodeDate(Adate,Year,Month,Day);

Case DayOfWeek(ADate) of
1: Label4.Caption:='Воскресенье';
2: Label4.Caption:='Понедельник';
3: Label4.Caption:='Вторник';
4: Label4.Caption:='Среда';
5: Label4.Caption:='Четверг';
6: Label4.Caption:='Пятница';
7: Label4.Caption:='Суббота';
end
Week:=(HowManyDays(year,month,day) div 7) +1;

Label3.Caption:='Неделя No.
'+IntToStr(Week);end;

end.
Категория: Алгоритмы | Добавил: Lerka (21 Ноя 2012)
Просмотров: 435 | Рейтинг: 1.0/ 5 Оштрафовать | Жаловаться на материал
Похожие материалы
Всего комментариев: 0

Для блога (HTML)


Для форума (BB-Code)


Прямая ссылка

Профиль
Воскресенье
05 Май 2024
22:28


Вы из группы: Гости
Вы уже дней на сайте
У вас: непрочитанных сообщений
Добавить статью
Прочитать сообщения
Регистрация
Вход
Улучшенный поиск
Поиск по сайту Поиск по всему интернету
Наши партнеры
Интересное
Популярное статьи
Портфолио ученика начальной школы
УХОД ЗА ВОЛОСАМИ ОЧЕНЬ ПРОСТ — ХОЧУ Я ЭТИМ ПОДЕЛИТ...
Диктанты 2 класс
Детство Л.Н. Толстого
Библиографический обзор литературы о музыке
Авторская программа элективного курса "Практи...
Контрольная работа по теме «Углеводороды»
Поиск
Главная страница
Используются технологии uCoz