|
Вопрос # 4 682/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
У меня есть форма скриншот во вложении. Как сделать так чтобы в поле обведенном красным при вводе цифр начислялось количество бонусов тем у кого день рождение в период акции?
К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)
Приложение: Переключить в обычный режим- unit Unit2;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, ComCtrls;
-
- type
- TForm2 = class(TForm)
- Label1: TLabel;
- Edit1: TEdit;
- Label2: TLabel;
- Label3: TLabel;
- DateTimePicker1: TDateTimePicker;
- DateTimePicker2: TDateTimePicker;
- Label4: TLabel;
- CheckBox1: TCheckBox;
- Label5: TLabel;
- Edit2: TEdit;
- CheckBox2: TCheckBox;
- Button1: TButton;
- Label6: TLabel;
- Button2: TButton;
- Memo1: TMemo;
- RadioButton1: TRadioButton;
- RadioButton2: TRadioButton;
- Label7: TLabel;
- CheckBox3: TCheckBox;
- CheckBox4: TCheckBox;
- Label8: TLabel;
- Edit3: TEdit;
- procedure Button1Click(Sender: TObject);
- procedure Button2Click(Sender: TObject);
- procedure RadioButton2Click(Sender: TObject);
- procedure RadioButton1Click(Sender: TObject);
- procedure FormActivate(Sender: TObject);
- procedure CheckBox4Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form2: TForm2;
- field_id:byte;
- act_id:integer;
- implementation
-
- uses Unit4, Unit3, Unit1;
-
- {$R *.dfm}
-
- procedure TForm2.Button1Click(Sender: TObject);
- begin
- form4.ShowModal;
- end;
-
- procedure TForm2.Button2Click(Sender: TObject);
- var res,i:integer;
- begin
- res:=0;
- if (RadioButton2.Checked and Checkbox3.Checked)or(RadioButton1.Checked) then
- begin
- DM.myproc.ExecProc;
- field_id:=DM.myproc.Params[0].AsInteger;
- DM.query.SQL.Text:='insert into
act_new(name,description,date_begin,date_end,active,amount_bonus,field_id)'+
- ' values('+char(39)+Edit1.Text+char(39)+','+
- char(39)+Memo1.Text+char(39)+','+
- 'convert(datetime,'+unit4.fdate(DateTimePicker1.Date)+'),'+
- 'convert(datetime,'+unit4.fdate(DateTimePicker2.Date)+'),'+
- copy(booltostr(checkbox1.Checked,false),length(booltostr(checkbox1.Checked,false)),1)+','+
- Edit2.Text+','+inttostr(field_id)+','+Edit3.Text+' )';
- DM.query.ExecSQL(true);
- res:=res+DM.query.RowsAffected;
- DM.query.SQL.Text:='SELECT IDENT_CURRENT ('+char(39)+'dbo.act_new'+char(39)+') AS Current_Identity';
- DM.query.Open;
- DM.query.First;
- act_id:=DM.query.Fields[0].AsInteger;
- DM.query.Close;
- DM.query.SQL.Text:='alter table bonus_db.dbo.spiski add act_'+inttostr(act_id)+
- ' bit NOT NULL CONSTRAINT DF_spiski_act_'+inttostr(act_id)+' DEFAULT
'+copy(booltostr(RadioButton1.Checked,false),length(booltostr(RadioButton1.Checked,false)),1);
- DM.query.ExecSQL(false);
- res:=res+DM.query.RowsAffected;
-
- if RadioButton2.Checked then
- begin
- for i:=1 to Form4.mems.RowCount-1 do
- begin
- DM.query.SQL.Text:=
- 'update bonus_dbTest.dbo.spiski set act_'+inttostr(act_id)+'=1 where card_number =
'+char(39)+Form4.mems.Cells[1,i]+char(39);
- DM.query.ExecSQL(false);
- res:=res+DM.query.RowsAffected;
- Application.ProcessMessages;
- end;
-
-
-
-
- end;
-
- DM.query.SQL.Text:=
- 'declare @mycur cursor,'+
- ' @c_num varchar(30);'+
- ' set @mycur = cursor for select card_number from bonus_db.dbo.spiski where act_'+inttostr(act_id)+'
= 1;'+
- ' open @mycur;'+
- ' while 1=1'+
- ' begin'+
- ' fetch next from @mycur into @c_num;'+
- ' if @@fetch_status<>0 break;'+
- ' update bonus_db.dbo.card set bonus_'+inttostr(field_id)+'='+Edit2.Text+' where card_number =
@c_num;'+
- ' end;'+
- ' close @mycur;';
- DM.query.ExecSQL(false);
-
- if res>1 then
- begin
- MessageBox(Form2.Handle,'Íîâàÿ
àêöèÿ
óñïåøíî
äîáàâëåíà','Óñïåõ',0);
- close;
- Form1.refr;
- end else MessageBox(Form2.Handle,'Íå
óäàëîñü
äîáàâèòü
àêöèþ','Îøèáêà',0);
- end else
MessageBox(Form2.Handle,'Ñíà÷àëà
âûáåðèòå
ó÷àñòíèêîâ
àêöèè èëè
îòìåòüå
âñåõ','Èíôîðìàöèÿ',0);
- end;
-
- procedure TForm2.RadioButton2Click(Sender: TObject);
- begin
- if RadioButton2.Checked then Button1.Enabled:=true else Button1.Enabled:=false;
- end;
-
- procedure TForm2.RadioButton1Click(Sender: TObject);
- begin
- if RadioButton2.Checked then Button1.Enabled:=true else Button1.Enabled:=false;
- end;
-
- procedure TForm2.FormActivate(Sender: TObject);
- begin
- DateTimePicker1.Date:=Date;
- DateTimePicker2.Date:=Date;
- end;
-
- procedure TForm2.CheckBox4Click(Sender: TObject);
- begin
- edit3.Enabled:=true;
- end;
-
- end.
 |
Вопрос задал: slai (статус: Посетитель)
Вопрос отправлен: 26 октября 2010, 03:59
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|