Arsip: Validasi menggunakan data tanggal

 
user image
more 7 years ago

percyl15

halo para master delphi...newbie mo numpang tanya... langsung aja ya... kasus saya yaitu : saya punya sebuah transaksi (katakanlah semacam transaksi penjualan) yg hanya bisa diinput pada tanggal kurang dari tanggal hari ini... saya menggunakan 2 komponen DateTimePicker dan 1 buah button.. yang saya inginkan yaitu, kesalahan akan tampil ketika user mencoba menyimpan data pada tanggal hari ini atau lebih besar dr tanggal hari ini...coding yg saya buat yaitu : procedure TForm1.btnSimpanClick(Sender: TObject); begin dtpHariIni.date:=now; if dtpTanggal.Date > dtpHariIni.Date then ShowMessage('Maaf, tanggal tidak boleh lebih besar dari tanggal hari ini !') else if dtpTanggal.Date = dtpHariIni.Date then ShowMessage('Maaf..tanggal tidak boleh sama dengan tanggal hari ini !') else begin //proses penyimpanan data end; end; Nah..ketika di Run...ternyata ShowMessage yg 1 berhasil, tp yg ke 2 tidak berhasil, jadi user tetap bisa menyimpan data pada tanggal yg sama...karena validasi yg 1 berhasil, maka saya mencoba mengubah codingnya sbb: procedure TForm1.btnSimpanClick(Sender: TObject); begin dtpHariIni,date:=now; if dtpTanggal.Date = dtpHariIni.Date then ShowMessage('Maaf, tanggal tidak boleh sama dengan tanggal hari ini !') else begin //proses penyimpanan data end; end; ternyata memang coding ini yg tidak berhasil :-'( saya pikir ini masalah sepele...tp ternyata saya di buat puyeng olehnya hiks..hiks..srooott apakah validasi 2 coding di atas ada yang keliru(khususnya ketika data tgl yg dipilih oleh user sama dgn tanggal sekarang)??? mohon bantuannya... terimakasih sebelumnya...
user image
more 7 years ago

halimanh

Masalahnya karena Date juga mengandung hh:mm:ss, jadi membandingkan tglnya harus tanpa waktunya.
@percyl15: halo para master delphi...newbie mo numpang tanya... langsung aja ya... kasus saya yaitu : saya punya sebuah transaksi (katakanlah semacam transaksi penjualan) yg hanya bisa diinput pada tanggal kurang dari tanggal hari ini... saya menggunakan 2 komponen DateTimePicker dan 1 buah button.. yang saya inginkan yaitu, kesalahan akan tampil ketika user mencoba menyimpan data pada tanggal hari ini atau lebih besar dr tanggal hari ini...coding yg saya buat yaitu : procedure TForm1.btnSimpanClick(Sender: TObject); begin dtpHariIni.date:=now; if dtpTanggal.Date > dtpHariIni.Date then ShowMessage('Maaf, tanggal tidak boleh lebih besar dari tanggal hari ini !') else if dtpTanggal.Date = dtpHariIni.Date then ShowMessage('Maaf..tanggal tidak boleh sama dengan tanggal hari ini !') else begin //proses penyimpanan data end; end; Nah..ketika di Run...ternyata ShowMessage yg 1 berhasil, tp yg ke 2 tidak berhasil, jadi user tetap bisa menyimpan data pada tanggal yg sama...karena validasi yg 1 berhasil, maka saya mencoba mengubah codingnya sbb: procedure TForm1.btnSimpanClick(Sender: TObject); begin dtpHariIni,date:=now; if dtpTanggal.Date = dtpHariIni.Date then ShowMessage('Maaf, tanggal tidak boleh sama dengan tanggal hari ini !') else begin //proses penyimpanan data end; end; ternyata memang coding ini yg tidak berhasil :-'( saya pikir ini masalah sepele...tp ternyata saya di buat puyeng olehnya hiks..hiks..srooott apakah validasi 2 coding di atas ada yang keliru(khususnya ketika data tgl yg dipilih oleh user sama dgn tanggal sekarang)??? mohon bantuannya... terimakasih sebelumnya...
user image
more 7 years ago

percyl15

iya gan...mungkin waktunya jg harus dihilangkan dulu....akhirnya saya nyoba pake fungsi DecodeDate, alhamdulillah udah sesuai keinginan hehehe....cuman coding-nya emang agak lumayan panjang, tp gpp lah, yg penting ilmu saya nambah hehehe.....
user image
more 7 years ago

halimanh

codenya lumayan panjang? kan cuma perlu:

  if (YearOf(tgl1)=YearOf(tgl2)) and (DayOfTheYear(tgl1)=DayOfTheYear(tgl2)) then
user image
more 7 years ago

ImanD

@halimanh: codenya lumayan panjang? kan cuma perlu:

  if (YearOf(tgl1)=YearOf(tgl2)) and (DayOfTheYear(tgl1)=DayOfTheYear(tgl2)) then
kayaknya masih panjang codenya, masihkah harus menggunakan variable tgl1 dan tgl2, karena code diatas memanfaatkan 'DateUtils', bisa lebih disimplekan codenya dengan

if SameDate(dtpTanggal.Date, dtpHariIni.Date) then
PISS
user image
more 7 years ago

percyl15

saya coba dulu deh gan 2 coding diatas hehe...btw makasih dah mo sharing...
user image
more 7 years ago

tomxpatra

pakai decode dan SameDate() sama ajah kok .... mantap
user image
more 7 years ago

percyl15

iya nih gan..akhirnya saya pake decodedate...
user image
more 7 years ago

mas_kofa

kalo aku biasa pake trunc.....

if trunc(dtp1.date > dtp2.date) then
........

if trunc(dtp1.date) = trunc(dtp1.date) then
..........
more ...
  • Pages:
  • 1
Share to

Random Topic

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