Monday, November 30, 2015

C++ : Basic (2)


Visual Studio ႏွင့္ Eclipse: Luna တို႔ရဲ႕ installation အေသးစိတ္ကိုေတာ့ Basic ပုိင္းမုိ႔ အက်ယ္တဝင့္ မေဖၚျပ ေတာ့ပါဘူး။ လုိအပ္ခ်က္ အေနနဲ႔ သိထားသင့္တာေလးကေတာ့ Visual Studio တင္တဲ့အခါမွာ တင္မယ့္ Version အလိုက္ လိုအပ္တဲ့ Dot Net Framework ကို တင္ထားဖုိ႔ လိုအပ္မွာ ျဖစ္ပါတယ္။ Eclipse ကို တင္ရင္ေတာ့ Java Virtual Machine( Java Runtime Environment) ရွိထာားဖုိ႔ လိုအပ္မွာပါ။ 

Visual Studio တင္တဲ့ အခါမွာ Dot Net Framework အသင့္ ပါလာတာမ်ိဳးလည္း ရွိတတ္ပါတယ္။ ပါလာရင္ေတာ့ တင္တဲ့အခါမွာ အထစ္အေငါ့ မရွိ သာမာန္ အတုိင္း တင္သြားရင္ ရပါတယ္။ Eclipse: Luna တင္ရင္ေတာ့ MinGW GCC Compiler သုိ႔မဟုတ္ Cygwin GCC Compiler တုိ႔ကဲ့သုိ႔ Compiler တစ္မ်ိဳးမ်ိဳး တင္ဖုိ႔ လိုအပ္ပါတယ္။ တင္ပံုတင္နည္း အေနနဲ႔ Visual Studio ကဲ့သုိ႔ အလြယ္တကူ မဟုတ္ဘဲ အနည္းငယ္ ႐ႈပ္ေထြးၿပီး အဆင့္မ်ားပါတယ္။ အဲဒါေၾကာင့္ Basic Level အေနနဲ႔ တင္ရလြယ္ကူၿပီး သံုးရတာ အဆင္ေျပမယ့္ Visual Studio အသံုးျပဳၿပီး Create လုပ္ ေရးသားတာေတြပဲ ဆက္လက္ ေဖၚျပသြားမွာ ျဖစ္ပါတယ္။

1.2    Creating a project

Program တစ္ခုကို စေရးေတာ့မယ္ ဆိုရင္ေတာ့ Project တစ္ခုကို စတင္ တည္ေဆာက္ဖုိ႔ မလြဲမေသြ လုိအပ္ ပါတယ္။ တည္ေဆာက္နည္းကေတာ့ -
  • File >> New >> Project
  • Project types: ကုုိ Visual C++ ေရြး ၊ Templates: မွာ Win32 Console Application ကိုု ေ႐ြး
  • Name မွာ Project Name ကိုု ေရးပါ ၊ Location ေ႐ြးခ်ယ္လိုုပါက သတ္မွတ္ေပး
  • Create directory for solution ကိုု အမွန္ျခစ္ ျဖဳတ္ေပး
  • Win32 Application Wizard – Project Name ျဖင့္ Windows တြင္ Next ကိုႏွိပ္
  • Applicaton type တြင္ Console application ၊ Additional options တြင္ Empty project အသီးသီး ေ႐ြးခ်ယ္ေပးၿပီး Finish ကိုုႏွိပ္ၿပီး တည္ေဆာက္မႈကို ေအာင္ျမင္စြာ အဆုံုးသတ္ႏုိင္ပါတယ္။

1.3    Creating C++ Program

Project ကို တည္ေဆာက္ႏုိင္ၿပီ ဆုိရင္ေတာ့ ေရးလုိတဲ့ ပ႐ိုဂရမ္ကို ထပ္မံ တည္ေဆာက္ပါမွ စတင္ ေရးလုိ႔ ရမွာ ျဖစ္ပါတယ္။ Program ဖုိင္ကို တည္ေဆာက္မယ္ ဆုိရင္ေတာ့
  • Project ကိုု ဖြင့္ ၊ Source Files မွာ R-click ေခါက္ၿပီး Add >> New Item ကိုု ေ႐ြး
  • Categories: ကိုု Visual C++ ေ႐ြး ၊ Templates: မွာ C++ File (.cpp) ကိုု ေ႐ြး
  • Name မွာ Program Name ကိုု ေရးၿပီး Add ကိုု ႏွိပ္ၿပီး ရင္ေတာ့ မိမိေရးလို႔တဲ့ Program ကို စတင္ ေရးဖုိ႔ အဆင္သင့္ ျဖစ္ေနၿပီလို႔ သတ္မွတ္လို႔ ရပါၿပီ

Sunday, October 25, 2015

How to Fix IDM Fake Serial Pop-Up


