Arsip: numpang tanya coding buat hitung insentif berdasar jam kerja

 
user image
more 8 years ago

angel_tears

procedure TForm3.DateTimePicker2Change(Sender: TObject);
var jamdtg, jamplg : string;
incdtg, incplg : Real;
begin
  jamdtg:=StrToDate(DateTimePicker2.Time) ;
  if jamdtg between '06.00.00 AM' and '08.00.00 AM' then
  begin
     incdtg:=3000;
   end
   else
   begin
     incdtg:=0;
   end;
   Edit3.Text:=FloatToStr(incdtg);
end;
kira2 apa yang salah/kurang dr coding diatas ya??? ceritanya gini,saia mo buat aplikasi penghitungan insentif berdasarkan jam kerja,jd misal kalo dateng dibawah jam 8 pagi dpt 3000,pulang di atas jam 17.30 dpt 2000 dst...trus perhitungannya itu pas datetimepickernya berubah nilainya,jumlah insentif itu langsung tampil di Tedit...maap kebanyakan nanya...ane masih newbie.....mohon bantuannya kk2 master delphi yg terhormat....
user image
more 8 years ago

mas_kofa

@angel_tears:
procedure TForm3.DateTimePicker2Change(Sender: TObject);
var jamdtg, jamplg : string;
incdtg, incplg : Real;
begin
  jamdtg:=StrToDate(DateTimePicker2.Time) ;
end;
kode diatas maksud nya apa?? bukankah jamdtg itu string? dan StrToDate() itu TDate.... dan lagian ngapain juga di convert ke string??
user image
more 8 years ago

angel_tears

jd kira2 koding yg bner nya gmn ya kk?? :oops:
user image
more 8 years ago

mas_kofa


  jamdtg:=HourOf(DateTimePicker2.Time) ;  //jamdtg ganti integer (int);
  if jamdtg in  then
  begin
     incdtg:=3000;
   end
   else
   begin
     incdtg:=0;
   end;
   Edit3.Text:=FloatToStr(incdtg);
end;
NB : tambah kan unit DateUtils di uses.....
user image
more 8 years ago

angel_tears

makasi kk udah jalan... tp masih ada 1 yg aq bingung,knp pas di datetimepicker nya di plh jam 8.42,dy masih keluar insentif datang itu kira2 jam nya bs di batasin lebih spesifik ngga ya?? sekali lagi mohon bantuannya kk...
user image
more 8 years ago

mas_kofa

menit nya diikutsertakan juga.......

  jamdtg :=HourOf(DateTimePicker2.Time) ;  //jamdtg ganti integer (int);
  mendtg := MinuteOf(DateTimePicker2.Time); 
  jamdtg := jamdtg * 100 + mendtg;
  if (jamdtg >= 600) and (jamdtg <= 800) then
  begin
     incdtg:=3000;
   end
   else
   begin
     incdtg:=0;
   end;
   Edit3.Text:=FloatToStr(incdtg);
end;
kalo lebih presisi lagi...ikut sertakan juga detik nya....
user image
more 8 years ago

angel_tears

utk jam plg nya spt ini ya kk???
procedure TForm3.DateTimePicker3Change(Sender: TObject);
var jamplg,menplg : integer;
incplg : real;
begin
  jamplg:=HourOf(DateTimePicker3.Time) ;
  menplg:=MinuteOf(DateTimePicker3.Time) ;
  jamplg:=jamplg * 100+ menplg;
  if (jamplg >=500) and (jamplg<=550) then
  begin
     incplg:=2000;
   end
   else if (jamplg >=550) and (jamplg<=600) then
   begin
      incplg:=2500;
   end
   else if (jamplg >=600) and (jamplg<=700) then
   begin
     incplg:=3500;
   end
   else if (jamplg >=700) and (jamplg<=800) then
   begin
     incplg:=5000;
   end
   else
   begin
     incplg:=0;
   end;
   Edit4.Text:=FloatToStr(incplg);
end;
tp kok ngga keluar nilainya... :(
user image
more 8 years ago

angel_tears

ngga jd kk sdh bs... hehehe aq salah masukin nilainya.. :D
more ...
  • Pages:
  • 1
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com