About Forum Sitemap Login Register

Home

C#

VB

Java

C++

Other

Forum

English

Farsi

دوستان:

 

JG Solutions

TechwizWorld

Rishoo Blog

Ranjhaco.110MB

Free Download Software

Anar News & Reviews

Yazdi Programming Co.

Darth Scape
Online Star Wars RPG

Caustic Designs Production

News: (1) 110MB registration is now open, it's time to make your own website on 110MB, one the greatest free web hostings in the world!


C++‎ - ‏متغیر عضوی

جعبه پیغام

ساختار if

دانلود ها:

پیغام پویا‏ - 26.2‎ KB

ارزیاب ساده‏ - 25.26‎ KB

این مبحث در برنامه نویسی ویندوز بسیار مهم است. متغیرهای عضوی (Member Variable) دستگیره ای برای تنظیم کنترل ها هستند. با استفاده از آن ها می توانید هر تغییری که بخواهید در کنترل مورد نظرتان ایجاد کنید. به عنوان مثال برای متن یک Edit متغیری به نام edit1 از نوع رشته تعریف می کنیم و در هر نقطه ای از کد که بخواهیم متن آن را به این صورت تغییر می دهیم:

edit1 = "Piece of cake!";

برای تعریف یک متغیر عضوی در Editor (قسمت طراحی فرم) رایت کلیک کنید و ClassWizard را انتخاب کنید. در پنجره ی باز شده وارد تب Member Variables شوید. وسط این تب لیستی از کنترل های موجود روی فرم با نام شناسایی آن ها نمایش داده می شود، البته کنترل هایی مانند static نمی توانند متغیر عضوی داشته باشند.اگر نام کنترل مورد نظر را نمی دانید، در Editor آن را انتخاب کنید تا نام آن در WizardBar نمایش داده شود. به عکس آن توجه کنید:

 

 

به Member Variable بر می گردیم. یکی از کنترل ها را انتخاب کنید و روی Add Variable کلیک کنید. Member variable name نام متغیر تعریفی می باشد (مانند edit1 در مثال بالا). Category معمولا یکی از دو مقدار Value یا Control می باشد. با انتخاب Value متغیر به مقدار کنترل اشاره می کند (دستگیره ی کنترل مقدار است) مثل متن یک Edit یا چک بودن یک Check Box، و با انتخاب Control متغیر به کل کنترل اشاره می کند. بسیاری از کنترل ها فقط دارای حالت دوم هستند. آخرین فیلد Variable type است که نوع متغیر را تعیین می کند. بسته به کنترل و Category انتخابی نوع های موجود در لیست متفاوت هستند.

 

DynamicMessage (پیغام پویا):

برای یادگیری بیشتر می خواهیم برنامه ای بنویسیم که کاربر متن و Title یک پیغام را تایپ کند و با کلیک دکمه ای آن را نمایش دهد. یک پروژه ی جدید به نام پیغام پویا بسازید و فرمی مثل فرم زیر طراحی کنید:

 

 

برای Edit اول متغیری به نام title با تنظیمات Value و CString (رشته) و برای Edit دوم متغیری به نام message با همان تنظیمات title تعریف کنید. حالا روی دکمه ی Show Message دابل کلیک کنید و کد زیر را برای رویداد کلیک آن بنویسید:

 

void CDynamicMessageDlg::OnButton1()

{

UpdateData(true);

MessageBox(message, title);

UpdateData(false);

}

تابع UpdateData متغیر های عضوی را کنترل می کند. در صورتی که هنگام فراخوانی مفدار true را به آن بدهیم، از آن به بعد همیشه متغیرها نسبت به کنترل ها و همچنین کنترل ها نسبت به متغیر ها به روز می مانند، یعنی اگر کاربر متنی را در Edit تایپ کند message نیز همان متن را در خود ذخیره می کند، و اگر برنامه نویس محتویات message را تغییر دهد متن Edit نیز تغییر می کند. دقت کنید که پس از اتمام کار با متغیر های عضوی باید UpdateData را با مقدار false فرابخوانید، در غیر این صورت برنامه درست کار نخواهد کرد. در ضمن این را هم بدانید که تنها وقتی متغیر شما به Value اشاره می کند به UpdateData نیاز دارید، در حالت Control نیازی به آن نیست.

 

SimpleEvaluator (ارزیاب ساده):

دومین تمرین ما انجام محاسبات ساده ی ریاضی و چاپ نتایج آن است. نام پروژه را به ارزیاب ساده تغییر دهید و فرمی مانند شکل زیر بسازید:

 

 

نام Member Variable های سه Edit را به ترتیب num1،‏ num2 و ans و نوع هر سه را double (عدد اعشاری) تنظیم کنید. حالا برای هر چهار Button کد زیر را بنویسید:

void CSimpleEvaluatorDlg::OnButton1()

{

UpdateData(true);

ans = num1 + num2;

UpdateData(false);

}

 

void CSimpleEvaluatorDlg::OnButton2()

{

UpdateData(true);

ans = num1 - num2;

UpdateData(false);

}

 

void CSimpleEvaluatorDlg::OnButton3()

{

UpdateData(true);

ans = num1 * num2;

UpdateData(false);

}

 

void CSimpleEvaluatorDlg::OnButton4()

{

UpdateData(true);

ans = num1 / num2;

UpdateData(false);

}

همان طور که متوجه شدید، دکمه های Button1، ‏Button2، ‏Button3 و Button4 به ترتیب عملگر های +، -، * و / هستند. مانند تمرین قبل، در این جا هم از UpdateData استفاده شده است. برنامه را اجرا و نتیجه را مشاهده کنید.

 

نظر ها

در حال حاضر هیچ نظری برای این مقاله موجود نمی باشد. شما می توانید اولین نفری باشید که نظر می دهد.

 

اگر دوست دارید می توانید با پر کردن فرم زیر به راحتی نظر خود را ثبت کنید:

نام:

ایمیل:

وب سایت:

 

 

More Emoticons

 

 

جعبه پیغام

ساختار if

IP: 38.107.191.102

Country: United States

Browser: Unknown

OS: Unknown

@2008 Alamat.110MB programming

Site Statistics:

Powered by 110MB free web hosting