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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.11.2011, 21:52
Gudzik11 Gudzik11 вне форума
Начинающий
 
Регистрация: 27.09.2011
Сообщения: 158
Репутация: 10
По умолчанию DayOfWeek(Date)

Здравствуйте такой вопрос
Код:
 case DayOfWeek(Date) of
     2: day:='пн';
     3: day:='вт';
     4: day:='ср';
     5: day:='чт';
     6: day:='пт';
     7: day:='сб';
     1: day:='вс';
   end;
   Label11.Caption:=day;
   Label12.Caption:=?;
  end;
так вот Label11.Caption выводиться какой то день а в Label12.Caption мне нужно получить следующий день .
подскажите как это зделать ?
Ответить с цитированием
  #2  
Старый 08.11.2011, 21:55
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Нескромный вопрос, сколько вам лет? Арифметику в школе уже изучали?
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #3  
Старый 08.11.2011, 22:03
Gudzik11 Gudzik11 вне форума
Начинающий
 
Регистрация: 27.09.2011
Сообщения: 158
Репутация: 10
Смех

я знаю звучит глупо

нужно DayOfWeek(Date)+1 но где ?
Ответить с цитированием
  #4  
Старый 08.11.2011, 22:13
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Чтобы не городить огород, вынеси все дни недели в константный массив, тогда и вопрос решается гораздо легче.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #5  
Старый 08.11.2011, 23:11
Gudzik11 Gudzik11 вне форума
Начинающий
 
Регистрация: 27.09.2011
Сообщения: 158
Репутация: 10
По умолчанию

Код:
  day:= DayOfWeek(Date);
    Case dey of
     1: Caption:='вс';
     2: Caption:='пн';
     3: Caption:='вт';
     4: Caption:='ср';
     5: Caption:='чт';
     6: Caption:='пт';
     7: Caption:='сб
  end;
  
   Label11.day;
   Label12.day+1;
 end;
 
';

может как то так

а где можно поподробней почитать про константный массив
Ответить с цитированием
  #6  
Старый 08.11.2011, 23:40
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Вот, если не напутал.
Код:
const
  aDay : array[0..6] of String = ('вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб');
var
  I : Integer;
begin
  Label11.Caption := aDay[DayOfWeek(Date) - 1];;
  I := DayOfWeek(Date);
  if I = 7 then
    I := 0; 
  Label12.Caption := aDay[i];
end;
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #7  
Старый 08.11.2011, 23:47
Gudzik11 Gudzik11 вне форума
Начинающий
 
Регистрация: 27.09.2011
Сообщения: 158
Репутация: 10
По умолчанию

спасибо
буду разбираться
Ответить с цитированием
  #8  
Старый 09.11.2011, 02:28
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А вот так слабо:

Код:
function DayOfWeekStr(ADate : TDateTime) : String;
begin
  Case DayOfWeek(ADate) Of
     1: Result:='вс';
     2: Result:='пн';
     3: Result:='вт';
     4: Result:='ср';
     5: Result:='чт';
     6: Result:='пт';
     Else Result:='сб';
  End;
end;

...

Label1.Caption := DayOfWeekStr(Date);
Label2.Caption := DayOfWeekStr(Date+1);
Ответить с цитированием
  #9  
Старый 09.11.2011, 02:39
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Нас на слабо не возьмёшь. И что у тебя вернётся в Label2 при Result:='сб'? Всегда суббота, а как же следующий за ним день?
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #10  
Старый 09.11.2011, 09:53
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от angvelem
Нас на слабо не возьмёшь. И что у тебя вернётся в Label2 при Result:='сб'? Всегда суббота, а как же следующий за ним день?

Внимательно смотри код.
Он вернет 'вс', т.к. тут вопрос в том, какой параметр передается в функцию. Ну и неплохо бы понимать как устроен TDateTime и какой результат будет для Date()+1 (специально указал Date() со скобками - это встроенная функция).
Ответить с цитированием
  #11  
Старый 09.11.2011, 21:15
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Цитата:
Сообщение от lmikle
Внимательно смотри код...
Ух проглядел, ещё ведь несколько раз глянул и всё равно не обратил внимание, что Date это функция. Мораль - по ночам нужно спать.
А как он устроен я знаю.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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