Arsip: Validasi menggunakan data tanggal

 
user image
more 11 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 11 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 11 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 11 years ago

halimanh

codenya lumayan panjang? kan cuma perlu:

  if (YearOf(tgl1)=YearOf(tgl2)) and (DayOfTheYear(tgl1)=DayOfTheYear(tgl2)) then
user image
more 11 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 11 years ago

percyl15

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

tomxpatra

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

percyl15

iya nih gan..akhirnya saya pake decodedate...
user image
more 11 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