想用Checkbox 和 DBEdit 的配合來作增減 |
尚未結案
|
kets
一般會員 發表:9 回覆:21 積分:6 註冊:2003-04-26 發送簡訊給我 |
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
引言: 各位大大,新手一問,現在我有個欄位設為"配備", 想用很多check讓使用者挑選各式配備如天窗,倒車雷達,安全氣囊等.. 選完後即存入該欄位,假設存入值為'天窗,倒車雷達'.. 那在選擇時我想應該是用caption caption caption來存入對吧? 但是在取出時呢?要怎麼在下次使用時出現天窗,倒車雷達的項目已勾選呢? 那出現後,若覺得不需要取消勾選,怎麼從該欄位中刪除己存的該項呢? Uses IdStrings; {$R *.dfm} //讀 CHeckBOX TO Edit1 procedure TForm1.CheckBox1Click(Sender: TObject); var i : integer; begin self.Edit1.Text :=''; for i:=0 to self.GroupBox1.ControlCount-1 do Begin if TCheckBox(self.GroupBox1.Controls[i]).Checked =True then Begin if self.Edit1.Text<>'' then self.Edit1.Text:= self.Edit1.Text ';'; self.Edit1.Text:= self.Edit1.Text TCheckBox(self.GroupBox1.Controls[i]).Caption ; end; end; end; //讀 Edit1 TO CHeckBOX procedure TForm1.Button1Click(Sender: TObject); var tmpstringlist: TStringList; i: integer; i2 : integer; begin tmpstringlist := TStringList.create; SplitColumnsNoTrim(self.Edit1.Text, tmpstringlist, ';'); //全部清空 for i2:=0 to self.GroupBox1.ControlCount-1 do TCheckBox(self.GroupBox1.Controls[i2]).Checked :=False; // for i := 0 to tmpstringlist.Count - 1 do begin for i2:=0 to self.GroupBox1.ControlCount-1 do if TCheckBox(self.GroupBox1.Controls[i2]).Caption =tmpstringlist[i] then TCheckBox(self.GroupBox1.Controls[i2]).Checked :=True; end; end;有點亂 ,你參考看看 |
kets
一般會員 發表:9 回覆:21 積分:6 註冊:2003-04-26 發送簡訊給我 |
Uses IdStrings;
^^^^^^^^不好意思..這是?? //讀 Edit1 TO CHeckBOX
procedure TForm1.Button1Click(Sender: TObject);
var
tmpstringlist: TStringList;
i: integer;
i2 : integer;
begin
tmpstringlist := TStringList.create;
SplitColumnsNoTrim(self.Edit1.Text, tmpstringlist, ';');
^^^^^^^^^^^^^^^^^^^^
這個又是??
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
引言: Uses IdStrings; ^^^^^^^^不好意思..這是?? //讀 Edit1 TO CHeckBOX procedure TForm1.Button1Click(Sender: TObject); var tmpstringlist: TStringList; i: integer; i2 : integer; begin tmpstringlist := TStringList.create; SplitColumnsNoTrim(self.Edit1.Text, tmpstringlist, ';'); ^^^^^^^^^^^^^^^^^^^^ 這個又是??>>Uses IdStrings; 引用Indy的 IdStrings ,因要用SplitColumnsNoTrim >>SplitColumnsNoTrim(self.Edit1.Text, tmpstringlist, ';'); 把字串依':'分割轉成TStringList 清單 |
sl@cableplus.com.cn
高階會員 發表:168 回覆:359 積分:130 註冊:2004-03-26 發送簡訊給我 |
|
kets
一般會員 發表:9 回覆:21 積分:6 註冊:2003-04-26 發送簡訊給我 |
|
max5020
資深會員 發表:30 回覆:277 積分:321 註冊:2003-06-04 發送簡訊給我 |
借jeffreck的來改一下,
拍謝哦!! {$R *.dfm}
//讀 CHeckBOX TO Edit1
procedure TForm1.CheckBox1Click(Sender: TObject);
var ts:TStringList;
i: integer;
begin
ts:= TStringList.Create;
ts.Clear;
for i:=0 to self.GroupBox1.ControlCount-1 do
Begin
if TCheckBox(self.GroupBox1.Controls[i]).Checked =True then
Begin
if self.Edit1.Text<>'' then
ts.Add(TCheckBox(self.GroupBox1.Controls[i]).Caption) ;
end;
end;
FieldByName('FieldName').asString:= ts.text;
end;
//讀 Edit1 TO CHeckBOX
procedure TForm1.Button1Click(Sender: TObject);
var
ts: TStringList;
i: integer;
i2 : integer;
begin
ts := TStringList.create;
ts.Clear;
ts.Text:= FieldByName('FieldName').asString;
for i:=0 to self.GroupBox1.ControlCount-1 do
Begin
TCheckBox(self.GroupBox1.Controls[i]).Checked:=
ts.FindString(TCheckBox(self.GroupBox1.Controls[i]).Caption);
end;
end; //Try看看!!,可能要自己改一下
|
kets
一般會員 發表:9 回覆:21 積分:6 註冊:2003-04-26 發送簡訊給我 |
引言: //讀 Edit1 TO CHeckBOX procedure TForm1.Button1Click(Sender: TObject); var ts: TStringList; i: integer; i2 : integer; begin ts := TStringList.create; ts.Clear; ts.Text:= FieldByName('FieldName').asString; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //Try看看!!,可能要自己改一下感謝您的回覆..這段好像還是有點疑問說~~ 試的結果是可以讀..但文字都是連起來的... 好像不能像list那樣分行排列... 還有什麼其他的元件或函數可以用嗎? 加上#13#10可以嗎? 發表人 - kets 於 2004/07/22 20:45:07 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |