Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 682

/ вопрос открыт /

Приветствую, уважаемые эксперты!
У меня есть форма скриншот во вложении. Как сделать так чтобы в поле обведенном красным при вводе цифр начислялось количество бонусов тем у кого день рождение в период акции?

К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)

Приложение:
  1. unit Unit2;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7. Dialogs, StdCtrls, ComCtrls;
  8.  
  9. type
  10. TForm2 = class(TForm)
  11. Label1: TLabel;
  12. Edit1: TEdit;
  13. Label2: TLabel;
  14. Label3: TLabel;
  15. DateTimePicker1: TDateTimePicker;
  16. DateTimePicker2: TDateTimePicker;
  17. Label4: TLabel;
  18. CheckBox1: TCheckBox;
  19. Label5: TLabel;
  20. Edit2: TEdit;
  21. CheckBox2: TCheckBox;
  22. Button1: TButton;
  23. Label6: TLabel;
  24. Button2: TButton;
  25. Memo1: TMemo;
  26. RadioButton1: TRadioButton;
  27. RadioButton2: TRadioButton;
  28. Label7: TLabel;
  29. CheckBox3: TCheckBox;
  30. CheckBox4: TCheckBox;
  31. Label8: TLabel;
  32. Edit3: TEdit;
  33. procedure Button1Click(Sender: TObject);
  34. procedure Button2Click(Sender: TObject);
  35. procedure RadioButton2Click(Sender: TObject);
  36. procedure RadioButton1Click(Sender: TObject);
  37. procedure FormActivate(Sender: TObject);
  38. procedure CheckBox4Click(Sender: TObject);
  39. private
  40. { Private declarations }
  41. public
  42. { Public declarations }
  43. end;
  44.  
  45. var
  46. Form2: TForm2;
  47. field_id:byte;
  48. act_id:integer;
  49. implementation
  50.  
  51. uses Unit4, Unit3, Unit1;
  52.  
  53. {$R *.dfm}
  54.  
  55. procedure TForm2.Button1Click(Sender: TObject);
  56. begin
  57. form4.ShowModal;
  58. end;
  59.  
  60. procedure TForm2.Button2Click(Sender: TObject);
  61. var res,i:integer;
  62. begin
  63. res:=0;
  64. if (RadioButton2.Checked and Checkbox3.Checked)or(RadioButton1.Checked) then
  65. begin
  66. DM.myproc.ExecProc;
  67. field_id:=DM.myproc.Params[0].AsInteger;
  68. DM.query.SQL.Text:='insert into act_new(name,description,date_begin,date_end,active,amount_bonus,field_id)'+
  69. ' values('+char(39)+Edit1.Text+char(39)+','+
  70. char(39)+Memo1.Text+char(39)+','+
  71. 'convert(datetime,'+unit4.fdate(DateTimePicker1.Date)+'),'+
  72. 'convert(datetime,'+unit4.fdate(DateTimePicker2.Date)+'),'+
  73. copy(booltostr(checkbox1.Checked,false),length(booltostr(checkbox1.Checked,false)),1)+','+
  74. Edit2.Text+','+inttostr(field_id)+','+Edit3.Text+' )';
  75. DM.query.ExecSQL(true);
  76. res:=res+DM.query.RowsAffected;
  77. DM.query.SQL.Text:='SELECT IDENT_CURRENT ('+char(39)+'dbo.act_new'+char(39)+') AS Current_Identity';
  78. DM.query.Open;
  79. DM.query.First;
  80. act_id:=DM.query.Fields[0].AsInteger;
  81. DM.query.Close;
  82. DM.query.SQL.Text:='alter table bonus_db.dbo.spiski add act_'+inttostr(act_id)+
  83. ' bit NOT NULL CONSTRAINT DF_spiski_act_'+inttostr(act_id)+' DEFAULT '+copy(booltostr(RadioButton1.Checked,false),length(booltostr(RadioButton1.Checked,false)),1);
  84. DM.query.ExecSQL(false);
  85. res:=res+DM.query.RowsAffected;
  86.  
  87. if RadioButton2.Checked then
  88. begin
  89. for i:=1 to Form4.mems.RowCount-1 do
  90. begin
  91. DM.query.SQL.Text:=
  92. 'update bonus_dbTest.dbo.spiski set act_'+inttostr(act_id)+'=1 where card_number = '+char(39)+Form4.mems.Cells[1,i]+char(39);
  93. DM.query.ExecSQL(false);
  94. res:=res+DM.query.RowsAffected;
  95. Application.ProcessMessages;
  96. end;
  97.  
  98.  
  99.  
  100.  
  101. end;
  102.  
  103. DM.query.SQL.Text:=
  104. 'declare @mycur cursor,'+
  105. ' @c_num varchar(30);'+
  106. ' set @mycur = cursor for select card_number from bonus_db.dbo.spiski where act_'+inttostr(act_id)+' = 1;'+
  107. ' open @mycur;'+
  108. ' while 1=1'+
  109. ' begin'+
  110. ' fetch next from @mycur into @c_num;'+
  111. ' if @@fetch_status<>0 break;'+
  112. ' update bonus_db.dbo.card set bonus_'+inttostr(field_id)+'='+Edit2.Text+' where card_number = @c_num;'+
  113. ' end;'+
  114. ' close @mycur;';
  115. DM.query.ExecSQL(false);
  116.  
  117. if res>1 then
  118. begin
  119. MessageBox(Form2.Handle,'&#205;&#238;&#226;&#224;&#255; &#224;&#234;&#246;&#232;&#255; &#243;&#241;&#239;&#229;&#248;&#237;&#238; &#228;&#238;&#225;&#224;&#226;&#235;&#229;&#237;&#224;','&#211;&#241;&#239;&#229;&#245;',0);
  120. close;
  121. Form1.refr;
  122. end else MessageBox(Form2.Handle,'&#205;&#229; &#243;&#228;&#224;&#235;&#238;&#241;&#252; &#228;&#238;&#225;&#224;&#226;&#232;&#242;&#252; &#224;&#234;&#246;&#232;&#254;','&#206;&#248;&#232;&#225;&#234;&#224;',0);
  123. end else MessageBox(Form2.Handle,'&#209;&#237;&#224;&#247;&#224;&#235;&#224; &#226;&#251;&#225;&#229;&#240;&#232;&#242;&#229; &#243;&#247;&#224;&#241;&#242;&#237;&#232;&#234;&#238;&#226; &#224;&#234;&#246;&#232;&#232; &#232;&#235;&#232; &#238;&#242;&#236;&#229;&#242;&#252;&#229; &#226;&#241;&#229;&#245;','&#200;&#237;&#244;&#238;&#240;&#236;&#224;&#246;&#232;&#255;',0);
  124. end;
  125.  
  126. procedure TForm2.RadioButton2Click(Sender: TObject);
  127. begin
  128. if RadioButton2.Checked then Button1.Enabled:=true else Button1.Enabled:=false;
  129. end;
  130.  
  131. procedure TForm2.RadioButton1Click(Sender: TObject);
  132. begin
  133. if RadioButton2.Checked then Button1.Enabled:=true else Button1.Enabled:=false;
  134. end;
  135.  
  136. procedure TForm2.FormActivate(Sender: TObject);
  137. begin
  138. DateTimePicker1.Date:=Date;
  139. DateTimePicker2.Date:=Date;
  140. end;
  141.  
  142. procedure TForm2.CheckBox4Click(Sender: TObject);
  143. begin
  144. edit3.Enabled:=true;
  145. end;
  146.  
  147. end.


slai Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: slai (статус: Посетитель)
Вопрос отправлен: 26 октября 2010, 03:59
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:02
Выполнено за 0.03 сек.