سلام. در ابتدا عرض کنم مبتدی هستم .
یک public static class تعریف کردم که داخلش یک متغیر به نام f از نو باز هم public decimal تعریف شده. تابع دوم به صورت public decimal هم نوشتم تابع سوم از نوع public void دارم که باید از تابع اول و کلاس بالایی استفاده کنه . حالا مشکلم اینه که با هر بار فراخوانی تابع سوم مقدار متغیری که داخل کلاس هست صفر میشه. متغیر f۱....... یعنی مقدار پیش فرض اولیش در صورتی که من نمیخوام هر بار مقدار پیش فرضش درش قرار بگیره.
ممنون میشم راهنماییم کنید. اگر لازمه تا کد رو قرار بدم.
کد:
public partial class Form۱ : Form
{
public static class FinalPrice
{
public static decimal f۱=۰,f۲=۰,f۳=۰,f۴=۰,f۵=۰;
public static string stime۱,stime۲,stime۳,stime۴,stime۵;
public static Boolean a۱=true, a۲;
}
public decimal concate(string a , string b) {
string x,y;
decimal z;
decimal result;
x = a.Substring(۰, ۲);
y = a.Substring(۳, ۲);
z =Convert.ToDecimal( a.Substring(۶, ۲));
result =((( (Convert.ToInt۳۲(x) * ۶۰) + Convert.ToInt۳۲(y)+((z)/۶۰))* Convert.ToInt۳۲(b))/۶۰) ;
return Math.Ceiling(result);
}
public void Next(string a, Timer tt, System.Diagnostics.Stopwatch ss,decimal f,string c,Boolean aa,ListBox l,string b,string d,string st)
{
if (a.Length > ۰)
if (MessageBox.Show("آیا از ثبت زمان فعلی و شروع زمان جدید اطمینان دارید ؟ ", " هشدار ", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button۲) == DialogResult.Yes)
{
tt.Stop();
f = Convert.ToDecimal(c);
ss.Reset();
switch(aa)
{
case true:
{
l.Items.Add("Start: " + a + " ==> End: " + DateTime.Now.ToString("HH:mm" + " ==? Cost: " + Convert.ToString(concate(b, d)));
aa = false;
st = DateTime.Now.ToString("HH:mm"
break;
}
case false :
l.Items.Add("Start: " + st + " ==> End: " + DateTime.Now.ToString("HH:mm" + " ==> Cost: " + Convert.ToString(concate(b, d)));
st = DateTime.Now.ToString("HH:mm"
break;
}
c = "";
b = "";
tt.Start();
ss.Start();
}