Internet Download Manager ကို crack လုပ္ထားတယ္၊ ဒါမွမဟုတ္ patch လုပ္ထားတယ္၊ ဒါေပမယ့္ software က ဘယ္လုိမွ registered version ျဖစ္မသြားဘဲ Fake Serial ျဖစ္ေနပါတယ္ ဆိုၿပီး ေအာက္ကပံုလုိ တက္တက္ လာလို႔ စိတ္ညစ္ေနရတာမ်ိဳးေတြ ရွိခဲ့ရင္ေတာ့ အခုေပးတဲ့ နည္းေတြနဲ႔ ေျဖရွင္းလို႔ ရႏုိင္ပါတယ္။


ပထမနည္း
  1. ေပးထားတဲ့ Link ကို သြားၿပီး လိုအပ္တဲ့ IDM Fake Fixed ဆိုတဲ့ ဖုိင္ကို Download လုပ္ပါ။
  2. ရလာၿပီးဆုိရင္ ခ် ဳပ္ထားတဲ့ zip ျဖည္ခ် ၿပီး ရလာတဲ့  “Reset (Fixed).exe” ကို R-click ေခါက္ျပီး "run as administrator" ကို ေရြးၿပီး run လိုက္ပါ။
  3. တက္လာတဲ့ ပရုိဂရမ္မွာ Trail Reset ဆိုတဲ့ Tab ကို ေခါက္လိုက္ပါ။
  4. ေပၚလာတဲ့ ေနရာမွာ "Automatically" ဆိုတဲ့ ေနရာေလးကေတာ့ အလြတ္အတုိင္း ရွိပါေစ။
  5. အားလံုး ေသခ် ာၿပီ ဆုိရင္ေတာ့ “Reset the IDM trial now” ကုိ ႏွိပ္ၿပီး ခဏေစာင့္ၾကည့္လိုက္ပါ။ အဲဒါဆို တက္တက္လာေနတဲ့ Fake Serial Pop-up ေနာက္ဆို တက္လာေတာ့မွာ မဟုတ္ပါဘူး။
        Link 1          Link 2


ဒုတိယနည္း
  1. Windows Key + R ကို တြဲႏွိပ္ၿပီး Run ပရုိဂရမ္ကို ေခၚလိုက္ပါ။
  2. Open ရဲ႕ေဘးမွာ "regedit" ကို ရုိက္ထည့္ Enter ေခါက္ၿပီး Registry Editor ကို ေခၚလိုက္ပါ။
  3. ဘယ္ဘက္ Column မွာ HKEY_CURRENT_USER ကို ရွာၿပီး HKEY_CURRENT_USER\Software\DownloadManager အထိေရာက္ေအာင္ ျဖည္ခ်လိုက္ပါ။
  4. ညာဘက္မွာ သက္ဆုိင္ရာဖုိင္ေတြ အမ် ားႀကီး ေတြ႕ရမွာျဖစ္ၿပီး “CheckUpdtVM” ကို ရွာၿပီး D-Click ေခါက္ပါ။
  5. တက္လာၿပီ ဆုိရင္ေတာ့ value data ေနရာမွာ ရွိတဲ့ တန္ဖုိးကုိ '0' (သုည) သို႔ ေျပာင္းၿပီး 'OK' ႏွိပ္ အတည္ ျပဳလိုက္ပါ။ Fake Serial Pop-up ေနာက္ဆို တက္လာႏုိင္ေတာ့မွာ မဟုတ္ပါဘူး။
 

Thursday, September 10, 2015

LED Flasher with BC547 Switching Transistor


LED Flasher Circuit ေတြ အမ်ားႀကီး ရွိတဲ့ အထဲမွာ ယခု Circuit ေလးက ႐ွင္းလင္းၿပီး နားလည္ရ လြယ္ကူတဲ့ Circuit အမ်ိဳးအစားေလးပါ၊ Circuit မွာ အသံုးျပဳထားတဲ့ Capacitor ရဲ႕ အလုပ္လုပ္ပံုကိုလည္း ပိုၿပီး ႐ွင္း႐ွင္း လင္းလင္း နားလည္ ေစႏုိင္တဲ့ Circuit ပါ။ 

သံုးထားတဲ့ ပစၥည္းေတြကေတာ့
  1. Resistors - 30K x 2, 300 x 2
  2. LED - Red x 2
  3. Capacitor - 100uF x 2
  4. Transistors - BC547 x 2
