![]() |
|
|
#1
|
|||
|
|||
![]() На форме имеется 4 ЧекБокса. При лоткрытии программы состояние всех ЧекБоксов = Тру. На конпочку.
Код:
Var ch1,ch2,ch3,ch4:String; begin ch1:='SELECT SimpleTime,Chann01 FROM RGBTEC4.dbo.Data_25010_4_0_8 where SimpleTime between :Param1 and :Param2 '; Ch2:='SELECT SimpleTime,Chann01,Chann02 FROM RGBTEC4.dbo.Data_25010_4_0_8 where SimpleTime between :Param1 and :Param2 '; Ch3:='SELECT SimpleTime,Chann01,Chann02,Chann03 FROM RGBTEC4.dbo.Data_25010_4_0_8 where SimpleTime between :Param1 and :Param2 ' ; Ch4:='SELECT SimpleTime,Chann01,Chann02,Chann03,Chann04 FROM RGBTEC4.dbo.Data_25010_4_0_8 where SimpleTime between :Param1 and :Param2 '; Button3.Visible:=True; DataModule2.QueryGRP.Close; DateTimePicker1.time:=DateTimePicker2.time; DateTimePicker3.time:=DateTimePicker4.time; If CheckBox1.Checked = True and CheckBox2.Checked = True and CheckBox3.Checked = True and CheckBox4.Checked = True then DataModule2.QueryGRP.SQL.Text:=Ch4; If CheckBox1.Checked = True and CheckBox2.Checked = True and CheckBox3.Checked = True then DataModule2.QueryGRP.SQL.Text:=Ch3; Как сделать правильно условие? Чтоб если 3 галочки активны то выполняется запрос Ch3 если две галочки активны то запрос Ch2 итд. Не как не могу додуматс че то. |
#2
|
||||
|
||||
![]() Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, DBTables; type TForm1 = class(TForm) CheckBox1: TCheckBox; CheckBox2: TCheckBox; CheckBox3: TCheckBox; CheckBox4: TCheckBox; Button1: TButton; Query1: TQuery; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Tag:=0; Tag:=Tag+Integer(CheckBox1.Checked); Tag:=Tag+Integer(CheckBox2.Checked); Tag:=Tag+Integer(CheckBox3.Checked); Tag:=Tag+Integer(CheckBox4.Checked); case Tag of 0: Query1.SQL.Text:='select 0'; 1: Query1.SQL.Text:='select 1'; 2: Query1.SQL.Text:='select 2'; 3: Query1.SQL.Text:='select 3'; 4: Query1.SQL.Text:='select 4'; end; end; end. Пишу программы за еду. __________________ |
#3
|
|||
|
|||
![]() Цитата:
А куда тут запрос вписывать? |
#4
|
||||
|
||||
![]() Цитата:
Код:
0: Query1.SQL.Text:='select ...'; 1: Query1.SQL.Text:='select ...'; 2: Query1.SQL.Text:='select ...'; 3: Query1.SQL.Text:='select ...'; 4: Query1.SQL.Text:='select ...'; Пишу программы за еду. __________________ |
#5
|
|||
|
|||
![]() Цитата:
Большое спасибо |
#6
|
|||
|
|||
![]() Код:
Tag:=0; Tag:=Tag+Integer(CheckBox1.Checked); Tag:=Tag+Integer(CheckBox2.Checked); Tag:=Tag+Integer(CheckBox3.Checked); Tag:=Tag+Integer(CheckBox4.Checked); case Tag of 0: DataModule2.QueryGRP.SQL.Text:='SELECT SimpleTime FROM RGBTEC4.dbo.Data_25010_4_0_8 where SimpleTime between :Param1 and :Param2'; 1: DataModule2.QueryGRP.SQL.Text:='SELECT SimpleTime,Chann01 FROM RGBTEC4.dbo.Data_25010_4_0_8 where SimpleTime between :Param1 and :Param2 '; 2: DataModule2.QueryGRP.SQL.Text:='SELECT SimpleTime,Chann01,Chann02 FROM RGBTEC4.dbo.Data_25010_4_0_8 where SimpleTime between :Param1 and :Param2 '; 3: DataModule2.QueryGRP.SQL.Text:='SELECT SimpleTime,Chann01,Chann02,Chann03 FROM RGBTEC4.dbo.Data_25010_4_0_8 where SimpleTime between :Param1 and :Param2 '; 4: DataModule2.QueryGRP.SQL.Text:='SELECT SimpleTime,Chann01,Chann02,Chann03,Chann04 FROM RGBTEC4.dbo.Data_25010_4_0_8 where SimpleTime between :Param1 and :Param2 '; end; Как то не правельно работает. Если все CheckBox =True,False. Работает нармально. А если я дапустим хочу Посмотреть тока 3 то уже не работает. Как то может я не правильно сам с смого начала написал. Есть всего CheckBox1.2.3.4 . Тоесть при отключении их Должно оставоатся тока то что включено. Дапустим если я отключил CheckBox1.2.4 то остатся должен тока CheckBox3 Тоесть если CheckBox3=True остальные False то должно показать данные chann03. CheckBox2.3=True остальные False то должно показать данные chann03.02 Последний раз редактировалось Zhigalov, 09.09.2011 в 06:27. |