PDA

View Full Version : طریقه ی جمع کردن CheckBox



alone_rana0101
یک شنبه 09 بهمن 1384, 22:46 عصر
با سلام .
من یه فرم دارم برای انتخاب واحد ، که واحدهای عملی و نظری رو توی اون با checkbox نشون دادم
چطوری میشه مشخص کرد که کدوم checkbox تیک خورده و عدد موجود توی TEdit که تعداد واحد رو نشون میده در شهریه ی واحد ِ عملی یا نظری ضرب کرد .
مثلا اگه قسمت عملی تیک خورده باشه و 3 واحد داشته باشه ، عدد 3 در 13500 که شهریه ی واحد عملیه ضرب بشه و به همین ترتیب بتونه شهریه رو محاسبه کنه .
ممنون میشم کسی کمک کنه .
یا حق .

Behzad_Asharkhan
دوشنبه 10 بهمن 1384, 10:34 صبح
سلام

یه خورده سخت توضیح دادی. فکر کنم منظورت اینه:
چند تا edit داری که جلوی هر کدوم یه checkbox گذاشتی. قراره فقط edit های تو محاسبات بیان که checkbox منتاظرش تیک خورده.

برای همه checbox ها Tag ها رو از 1 تا n اختصاص بده و Tag هر edit برابر checkbox متناظرش باشه.

اگه این کارو کنی با این کد کارت راه می افته. این کد جمع اعداد داخل Edit هایی رو که ckeckbox نظیرش تیک خورده حساب میکنه.



procedure TForm1.btnSumClick(Sender: TObject);
var
i, j, Sum: integer;
begin
Sum := 0;
for i:=0 to ComponentCount-1 do
if Components[i] is TCheckBox then
if TCheckBox(Components[i]).Checked then
for j:=0 to ComponentCount-1 do
if Components[j] is TEdit then
if TCheckBox(Components[i]).Tag = TEdit(Components[j]).Tag then
Sum := Sum + StrToInt(TEdit(Components[j]).Text);

Edit4.Text := IntToStr(Sum);
end;

alone_rana0101
دوشنبه 10 بهمن 1384, 17:46 عصر
سلام .
ممنون از راهنماییتون .
فقط یه چیزی ...
من جلوی هر Edit دو تا چک باکس دارم
یکیش مشخص کننده ی واحد عملیه ، اون یکی هم نظری .
حالا من میخوام جمع واحدهای عملی و نظری رو جداگانه داشته باشم ، این کار رو چطوری انجام بدم .
بعدا شهریه رو محاسبه کنم .
ممنون میشم کمکم کنید .
یا حق ...

alone_rana0101
چهارشنبه 12 بهمن 1384, 08:30 صبح
سلام .
مشکلم حل شد .
خیلی ممنون از راهنماییتون .
البته من از radiobutton استفاده کردم . چون نباید یه درس همزمان قسمت عملی و نظریش تیک بخوره .
بازم ممنونم .
یا حق ...