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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2010, 18:12   #11
Epc
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 20
По умолчанию

Я понимаю что туплю, он копирую как вы показали, в точности ваш прошлый пост (длинный вариант, пробовала и короткий), но он не присваивает 0, он генерирует 1 раз число и дальше кнопка не действует сколько бы я не ждала
Epc вне форума Ответить с цитированием
Старый 04.11.2010, 18:16   #12
Риндера
Delphi, учу С
Форумчанин
 
Аватар для Риндера
 
Регистрация: 20.10.2010
Сообщений: 178
По умолчанию

Ну иссессно, у тебя вся эта процедура на одной кнопке? И в этой процедуре кнопка блокируется?) А процедура срабатывает только по нажаю кнопки.
Риндера вне форума Ответить с цитированием
Старый 04.11.2010, 18:17   #13
Epc
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 20
По умолчанию

Я не понимаю что делать с

Код:
procedure SystemTime(Label1:TLabel;Label2:TLabel);
var lt:TSYSTEMTIME;
begin
GetLocalTime(lt);
Label1.Caption:=IntToStr(lt.wDay)+'.'+
                IntToStr(lt.wMonth)+'.'+
                IntToStr(lt.wYear);
Label2.Caption:=IntToStr(lt.wHour)+':'+
                IntToStr(lt.wMinute)+':'+
                IntToStr(lt.wSecond);
end;

Последний раз редактировалось Stilet; 04.11.2010 в 18:51.
Epc вне форума Ответить с цитированием
Старый 04.11.2010, 18:19   #14
Риндера
Delphi, учу С
Форумчанин
 
Аватар для Риндера
 
Регистрация: 20.10.2010
Сообщений: 178
По умолчанию

С ней ничего не надо делать! Это просто пример)
Мы из нее уже взяли всё что было нужно.

Цитата:
Очень нехороший подход
Roof, а я еще и банальная, как сказал тут кое-кто-не-будем-показывать-пальцем)
Риндера вне форума Ответить с цитированием
Старый 04.11.2010, 18:21   #15
Epc
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 20
По умолчанию

Вся процедура только в 1 кнопке, больше у меня нигде ничего не добавлено. Захожу на форму, на ней в едит1=0, потом нажиамю кнопку ген-ся сл. число, потом нажимаю снова на кнопку и больше ничего не генерируется, через время 0 не присваивается., потому что я не знаю как задать lt.wMonth
Код:
procedure TForm7.Button1Click(Sender: TObject);

begin
GetLocalTime(lt); // ñîáñòâåííî ñ÷èòûâàíèå ñèñòåìíîãî âðåìåíè
 kolBezrab:= StrToFloat(Edit1.Text);
 if  kolBezrab=0 then
   begin
   Button1.Enabled:= true;
   randomize;
   kolBezrab:=random(20);
   Edit1.Text:=FloatToStr(kolBezrab);
   end
else
 begin
// Button1.Enabled:=false;
 case lt.wMonth of // çàìåíèëà Mes íà çíà÷åíèå ìåñÿöà èç ñèñ. âðåìåíè
1: if Day=32 then begin kolBezrab:=0; Edit1.Text:=FloatToStr(kolBezrab); Button1.Enabled:= true;end;
2: if Day=29 then begin kolBezrab:=0; Edit1.Text:=FloatToStr(kolBezrab); Button1.Enabled:= true; end;
3: if Day=32 then begin kolBezrab:=0; Edit1.Text:=FloatToStr(kolBezrab);Button1.Enabled:= true;  end;
4: if Day=31 then begin kolBezrab:=0; Edit1.Text:=FloatToStr(kolBezrab); Button1.Enabled:= true; end;
5: if Day=32 then begin kolBezrab:=0; Edit1.Text:=FloatToStr(kolBezrab); Button1.Enabled:= true; end;
6: if Day=31 then begin kolBezrab:=0; Edit1.Text:=FloatToStr(kolBezrab); Button1.Enabled:= true; end;
7: if Day=32 then begin kolBezrab:=0; Edit1.Text:=FloatToStr(kolBezrab); Button1.Enabled:= true; end;
8: if Day=32 then begin kolBezrab:=0; Edit1.Text:=FloatToStr(kolBezrab); Button1.Enabled:= true; end;
9: if Day=31 then begin kolBezrab:=0; Edit1.Text:=FloatToStr(kolBezrab); Button1.Enabled:= true; end;
10: if Day=32 then begin kolBezrab:=0; Edit1.Text:=FloatToStr(kolBezrab); Button1.Enabled:= true; end;
11: if Day=31 then begin kolBezrab:=0; Edit1.Text:=FloatToStr(kolBezrab); Button1.Enabled:= true; end;
12: if Day=32 then begin kolBezrab:=0; Edit1.Text:=FloatToStr(kolBezrab);Button1.Enabled:= true; end;
end;
Просто смысл в том, что генерировться ведь должно после того как на главной форме пройдет месяц! (переменная Mes) а он у нас в коде получается не задействован (Mes нет).

Последний раз редактировалось Stilet; 04.11.2010 в 18:52.
Epc вне форума Ответить с цитированием
Старый 04.11.2010, 18:30   #16
Риндера
Delphi, учу С
Форумчанин
 
Аватар для Риндера
 
Регистрация: 20.10.2010
Сообщений: 178
По умолчанию

Ясно. Тогда верни Mes.
Риндера вне форума Ответить с цитированием
Старый 04.11.2010, 18:31   #17
Epc
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 20
По умолчанию

и вот как у меня время оформлено на главной форме:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 {èñõîäíûå äàííûå ïî ñûðüþ}


  Day:=1; Mes:=1; God:=2009;

