PDA

View Full Version : تبدیل زمان به پول



Mask
دوشنبه 28 دی 1388, 02:04 صبح
با سلام
در برنامه ای بنده سه لیبل دارم که اولی ثانیه و دومی دقیقه و سومی ساعت رو ریختم.
در برنامه یک عدد به نام نرخ کارکرد داریم که کاربر این عدد را ساعتی وارد میکنه . مثلا ساعتی 2000 تومان.
برای شروع من آمدم و (ثانیه رو تقسیم به 60 )کردم و به اضافه( دقیقه )کردم و به اضافه( مقدار ساعت ضربدر 60 )کردم تا تمام زمان من تبدیل به دقیقه بشه.
سپس نرخ اصلی که 2000 تومان بوده است را تقسیم به 60 کردم تا مبلغ یک دقیقه بدست بیاید.
و در آخر کل زمان به دقیقه را در نرخی که برای هر دقیقه محاسبه کردم ضرب می کنم.
در ظاهر و تئوری همه چی ردیفه اما مشکل اینجاست که چون این تقسیمها تعداد کارکترهاشون زیاده برنامه قاط میزنه و اجرا نمیشه .
باید چیکار کنم.
ممنون از دوستان.

vcldeveloper
دوشنبه 28 دی 1388, 02:32 صبح
uses DateUtils;


var
DT : TTime;
H,M,S : Cardinal;
HourlyRate : Cardinal;
ElapsedMins : Cardinal;
begin
H := StrToIntDef(Edit1.Text,0);
M := StrToIntDef(Edit2.Text,0);
S := StrToIntDef(Edit3.Text,0);
HourlyRate := 2000;

DT := 0.0;
DT := IncHour(DT,H);
DT := IncMinute(DT,M);
DT := IncSecond(DT,S);
ElapsedMins := MinutesBetween(DT,0);

ShowMessage(FloatToStr(ElapsedMins * (HourlyRate / 60)));
end;