Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2011, 17:46   #1
Kompressor
 
Регистрация: 10.10.2011
Сообщений: 8
По умолчанию Delphi. Заполнить StringGrid днями месяца и недель из DateTimePicker

Пишу процедуру, которая берет месяц из DateTimePicker и заполняет первые две строчки StringGrid. Первая строчка заполняется днями месяца, вторая - недель. Запутался с циклом заполнения дней недель. Может кто хоть словами скажет, как правильно это сделать ? Вот что есть на сейчас :
Код:
procedure TForm1.NewSG;

var
 days:integer;//кол-во дней в месяце
 WD: integer;//день недели первого дня месяца
 i,j:integer;//
 dw: string;// день недели строковая
begin
//---Заполняем дни месяца---
 days:=DaysInMonth(DTP1.date);
 DateSeparator := '.';
 ShortDateFormat := 'dd/mm/yyyy';
 WD:=DayOfTheWeek(StrToDate(FormatDateTime('01.mm.yyyy',DTP1.date)));
 for i:=0 to days-1 do //заполняем дни месяца
 StringGrid1.Cells[i+1,0]:=IntToStr(i+1);
//---Теперь дни недель-----
  For WD:=1 to 7 do begin
 case WD of
     1:dw:='Пн';
     2:dw:='Вт';
     3:dw:='Ср';
     4:dw:='Чт';
     5:dw:='Пт';
     6:dw:='Сб';
     7:dw:='Вс';
Kompressor вне форума Ответить с цитированием
Старый 14.10.2011, 22:58   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
 for i:=0 to days-1 do begin
   StringGrid1.Cells[i+1,0]:=IntToStr(i+1);
   case WD of
   1:dw:='Вс';
   2:dw:='Пн';
   3:dw:='Вт';
   4:dw:='Ср';
   5:dw:='Чт';
   6:dw:='Пт';
   7:dw:='Сб';
   end;
   StringGrid1.Cells[i+1,1]:=dw;
   Inc(WD);
   if WD=8 then WD:=1;
 end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.10.2011, 23:00   #3
Kompressor
 
Регистрация: 10.10.2011
Сообщений: 8
По умолчанию

ругаетсяна Inc(WD);
:[Error] Unit1.pas(75): Assignment to FOR-Loop variable 'WD'
Kompressor вне форума Ответить с цитированием
Старый 14.10.2011, 23:03   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ну код свой покажите, напутали явно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.10.2011, 23:12   #5
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Delphi

!!!
Alar вне форума Ответить с цитированием
Старый 15.10.2011, 02:41   #6
Kompressor
 
Регистрация: 10.10.2011
Сообщений: 8
По умолчанию

to Аватар : спс тебе огромое, все рабтает в этом виде :
Код:
procedure TForm1.NewSG;

var
 days:integer;//наше долгожданное кол-во дней в месяце
 WD: integer;//еще более проблемный день недели
 i,j:integer;//
 dw: string;// день недели строковая
begin
 days:=DaysInMonth(DTP1.date);
 DateSeparator := '.';
 ShortDateFormat := 'dd/mm/yyyy';
 WD:=DayOfTheWeek(StrToDate(FormatDateTime('01.mm.yyyy',DTP1.date)));
 for i:=0 to days-1 do //заполняем дни месяца
 StringGrid1.Cells[i+1,0]:=IntToStr(i+1);
 //-------------------------------------------------
  for i:=0 to days-1 do begin
   StringGrid1.Cells[i+1,1]:=IntToStr(i+1);

 case WD of
     1:dw:='Пн';
     2:dw:='Вт';
     3:dw:='Ср';
     4:dw:='Чт';
     5:dw:='Пт';
     6:dw:='Сб';
     7:dw:='Вс';

end;
 StringGrid1.Cells[i+1,1]:=dw;
   Inc(WD);
   if WD=8 then WD:=1;
   end;
end;//begin
Kompressor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заполнить StringGrid StringList-ом maxefficiently Помощь студентам 0 23.02.2011 20:51
Заполнить StringGrid из дерева artemavd Общие вопросы Delphi 14 11.09.2010 19:20
StringGrid и DateTimepicker Neroaz Помощь студентам 11 02.04.2010 21:32
как заполнить StringGrid (Delphi) kaa1977 Помощь студентам 1 13.11.2009 08:40
Как заполнить StringGrid???? Anna_new Помощь студентам 15 19.04.2008 00:34