end;

procedure TForm1.FormShow(Sender: TObject);
begin


  Panel1.Caption:=IntToStr(Day);

  if Mes=1 then Panel2.Caption:='ÿíâàðü';
  if Mes=2 then Panel2.Caption:='ôåâðàëü';
  if Mes=3 then Panel2.Caption:='ìàðò';
  if Mes=4 then Panel2.Caption:='àïðåëü';
  if Mes=5 then Panel2.Caption:='ìàé';
  if Mes=6 then Panel2.Caption:='èþíü';
  if Mes=7 then Panel2.Caption:='èþëü';
  if Mes=8 then Panel2.Caption:='àâãóñò';
  if Mes=9 then Panel2.Caption:='ñåíòÿáðü';
  if Mes=10 then Panel2.Caption:='îêòÿáðü';
  if Mes=11 then Panel2.Caption:='íîÿáðü';
  if Mes=12 then Panel2.Caption:='äåêàáðü';

  Panel3.Caption:=IntToStr(God);
 end;






procedure TForm1.BitBtn1Click(Sender: TObject);

Label A;
begin
Day:=0;
 repeat
 Day:=Day+1;

 if Mes=1 then begin if Day=32 then begin Day:=1; Mes:=2;Goto A;end;end;
  if Mes=2 then begin if Day=29 then begin Day:=1; Mes:=3;Goto A;end;end;
  if Mes=3 then begin if Day=32 then begin Day:=1; Mes:=4;Goto A;end;end;
  if Mes=4 then begin if Day=31 then begin Day:=1; Mes:=5;Goto A;end;end;
  if Mes=5 then begin if Day=32 then begin Day:=1; Mes:=6;Goto A;end;end;
  if Mes=6 then begin if Day=31 then begin Day:=1; Mes:=7;Goto A;end;end;
  if Mes=7 then begin if Day=32 then begin Day:=1; Mes:=8;Goto A;end;end;
  if Mes=8 then begin if Day=32 then begin Day:=1; Mes:=9;Goto A;end;end;
  if Mes=9 then begin if Day=31 then begin Day:=1; Mes:=10;Goto A;end;end;
  if Mes=10 then begin if Day=32 then begin Day:=1; Mes:=11;Goto A;end;end;
  if Mes=11 then begin if Day=31 then begin Day:=1; Mes:=12;Goto A;end;end;
  if Mes=12 then begin if Day=32 then begin Day:=1; Mes:=1; God:=God+1; Goto A;end;end;


  A:

  Panel1.Caption:=IntToStr(Day);

  if Mes=1 then Panel2.Caption:='ÿíâàðü';
  if Mes=2 then Panel2.Caption:='ôåâðàëü';
  if Mes=3 then Panel2.Caption:='ìàðò';
  if Mes=4 then Panel2.Caption:='àïðåëü';
  if Mes=5 then Panel2.Caption:='ìàé';
  if Mes=6 then Panel2.Caption:='èþíü';
  if Mes=7 then Panel2.Caption:='èþëü';
  if Mes=8 then Panel2.Caption:='àâãóñò';
  if Mes=9 then Panel2.Caption:='ñåíòÿáðü';
  if Mes=10 then Panel2.Caption:='îêòÿáðü';
  if Mes=11 then Panel2.Caption:='íîÿáðü';
  if Mes=12 then Panel2.Caption:='äåêàáðü';

  Panel3.Caption:=IntToStr(God);
   Application.ProcessMessages;
  sleep(400);

  until God>=2070;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   Day:=1; Mes:=1; God:=2009;
   Panel1.Caption:=IntToStr(Day);
   if Mes=1 then Panel2.Caption:='ÿíâàðü';
   Panel3.Caption:=IntToStr(God);

end;
Все больше в коде программы ВООБЩЕ НИЧЕГО НЕТ

Вернула, только 0 не присваивается

Последний раз редактировалось Stilet; 04.11.2010 в 18:57.
Epc вне форума Ответить с цитированием
Старый 04.11.2010, 18:35   #18
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

2 Epc - если пользователь закроет программу, пока не прошел месяц (маловероятно, конечно) и зайдет в нее снова, через час, допустим, то сможет генерировать? Или этого уже предусматривать не надо? Хочу помочь, накидать пример попроще.
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 04.11.2010, 18:36   #19
Epc
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 20
По умолчанию

Написала код где генерируется у мнея на гл. форме время, может будет более понятно, только модератор долго проверяет. Код слишком длинный, разбивать не получится

Нет, это придусматривать не надо, у меня все банально. Без изысков.

Последний раз редактировалось Stilet; 04.11.2010 в 19:03.
Epc вне форума Ответить с цитированием
Старый 04.11.2010, 19:06   #20
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Для особо приближенных к найодареннейшим талантам плевать на правила форума сообщаю - Здесь принято код оформлять кнопкой #, а не абы как. Здесь принято не постить подряд если твой пост последний
За продолжение невыполнения морали клуба тему закрою.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение действия через промежуток времени chingiz Общие вопросы Delphi 37 03.10.2012 11:33
Обновление связей между файлами через заданный промежуток времени alleo Microsoft Office Excel 2 21.10.2010 13:39
Программа для воспроизведения тонового звука через промежуток времени Vl-sn Помощь студентам 9 12.03.2010 20:27
Промежуток времени в BottomAxis KuevProger Общие вопросы Delphi 4 05.06.2009 14:25
указатель мыши автоматически должен совершать клик по заданному месту на экране, через промежуток времени Deefrost Qt и кроссплатформенное программирование С/С++ 5 16.05.2008 20:25