ឧសភា
ការបង្កើត Trial Version របស់កម្មវិធីភាសា C# ឬ VB.Net
នៅពេលលោកអ្នកបង្កើតកម្មវិធីមួយរួចហើយ លោកអ្នកចង់ដាក់កម្មវិធីទៅឲ្យ អ្នកប្រើប្រាស់ប្រើក្នុង កំឡុងពេលណាមួយដូចជា ១ខែ , ២ខែ ឬក៏ ៣ខែ... ក្នុងការសាកល្បង ។ លោកអ្នកអាចបង្កើត Trial Version របស់កម្មវិធីបាន ។ យើងខ្ញុំសូមលើកយកពីកម្មវិធីប្រើប្រាស់ .Net ដូចជា C# និង VB.Net មកបង្ហាញ ។ សូមអនុវត្តន៍តាមជំហានដូចខាងក្រោម៖
ចុច Like គេហទំព័រ www.antkh.com ដើម្បីទទួលបានព័ត៌មានថ្មីៗទាក់ទងនឹងបច្ចេកវិទ្យា
១) បង្កើត Project ថ្មីមួយដោយប្រើប្រាស់ភាសា C# ឬ VB.Net
២) បង្កើត Class ថ្មីមួយដោយ Click លើ Project រួចជ្រើសរើសយក Add Class
ដាក់ឈ្មោះរបស់ Class ឩទាហរណ៍ខ្ញុំដាក់ឈ្មោះថា TrialVersion បន្ទាប់ទៀតចុច Add
អ្នកនឹងទទួលបាន Blank Class ថ្មីមួយ ។ មុននឹងអ្នកសរសេរ Definition ទៅឲ្យ Class សូមប្រើប្រាស់ Namespace មួយចំនួនដូចខាងក្រោម៖
- Micorsoft.Win32 អាចឲ្យលោកអ្នក Access Registry ដូចជា Open Key, Create Key, Close Key… ។
- System.windows.Forms អាចឲ្យលោកអ្នកប្រើប្រាស់ Class (MessageBox) បាន ។ យើងប្រើ វា ដើម្បីបង្ហាញ Message ទៅដល់អ្នកប្រើប្រាស់បានដឹង ។
- Systemអាចឲ្យលោកអ្នកប្រើប្រាស់ (Exception Class និង Convert Class ឬក៏ Struct DateTime និង Sturct Timespane) បានផងដែរ ។
៣) Add Definition ទៅឲ្យ class (TrialVersion) ។ Definition ទាំងនោះមានដូចជា៖
a) . FuncRegedit () សម្រាប់បង្កើត Key និង រក្សាទុកតម្លៃ នៅក្នុង Registry
♦ Code C#:
♦ Code VB.NET:
♦ ពន្យល់ Code:
RegistryKey regKey: statement នេះមានន័យថា regKey គឺជា Object មួយដែល តំណាងឲ្យ Key-level node នៅក្នុង Registry ។
regKey = Registry.CurrentUser.OpenSubKey (@"SOFTWARE\AppSecurity1", true) : Statement នេះមានន័យថា regKey នឹងទទួល ឬក៏ចាប់យក Key (AppSecurity1) ពីក្នុង Registry បន្ទាប់មកទៀត វានឹងធ្វើការសិក្សា ប្រសិនបើអត់មាន Key (AppSecurity1) នោះទេ វានឹងបង្កើត Key ចូលក្នុង Registry តាមរយៈ regKey.CreateSubKey បន្ទាប់មកទៀតវានឹង Add ទិន្នន័យទៅឲ្យ Key តាមរយៈ Method (FuncWriteValue) ។ នៅពេល FuncWriteValue ដំណើរការតម្លៃ Return ត្រលប់មកវិញគឺ True និង False ។ បើ False នោះ Message “setting fail” នឹងផ្ដល់ទៅឲ្យ Method (FuncRegedit) ផ្ទុយមកវិញបើ Key (AppSecurity1) មាន វានឹងអាន ទិន្នន័យចេញពីក្នុង Registry តាមរយៈ Method (FuncGetValueFromReg) ។ ហើយតម្លៃ ឬក៏ទិន្នន័យ ដែលទទួល បានពី FuncGetValueFromReg វានឹងផ្ដល់ទៅឲ្យ Method (FuncRegedit) ។
b) . FuncWriteValue () សម្រាប់ Write ទិន្នន័យចូលក្នុង Registry ។ ទិន្នន័យដែលត្រូវ Write ចូលនោះ មានដូចជា ថ្ងៃចាប់ផ្តើមប្រើប្រាស់កម្មវិធី ថ្ងៃបញ្ចប់នៃការប្រើប្រាស់កម្មវិធី និងឈ្មោះរបស់ Application ។
♦ Code C#:
♦ Code VB.NET:
♦ ពន្យល់ Code:
strStartDate = DateTime.Today.ToString ("dd/MM/yyyy") : Statement នេះមានន័យថា strStartDate នឹងចាប់យក Current date របស់ Computer ហើយ រក្សាទុកក្នុងទម្រង់ ឩទាហរណ៍ (04/04/2016) ។
strLastDate = Format (Today.AddDays (ustTrialPeriod) , "dd/MM/yyyy") : Statement នេះមានន័យថាវានឹងចាប់យក Current date របស់ Computer ហើយ add ចំនួនថ្ងៃបន្ថែមដែលទទួលបានពី ustTrialPeriod ហើយរក្សាទុកក្នុងទម្រង់ ឩទាហរណ៍ (01/10/2013) ។
regKey.SetValue ("System_In", strStartDate & ";" & strLastDate) : Statement នេះមាន ន័យថាវានឹងចាប់យកតម្លៃរបស់ strStartDate និងstrLastDate ហើយរក្សាទុកក្នុងទម្រង់ ឩទាហរណ៍ (01/09/2013;01/10/2013) ។
strSaveFirstAccessdate = DateTime.Today.ToString ("dd/MM/yyyy") + ";" + DateTime.Now.ToString ("hh:mm:ss tt") : Statement នេះមាន ន័យថាវានឹងចាប់យក Current date and time របស់ computer ហើយរក្សាទុកក្នុងទម្រង់ ឩទាហរណ៍ (01/09/2013;11:05:45 AM) ។
c) . FuncGetValueFromReg () សម្រាប់ Read តម្លៃ ចេញពី Registry ។
♦ Code C#:
♦ Code VB.NET:
♦ ពន្យល់ Code:
strStartDateLastDate = regKey.GetValue ("System_In") .ToString () : Statementនេះមាន ន័យថា strStartDateLastDate ចាប់យកតម្លៃរបស់ System_In ពីក្នុង Registry តម្លៃនោះតំណាងឲ្យថ្ងៃ ចាប់ផ្តើម និងបញ្ចប់ របស់ការប្រើប្រាស់កម្មវិធី ដែលមាន ២១ តួអក្សរដែលមានទម្រង់ដូចនេះ (01/09/2013;01/10/2013) ។
strStartDateLastDate.Length.ToString () =="21" : statement នេះមានន័យថា ប្រៀបធៀប ចំនួនតួអក្សររបស់ strStartDateLastDate បើសិនជាស្មើ ២១ តូអក្សរពិតប្រាកដមែន វានឹងចាប់ផ្តើមប្រៀបធៀប ថ្ងៃចាប់ផ្តើម ដែលទាញចេញពី Registry ជាមួយនឹង Current Date របស់ Computer តាមរយៈ FuncDiffDate (CDate (strStartDate) ) ។ ផ្ទុយមកវិញ បើវាមិនស្មើ ២១ តួអក្សរនោះវានឹងបង្ហាញ Message " តម្លៃរបស់ Key ត្រូវបានកែប្រែ ខុសពីទម្រង់ដើម ដោយសារអ្នកបានចូលកែ នៅក្នុង Registry" ។
strStartDate = strStartDateLastDate.Substring (0, 10) : statement នេះមានន័យថា ចាប់យក១០ តួអក្សរដំបូងរបស់ strStartDateLastDate ដែលតំណាងឲ្យថ្ងៃចាប់ផ្តើមប្រើប្រាស់កម្មវិធី ។
strEndDate = strStartDateLastDate.Substring (11) : statement នេះមានន័យថា ចាប់យក ១០ តួអក្សរចុងក្រោយរបស់ strStartDateLastDate ដែលតំណាងឲ្យថ្ងៃផុតកំណត់ប្រើប្រាស់ កម្មវិធី ។
intNumSystem_UsedTrialDays = FuncDiffDate (Convert.ToDateTime (strStartDate) ) : statement នេះមានន័យថារាប់ចំនួនថ្ងៃដែលនៅសល់ តាមរយៈ Method (FuncDiffDate) ។
d) . FuncDiffDate () សម្រាប់ធ្វើការដកថ្ងៃបច្ចុប្បន្នជាមួយនឹងថ្ងៃពីមុន ។
♦ Code C#:
♦ Code VB.NET:
4) នៅក្នុង Form ចូរសរសេរ Code ដូចខាងក្រោម៖
♦ Code C#:
♦ Code VB.NET:
To See your registry :
Click on Start → RUN and Type regEdit and press OK Buton…
Select (HKEY_CURRENT_USER → SOFTWARE → AppSecurity1)
♦ រៀបរៀងអត្ថបទដោយៈ លោក អ៊ិន សុភា កែសម្រួលអត្ថបទដោយៈ លោក ង៉ែត ណារ៉េត
♦ ដកស្រង់ចេញពីទស្សនាវដ្ដីអាន-ANT ច្បាប់ទី ៥៣ ប្រចាំខែ កញ្ញា ឆ្នាំ ២០១៣
មតិ និងយោបល់ទៅលើអត្ថបទនេះ (តាម Facebook)
ខាងក្រោមនេះជាយោបល់ផ្សេងៗរបស់អ្នកទស្សនា