Circuit ကို 9V DC ျဖင့္ ေမာင္းႏွင္ ထားၿပီး Schematic Diagram ကိုေတာ့ Proteus ISIS ေဆာ့ဖ္ဝဲႏွင့္ ဆြဲထား တာပါ။ ပံုထဲမွာေတာ့ အလုပ္လုပ္ပံုကို ပုိမုိ ပီပီျပင္ျပင္ သိေအာင္လို႔ Ammeter ေလးေတြ အပို ထည့္သံုးထား တဲ့အတြက္ နည္းနည္း ႐ႈပ္သလို ထင္ရေပမယ့္ တကယ္တမ္းကေတာ့ ႐ိုး႐ိုးရွင္းရွင္း ေလးပါပဲ။ Circuit မွာ သံုးထားတဲ့ 30K Resistor တန္ဖိုးကုိ ေလွ ် ာ့လိုက္မယ္ ဆုိရင္ေတာ့ LED ေတြဟာ Capacitor က Charging and Discharging ပံုစံကုိ မလုပ္ႏုိင္ ေတာ့တဲ့ အတြက္ လႈပ္ရွားေတာ့မွာ မဟုတ္ပါဘူး။ သက္္ဆုိင္ရာ တန္ဖုိး ေတြကို အတုိးေလ ် ာ့ လုပ္ၿပီး နားလည္ေအာင္ စမ္းသပ္ ၾကည့္သင့္ပါတယ္။
 

အလုပ္လုပ္ပံုကေတာ့ စတင္ၿပီး run တဲ့ အခ်ိန္မွာ 30K Resistance ေတြကို ျဖတ္စီးလာတဲ့ Current ေတြက BC547 Switching Transistor ေတြကို ေမာင္းေပးႏုိင္တဲ့ အတြက္ Transistor ေတြက On သြားပါတယ္။ အဲဒီ အခ်ိန္မွာ LED ေတြက ပတ္လမ္း ျပည့္သြားတဲ့အတြက္ 300 Resistance ေတြကို Current ျဖတ္စီးၿပီး ၿပိဳင္တူ မီးလင္း ေစပါတယ္ (အေပၚပံု)။ 

အဲဒီေနာက္ Capacitor ေတြက Charging Discharging အလုပ္ကို ဆက္တုိက္ လုပ္ပါတယ္။ Capacitor တစ္လံုး ကေတာ့ Charging ကို အျပည့္အဝ မလုပ္ရဘဲ Discharging ျပန္လုပ္လိုက္ရတဲ့ အတြက္ သူ႔နဲ႔ ခ်ိတ္ဆက္ထားတဲ့ Transistor အား Current ဆက္လက္ ေပးျခင္းကို ႐ပ္ဆုိင္းလိုက္မွာ ျဖစ္ပါတယ္။ ထုိ႔ေၾကာင့္ အဲဒီ Transistor က off သြားၿပီး သက္ဆုိင္ရာ LED ကို ပတ္လမ္း ျဖတ္ေတာက္ပစ္ျပီး ပိတ္သြားေစပါတယ္။ တစ္ဖက္မွာေတာ့ Discharging လုပ္ေနဆဲ ျဖစ္တဲ့ေနရာက LED ဆက္လက္ လင္းေန မွာျဖစ္ၿပီး Discharging လုပ္လို႔ ကုန္သြားရင္ေတာ့ ထုိ Capacitor ကုိ Current ျဖတ္မစီးေတာ့ဘဲ ခုနက Off ေနတဲ့ Transistor ကို Current ျပန္လည္ စီးဆင္းေစပါတယ္။ အဲဒီ အခ်ိန္မွာ Transistor ျပန္ On သြားတဲ့ အတြက္ သက္ဆုိင္ရာ LED အတြက္ လမ္းေၾကာင္း ျပန္ျပည့္သြားမွာ ျဖစ္ပါတယ္။ တစ္ဆက္တည္းမွာ ႐ွိေနတဲ့ Capacitor ကလည္း ပတ္လမ္း ျပည့္သြားတာနဲ႔ ေရာၿပီး Discharging ျပဳလုပ္ပါတယ္။ ျပဳလုပ္ျခင္းရဲ႕ အက ်ိဳးဆက္ကေတာ့ အျခား တစ္ဖက္မွာ On ေနတဲ့ Transistor ကို Current မေပးႏုိင္ေတာ့ဘဲ Off ျဖစ္သြားေစပါတယ္။ အဲဒီေတာ့ သက္ဆုိင္ရာ LED လည္း ပတ္လမ္း ျပတ္ၿပီး ပိတ္သြားျပန္ေရာေပါ့။ အဲလိုနဲ႔ပဲ တစ္လွည့္စီ လင္းေနတဲ့ သံသရာက ဆက္တုိက္ ျဖစ္သြားေတာ့တာပါပဲ(ေအာက္ပံု)။


တစ္လွည့္စီ လင္းတဲ့ ၾကာခ်ိန္ကို ခ်ိန္ညွိခ်င္ရင္ေတာ့ 30K Resistor ႏွင့္ Capacitor ရဲ႕ တန္ဖိုးေတြကို ေျပာင္းလဲ ဖုိ႔လိုအပ္မွာ ျဖစ္ၿပီး LED မီးလံုး လင္းလြန္း မွိန္လြန္းေနရင္ေတာ့ 300 Resistor ကို တန္ဖိုး ေျပာင္းလဲ ေပးရမွာ ျဖစ္ပါတယ္။ Transistor ကေတာ့ အျခား Switching Transistor ကိုလည္း ေျပာင္းလဲ အသံုးျပဳလို႔ ရပါတယ္။