Arsip: butuh penerawangan pada validasi program??????????

more 17 years ago
rehatta
bpk 2x ibu 2x. saya butuh penerawangan nich. saya buat program untuk masa pakai prog tu 10 hari, misal tgl sekarang 14/08/2007 maka masa berlaku prog tu sampai 24/08/2007 maka prog tersebut nggak bisa dipake lagi sampe serial number diinputkan, masalahnya jika tgl di window saya rubah maka masa validasi juga berubah. source code yg ane buat seperti nih kira2xnya:
var jumhari:integer;
hr1,bln1,thn1:word;
Tgl1, Tgl2 : TDateTime;
begin
jumhari:=20;
Tgl1:=now;
Tgl1:=incday(Tgl1,jumhari);
Tgl2:=Tgl1;
label1.caption:=datetostr(Tgl1);
end;
klo menurut penerawangan dari kitab ki joko manteb dikit bab 1 ayat 3 di baris ke terakghir (weleh) data tanggal n waktu ke 1 dibandingkan data tanggal n waktu ke 2. Ruemit dagh tolonks dunk
makasih
rey

more 17 years ago
n3o_cybertech
wah, itu pertanyaan yang pingin aq tanyakan juga, masalahnya biasanya aq kalo bikin program trial, cuman tak kasih batasan fasilitas + jumlah program dibuka.

more 17 years ago
bboyz
coba pada saat aplikasi pertama kali dijalankan kamu buat satu value di registry utk pencatatan tgl pertama aplikasi kamu dibuka

more 17 years ago
mas_kofa
kalo aku bikin prog trial aku batasi recordnya........(klo prog db)
klo gak pake db hasil hitungan hari.....disimpan dalam bentuk registry, file *.ini atau file apalah.......biar tidak bisa diakali dengan merubah tanggal komputer

more 17 years ago
DelphiExpert
well benar @bboyz bilang, clue-nya adalah mencatat tanggal pd saat pertamakali program di install/dijalankan (begin-mark)
selanjutnya simpan tanggal terakhir program dijalankan (begitu prg ditutup); jika validasi tanggal valid (last-mark).
langkah berikutnya adalah pd saat starting (prg dijalankan) check validasi antar begin-mark, last-mark & current system date)
dengan demikian, sekalipun tanggal system dimundurkan begitu program anda expired, berbekal ke-tiga value tsb diatas anda bisa mendeteksi apakah tanggal system skrng adalah valid/tidak. jika tidak valid bilang aja ke user "Hayoo... elu coba2 mengganti tanggal ya" wekekek... :mrgreen:

more 17 years ago
reminder2k1
ide @DelphiExpert tuh jitu banget... Selama ini saya cuma pake 2 validasi ada begin-mark & current system date...
Boleh di coba tuh... :D

more 17 years ago
vikraa
saya tertarik dengan ide mas @delphiexpert, saya sempat coba coba bikin validasi pake registry tapi klo tanggalnya di balikin lagi masih bisa dijalanin programnya, codingnya seperti ini :
var
..............
Masa:integer;
implementation
................
Function TForm1.RegRead (Mykey,MyField : String) : string;
Var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
with Reg do
begin
RootKey:=HKEY_LOCAL_MACHINE;
if OpenKey(MyKey,true) then
begin
if ValueExists(MyField) then
result := ReadString(MyField)
else
Result:='';
end
else
ShowMessage('Error opening/creating key : '+MyKey);
CloseKey;
end;
end;
Procedure TForm1.RegWrite (Mykey,MyField,MyValue : String);
Var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
with Reg do
begin
RootKey:=HKEY_LOCAL_MACHINE;
if OpenKey(MyKey,true) then
Writestring(MyField,MyValue)
else
ShowMessage('Error opening/creating key : '+MyKey);
CloseKey;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
TglExp,TglSkr,TglMulai:string;
begin
Masa:=3;
if Length(Trim(RegRead('SOFTWARE\MyProgramm','BeginMark')))=0 then
begin
RegWrite('SOFTWARE\MyProgramm','BeginMark',DateToStr(Now));
RegWrite('SOFTWARE\MyProgramm','LastMark',DateToStr(Now+Masa));
RegWrite('SOFTWARE\MyProgramm','CurrSysDate',DateToStr(Now));
end
else
begin
RegWrite('SOFTWARE\MyProgramm','CurrSysDate',DateToStr(Now));
TglMulai:=RegRead('SOFTWARE\MyProgramm','BeginMark');
TglExp:=RegRead('SOFTWARE\MyProgramm','LastMark');
TglSkr:=RegRead('SOFTWARE\MyProgramm','CurrSysDate');
if (TglSkr<=TglExp)and(TglSkr>=TglMulai) then
Application.Run
else
begin
ShowMessage('Masa Trial Habis');
Application.Terminate;
end;
end;
end;
mohon pencerahannya,
makasih
more 17 years ago
DelphiExpert
@vikraa: LastMark bukanlah penanda Tanggal Expired, tapi sebagai acuan guna validasi tgl sistem telah dimodifikasi atau tidak (dengan toleransi tertentu, jika masih dalam range wajar ya ngga' apa2)
Toleransi --> SysDate > BeginMark and SysDate >= LastMark kurang dari itu tanggal system tidak valid!
- BeginMark hanya ditulis sekali pd waktu instalasi / saat pertamakali program di jalankan, selanjutnya tidak boleh ditulis lagi. seperti contoh berikut:
if not RegKeyExists('BeginMark') then WriteBeginMark(Now);
- CurrSysDate tidak dibaca dari registry, tapi dari fungsi delphi (Now) yg mengembalikan nilai tgl & jam sekarang...
- begitu program ditutup (dengan catatan validasi awal valid), anda harus selalu menulis LastMark (Now) yg akan digunakan sebagai acuan validasi awal
more 17 years ago
vikraa
ooo...begitu makdus nya...ternyata bisa juga batasin program pake tanggal :D maaf saya masih newbie, makasih mas @delphiexpert

more 17 years ago
rehatta
wah banyak sekali saran dan idenya, makasi, kamsia,thk, hatur nuhn semuanya dagh.
rey
============MAJU TERUS PANTANG MUNDUR=============== :)
more ...
reply |
Report Obsolete
AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 12 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 12 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 12 years ago
Random Topic
- Masalah dengan tipe data extended
by aptho in Tip n Trik Pemrograman more 18 years ago - The User's Law
by simba in Enginering more 17 years ago - Object didepan Panel yang diredraw OLE
by kanata in Hal umum tentang Pascal Indonesia more 18 years ago - [USUL] Dephi-ID project: OpenDBX convertion to Pascal
by simba in Tutorial & Community Project more 18 years ago - Jaket status (onDelivery Process)
by yayaretina in Tutorial & Community Project more 15 years ago - ada yg pernah punya masalah dengan Rollback gak??
by cyan in FireBird more 17 years ago - [saran] Kolaborasi antar Delphi-ID.org ama Delphi-ID.TK
by Manz in Hal umum tentang Pascal Indonesia more 14 years ago - data
by zsaZsa in Network, Files, I/O & System more 17 years ago - RAS client
by barkah in Delphi.NET more 18 years ago - Tanya font/component barcode
by kacungdelphi24 in Bedah Kasus more 17 years ago