Wednesday, October 26, 2011

Windows 7 (PSR) ගැන

කාලයකට පස්සේ ආයෙත් සුපුරුදු බ්ලොග් කෙරුවාවට ආවා ඕං. අද දවසේ ඔබට සුපුරුදු windows 7 මෙහෙයුම් පද්ධතියේ තිබෙන අපූරු උපාංගයක් ගැන කියන්න තමයි මේ සූදානම.මේ  උපාංගයේ නම තමයි PSR( Problem Steps Recorder).මේ ගැන විශේෂයෙන්ම සඳහනක් කරන්න හිතුනේ දැනටමත් windows 7 මෙහෙයුම් පද්ධතිය භාවිතා කරලා තමන්ගේ බ්ලොග පවත්වාගෙන යන සහෘදයන්ට උදව්වක් විදිහට :-) . තමන්ගේම බ්ලොග් සටහන් වලට අවශ්‍ය තිර සටහන් ගන්න සමහරවිට තරමක කට්ටක් කන්න ඕන . ඒව සංස්කරණය කරන්නත් තරමක කාලයක් ඔබට වැයවෙනවා . මේ මම සඳහන් කරන psr වලින්  එම කාර්යය ඉක්මන් කරගන්න පුළුවන්.

පළමුව පහත තිරසටහනේ දැක්වෙන ආකාරයට Start menu එකේ psr ලෙස සටහන් කරන්න..(windows 7 වලදී)



ඉන්පසු ලැබෙන වැඩසටහනේ සුපිරි පරිශීලක පහසුකම ක්‍රියාත්මක කරන්න.(එතකොට තමයි හරියට වැඩසටහන ක්‍රියාත්මක වෙන්නේ, පහත තිර සටහන් පරීක්ෂාකාරීව බලන්න.)






ඉන්පසු start record බොත්තම ක්‍රියාත්මක කරන්න. මෙවිට මෙම වැඩසටහන පසුබිමේ ක්‍රියාත්මක වනවා. අප කරන සියලු ක්‍රියාකාරකමක්ම මෙම වැඩසටහන මගින් පටිගත වෙනවා.





ඕනම වෙලාවක මෙම තිරය පටිගත කිරීම නවත්වා ආයෙත් නවත්තපු තැන සිට ක්‍රියාත්මක කරන්නත් පුළුවන් .



අවශ්‍ය කොටස පටිගත කරගත් පසු Stop record බොත්තම ඔබන්න. එවිට ඔබට එම සිදුවූ සියලු කාර්යයන් zip ගොනුවක් ලෙසට සුරක්ෂිත කරගත හැකියි..






එම පටිගත කරගත් දෙය නැවත බලන්න වුවමනා නම් ඔබට කරන්න තියෙන්නේ අදාල zip ගොනුව විවෘත කරලා .mht ගොනුවක් ලෙසට තිබෙන පටිගත කිරීම opera,ie වගේ බ්‍රවුසරයකින් නරඹන එක විතරයි.


.mht  ගොනුව විවෘත කරලා බැලුවොතින් ඔබට පෙනෙන දෙයක් තමයි සෑම තිර සටහනකම සෑම  mouse click එකක්ම ලා කොළ  පැහැයෙන් ලකුණු වෙලා තිබෙන බව. ඕන නම් මෙම තිර සටහන් නැවත අපගේ කාර්යයන්ට යොදා ගන්න පුළුවන්.ඒ අතින් බැලුවහම මෙම මෘදුකාංගය ලොකු පහසුවක්.



අද සටහන ලිව්වේ ටිකක් කලබලයෙන් , අඩුපාඩු ඇති ඒවා සටහන් කරන්න , එහෙනම් අදට සමු ගන්නවා . ඔබ සැමට ජය !

Wednesday, August 10, 2011

සාරාංශයක් ..!


පහුගිය දවස්වල මගේ බ්ලොග් එක පැත්තේ එන්න බැරිඋනා. තරමක් කාර්යබහුල වීම තමයි ඒකට හේතුව.ඒවත් එක්කම ඒකාකාරීව ලියපු බ්ලොග් සටහනත් තාවකාලිකව නැවතුනා. මේ සටහන ලියන්නේ පහුගිය දවස්වල ලියපු ලිපි ටිකේ අරමුණ පැහැදිලි කරන්නත් එක්ක. සහෘද ඔබට මතක ඇති මම පරිගණක පාලන පද්ධති පිළිබඳ ලියපු පළමු ලිපිපෙළ. ලිපි තුනකට සීමාවුන එම මුල් ලිපි ටික තරමක් පාඨක පිරිසක් ආසාවෙන් බලන්න පටන් ගත්තා . මම ලිව්වේ අලුත්  දෙයක් ගැන නෙවෙයි , විවෘතයේ ඉංජිනේරු තාක්ෂණ පීඨයේ වසර 30 ක සංවත්සරය නිමිත්තෙන් පවත්වපු ප්‍රදර්ශනයට තබපු සරල පරිපථය තමයි මේ ලිපිපෙළ ලියන්න හේතු පාදක වුනේ. පළමුව parallel port එක  ගැනත් , පසුව dll  ගොනු ගැනත් ලියපු දේවල් වලින් ඔබට තරමක දැනුමක් ලැබුනානම් ඒක තමයි මට තියෙන සතුට. parallel port  එක ගැන සමහර දේවල් (status register,control register) නම් මට විස්තර කියන්න බැරිවුනා. ආයෙත් වෙලාව තියෙන කොට ඒ ගැන ලියන්නම්. මේ එම ලිපි පෙළෙහි  සම්පූර්ණ සාරාංශය. කියවලා කමෙන්‍ටුවක් දාන්න.

1.පරිගණක පාලන පද්ධති -1
2.පරිගණක පාලන පද්ධති -2
3.පරිගණක පාලන පද්ධති -3
4.DLL නැතිනම් (Dynamic Link Libraries) ගැන 1
5.DLL නැතිනම් (Dynamic Link Libraries) ගැන 2
6..DLL නැතිනම් (Dynamic Link Libraries) ගැන 3

එහෙනම් අදට සමුගන්නවා . ඔබ සැමට  ජය !

 

Monday, May 9, 2011

DLL නැතිනම් (Dynamic Link Libraries) ගැන 3

 මේ ලිපිය ලියන්න ප්‍රමාද වුනා වැඩියි කියලයි මම හිතන්නේ. දෙවන ලිපියේ පොරොන්දුවකුත් වුනා DLL ගොනුවක් සාදන හැටි ගැන ලිපියක් පළ කරනවා කියලා. රසික ඉල්ලීමකුත් තිබුනා මේක ගැන ලිපියක් හැකි ඉක්මනින් දාන්න කියලා. එහෙනම් අද ඒ පොරොන්දුව ඉ‍ටුකරනවා. :-)
DLL ගොනුවක් කියන්නේ මොකක්ද කියලා මම මුල් ලිපිවල කිව්වා.DLL ගොනුවක් සෑදීම කළකට පෙර නම් තරමක් අමාරු කාර්යයක්. ඒත් දැන්නම් පියවර කීපයක සුළු ක්‍රියාවලියක්.DLL ගොනුවක් නිර්මාණය කරන්න ඇත්තෙන්ම පරිගණක භාෂාවක සහය අවශ්‍යයයි.මුල් කාලයේ බෙහෙවින්ම භාවිතා කළේ C++ පරිගණක භාෂාව. නමුත් වර්තමානයේ Delphi,VB.Net ,C#  වැනි පරිගණක භාෂා භාවිතා කරනවා.එයිනුත් පහසුවෙන්ම DLL ගොනුවක් සෑදීමට භාවිතා කල හැක්කේ C#. මෙහිදී මම ඔබට පෙන්වන උදාහරණය සෑදීමට යොදාගත්තෙත් මෙම භාෂාවයි . තව විශේෂ දෙයක් කියන්න තියෙනවා DLL ගොනු ගැන,ඔබ  සාදන මෙම DLL ගොනුව එක පරිගණක භාෂාවකට සීමා වෙන්නේ නැහැ.පොදුවේ VB.Net,Delphi.Visual C++  වගේ පරිගණක භාෂා ‍රැසකට ප්‍රයෝජනයට ගත හැකියි.එමගින් පරිගණකයේ මතක සම්පත් (memory resources) අපතේ යෑම වළක්වා ගන්න පුළුවන්. මෙම ක්‍රියාකාරකම කරන්න ඔබගේ පරිගණකයේ Microsoft Visual C# Express Edition 2005 හෝ Microsoft Visual Studio 2005  ස්ථාපනය කරගෙන සිටීම වැඩකරගෙන යාමට රුකුලක් වනවා.තව ඒ සමගම dotnet framework 2.0 .
          එහෙනම් වැඩේ පටන් ගනිමු.පළමුව Visual Studio 2005 විවෘත කරගන්න.පළමු තිර සටහන් වලින් දැක්වෙන්නේ ඒක

 එහි Visual C# යටතේ Class Library යන්න ‍තෝරන්න.ව්‍යාපෘතියට කැමති නමක් දෙන්න .


     මම නම් දුන්නේ  my_class ලෙස.එය කැමති ස්ථානයක සුරක්ෂිත කරන්න.



ඉන්පසුව රූපසටහනේ දැක්වෙන ආකාරයට කේත සටහන ඇතුලත් කර ව්‍යාපෘති ගොනුව සුරකින්න


  ඉන්පසු build මෙනුවෙන් build solution හෝ යතුරු පුවරුවෙන් F6 යතුර ඔබන්න.


එවිට ඔබට X:\your_class\your_class\bin\Debug ස්ථානයේ මෙතෙක් වෙලා ඔබ බලා සිටි DLL ගොනුව සෑදී ඇති බව ඔබට පෙනේවි :-).මෙහිදී X: ලෙස දුන්නේ ඔබගේ ව්‍යාපෘති ගොනුව සු‍රැකි ධාවකය.


එතකොට කොහොමද මේ ගොනුව ක්‍රියාකරන බව අප දකින්නේ.?මට මුලින්ම කියන්න බැරිවුනා. මම මෙහි දක්වන කේත වලින් සෑදුනේ මූලික ගණිත කර්ම ඉ‍ටුකල හැකි DLL ගොනුවක් බව.මේකෙන් කරන්නේ එකතු කිරීම,අඩු කිරීම,ගුණ කිරීම හා බෙදීම.අත්හදා බැලීමේදී හරියටම වැඩ කළේ එකතු කිරීම,අඩුකිරීම ගණිත කර්ම පමණයි.

හරි ආයෙත් බහිමු වැඩේට,  නැවත වතාවක් Visual Studio 2005 වලින් නව Visual C#  ව්‍යාපෘතියක් ආරම්භ කරන්න. මෙහිදී Windows Application ලෙස ‍තෝරා (මොකද අපට වුවමනා චිත්‍රක අතුරු මුහුණතක් නිසා) කැමති නමකින් සුරක්ෂිත කරන්න.මෙහිදී මම එය test_dll ලෙස නම් කෙරුවා.


මෙහි text box දෙකක් හා විධාන බොත්තම් දෙකක් තියෙනවා . ඒ ආකාරයට සරල අතුරු මුහුණතක් සාදා ගන්න.




පසුව මෙහි දැක්වෙන ආකරයට References යටතේ Add reference යන්න ‍තෝරා දෙන්න(මෙසේ කරන්නේ අපට පරීක්ෂා කිරීමට අවශ්‍ය DLL ගොනුව ව්‍යාපෘතියට ලබාගැනීමට,මෙහිදී එම ගොනුවේ සියලුම ගුණාංග අපගේ ව්‍යාපෘතියට ඇතුළත්වනවා. )


මෙහි Browse ටැබයෙන් අවශ්‍ය ගොනුව තොරා දෙන්න.එතකොට ඒ වැඩෙත් ඉවරයි.


ඊටත් පස්සේ විධාන අතුරු මුහුණතේ බොත්තම් මත double click  කරලා පහත දැක්වෙන කේත සටහන් ඇතුළත් කරන්න.


 ඉන්පසුව යතුරු පුවරුවේ F6 යතුර ඔබන්න.පස්සේ යතුරු පුවරුවේ F5 ඔබලා ව්‍යාපෘතිය වරක් ධාවනය කරලා නවත්වන්න. ඉන්පසු කලින් DLL ගොනුවේ වගේම /bin/Debug ෆෝල්ඩරය ඇතුළේ තියෙන test_dll.exe ධාවනය කරන්න.


එවිටම වාගේ command prompt එකක් විවෘත කරලා පහත තිර සටහනේ දැක්වෙන විධානය 
සටහන් කරන්න.එවිට ඔබ මොකක්ද දකින්නේ? අපි හදපු DLL ගොනුව ගැන සඳහනක් වත් ඒකේ 
නැහැ නේද? :-(




හරි කලබල වෙන්න එපා! අපගේ වැඩසටහන එහෙමම ධාවනය වෙද්දී text box දෙකට අගයයන් දීලා , එහි විධාන බොත්තමක් ඔබලා බලන්න . පස්සේ කලින් විදිහටම command prompt එකට මුලින් දුන්න විධානය දෙන්න . එවිට ඔබට පෙනෙනවා ඇති අප සෑදූ DLL ගොනුවත් පරීක්ෂණය ධාවනයට එකතු වෙලා බව . :-)






මටත් හරියටම පෙන්නන්න ඕන වුනේ මේ දෙය තමයි. තව දේවල් ටිකකුත් අමතරව එකතු කරන්න කැමතියි.මුලින්ම මම පරීක්ෂණයට යොදා ගත්තේ Visual Studio 2010 සංස්කරණය.ඒකේ පොඩි අවාසි කීපයක් තිබුනා.එහි තිබුනේ dotnet framework 4.0 . මේකෙනුත් DLL ගොනු හදන්න පුළුවන් . හැබැයි හැදෙන DLL ගොනුව Visual Studio වල පහළ සංස්කරණ වල යොදා ගැනීමේදි ප්‍රශ්න ඇති කෙරුවා.(විශේෂයෙන් Visual Studio 2003,2005,2008 වගේ සංස්කරණ වල).ඒ නිසයි මම Visual Studio 2005 මෙහිදී යොදා ගත්තේ.අනික DLL ගොනු ගැන මෙහෙම ලිපි තුනකින් ඉදිරිපත් කරන්න බැහැ. මෙහිදී ඉදිරිපත් 
කළ කරුණු තරමක් අපැහැදිලිවෙන්න පුලුවන්.ඒකට කණගා‍ටුව ප්‍රකාශ කරන ගමන් අදට සමු ගන්නවා . මතක ඇතුව ඔබගේ වටිනා අදහස් මෙහි පළ කරන්න .

උදාහරණයක් ලෙස  DLL ගොනුවක සැබෑ ක්‍රියාකාරීත්වය වටහා ගැනීමට මෙම වෙබ් අඩවිය වෙත පිවිසෙන්න .http://nucos.wordpress.com.

මෙන්න අර DLL ව්‍යාපෘති ගොනු . මම ගානෙ නොමිලේ. මෙතනින් ලබාගන්න..

1.DLL ගොනුව.
2.චිත්‍රක අතුරු මුහුණත.  


Friday, April 29, 2011

ඔබ භාවිතා කරන වෙබ් ගවේශකය ගැන යමක්..!

ඔන්න අද පටන් මගේ ආදරණීය මිතුරු සහෘදයන්ට අලුත් අත්දැකීමක් ලබාදෙන ලිපි පෙළෙහි පළමු ලිපිය මෙලෙස සනි‍ටුහන් වනවා.ඉස්කෝලේ යන නංගිලා,මල්ලිලාත් මේ ලිපි පෙළ බැලුවත් වරදක් නැහැ කියලයි මම කියන්නේ.ඔබ සැවොම අන්තර්ජාලය භාවිතා  කරනවා නේද? ඒකනේ ,මෙච්චර ප්‍රමාණයක් බ්ලොග් කියවන්නේත්,ලියන්නේත්.  ඔබ මදකට සිතා බැලුවාද අන්තර්ජාලය පිරික්සන වෙබ් ගවේශකය (IE,Firefox,Chrome)  ගැන? නිකමටවත් හිතුනද එය සෑදී ඇත්තේ කෙසේද කියා? කෙනෙක් කියයි , "අය්යෝ ඕක මොකක්ද? නිකන් කොහෙන් හරි programming කෑලි ටිකක් අටවලා හදලා ඇති,හොයලා ඇති වැඩේ මොකක්ද " කියලා. ඔව් programming කෑලි ටිකක් අටවලා තමයි , ඒත් අපි හිතනවට වඩා ඒක සංකිර්ණයි.වෙබ් ගවේශකයක් හදද්දී විවිධ නීති රීති හා සම්මුතීන් ‍රැසක් භාවිතා කරනවා..ඒවා අනුව තමයි වෙබ් ගවේශකයක් සැකසෙන්නේ. හරි වැඩි විස්තර පසුවට කතා කරමු.මේ ලිපියට මොර‍ටුව සරසවියේ මිතුරෙක් වන ඉසුරු උදානගේ බ්ලොග් ලිපියත් හොඳ තල්ලුවක් වුනා. එයට ඔහුට ස්තූතිවන්ත වෙන්න ඕන.

  මූලිකවම නූතන වෙබ් ගවේශකයක (web browser) ආකෘතිය පහත රූප සටහනේ දැක්වෙන ආකාරය ගන්නවා . මෙම ආකෘතියට අනුව තමයි බොහොමයක් නූතන  වෙබ් ගවේශක නිපදවන්නේ..






මෙම නූතන වෙබ් ගවේශක වලට පෙර තිබුනේ අකුරු පාදක (text based) වෙබ් ගවේශක.උදාහරණ වශයෙන් කිව්වොත් www, lynx වගේ ඒවා . ඒවා ගැනත් විස්තරයක් මේ ලිපි පෙළේ පසුවට ලියවෙන ඒවා වලදී සඳහන් කරන්නම්. එහෙනම් අදට නවතිනවා . මතක ඇතුව ඔබගේ වටනා අදහස් මෙහි පළ කරන්න.


අමතර එකතු කිරීමක් 2011/05/01

මෙතෙක් කල් port controlling  ගැන මූලික අවබෝධයක් ලබා ගැනීමට මා ලිවූ ලිපි පෙළ 

1.පරිගණක පාලන පද්ධති -1
2.පරිගණක පාලන පද්ධති -2
3.පරිගණක පාලන පද්ධති -3
4.DLL නැතිනම් (Dynamic Link Libraries) ගැන
5.DLL නැතිනම් (Dynamic Link Libraries) ගැන 




Friday, April 22, 2011

අලුත් වැඩක් සමග නැවතත්..


ලැබුවාවූ සිංහල දෙමළ නව අවුරුද්ද  ශ්‍රී ලංකා වාසී ඔබ සැමට සෞභාග්‍යමත් නව වසරක් වේවා  කියලා සුබ පතනවා. මාස දෙකක් කියන්නේ තරමක ලොකු කාලයක්.සරසවියේ විභාග කටයුතු නිසා තරමක් කාර්යබහුල වුනා. ඕං ඉතින් ලැබුන විවේකයත් එක්ක කවිරංගයත් ටිකක් කම්මැලි වුනා. :-)  . නැවත්තුවේ DLL ගොනු පිළිබඳ දෙවන ලිපියෙන්.ඒ වැඩෙත් ඔහේ අලවුනා. නවත්තනවා නෙවෙයි. තරමක කාලයක් අරන් ඒකත් කරන්න ඕනා. ඉදිරි ලිපි පෙළේ පෙල ගැස්ම Port controlling,Robotics ... ලෙස මතුසම්බන්ධව කරන්න  හිතාගෙනයි ඉන්නේ . එහෙනම් අදට සමුගන්නවා . රසික ඔබ සැමට ජය !

Thursday, February 3, 2011

DLL නැතිනම් (Dynamic Link Libraries) ගැන 2

dll ගොනු ගැන ලිපි පෙළෙහි ඉතුරු කොටස ගැන ඒමට ප්‍රමාද වීම සම්බන්දයෙන් ආදරණීය රසික ඔබ සැමට කනගා‍ටුව ප්‍රකාශ කරන අතර නව වසරේ පළමු තාක්ෂණික ලිපිය මෙලෙස ආරම්භ කරනවා. පසුගිය ලිපියට ලැබුන ප්‍රතිචාර බැලුවහම පෙනීගිය එක කරුණක් තමයි සමහරුන්ට මෙය අලුත් අත්දැකීමක් වුනා,සමහර අයට ලිපියේ අපැහැදිලිකම් කිහිපයක් දක්නට ලැබුනා ඒ අතරේ තවත් පිරිසකට ලියපු දේවල් කොහෙත්ම තේරිලා තිබුනේ නැහැ. මම හදිසියට ලියපු දෙයෙහි  පිළිවෙලක් නොමැතිවීම තමයි ඒකට හේතුව :-(  

ඇත්තටම dll(Dynamic Link Library) ගොනුවක් කියන්නේ මොකක්ද?



 dll ගොනුවක් කියන්නේ windows මෙහෙයුම් පද්ධතිය සම්බන්ධයෙන් වැදගත් මෙහෙයක් ඉ‍ටුකරන ගොනු විශේෂයක් . හරියටම එය windows මෙහෙයුම් පද්ධතියේ කොඳු නාරටිය බඳුයි . පරිගණකය ආරම්භ කිරීමේදී විශාල dll ගොනු ප්‍රමානයක සහය පතන අතරම තවත් එවැනිම වූ ගොනු විශාල ප්‍රමානයකට ආරම්භක හැකියාව ලබාදෙනවා. මෙහෙයුම් පද්ධතිය ආරම්භයේදී dll ගොනු පද්ධති  මතකයට (System Memeory ) ප්‍රවේශ වෙනවා .මම කලින් ලිපියේ සඳහන් කළ පරිද්දෙන්ම user32.dll ගොනුව මෙහෙයුම් පද්ධතියේ පරිශීලක අතුරු මුහුණත සම්බන්ධයෙනුත්, uxtheme.dll ගොනුව මෙහෙයුම් පද්ධතියේ  තේමා සම්බන්ධයෙන් වග කියනවා. gdi32.dll ගොනුව පරිගණකයේ චිත්‍රක අතුරුමුහුණත් පතට (Graphic Device Interface) අදාළ කාර්යයන්ට වග කියනවා. ඔබ පරිගණක ක්‍රමලේඛණයේ( Programming ) යෙදෙන්නෙක් නම් ඔබට හොඳට හුරු පුරුදු dll ගොනු දෙකකුත් තියෙනවා. ඒ තමයි comdlg32.dll ගොනුව හා comctl32.dll ගොනුව , මෙම ගොනු වලින් comdlg32.dll මගින් පරිගණක වැඩසටහන් වල සම්මත සංවාද කො‍ටු (Common Dialog  Boxes) හරියටම හැසිරවීම සිදුකරනු ලබන අතර , comctl32.dll මගින් windows මෙහෙයුම් පද්ධතියේ සම්මත පාලනයන් හසුරවනු ලබනවා. 


හරියටම අයිකන (icons)අඩංගු dll ගොනුවක ව්‍යුහය දැක බලා ගැනීමට අපට Resource Hunter වගේ මෘදුකාංගයක්  භාවිතා කරලා windows xp වල අයිකන (icons) වලට වගකියන SHELL32.dll ඇතුළත බලන්නත් පුළුවන් . මම ඒ අවස්ථාව  රසික ඔබට අත්හදා බලන්න කියනවා.මෙහිදී SHELL32.dll ගොනුවේ ඇති අයිකන සියල්ල ඔබට පහසුවෙන් දැකගත හැකියි. ඕනම නම් මෙවා අපගේ ක්‍රමලේඛන කටයුතු සඳහා අයිකන ලෙස වෙන්කරගත හැකියි.








සටහන කොහොමද? අඩුපාඩු තියෙනවනම් කමෙන්‍ටුවක් දාන්න..



මෙවර අධ්‍යයන වසරේ අවසාන විභාග  කටයුතු නිසා ඇතිවන කාර්යබහුලත්වය හේතුකොටගෙන මෙම ලිපිපෙළට තරමක විරාමයක් තබන අතරම ඉදිරි ලිපියකින් මෙම dll ගොනුවක් නිපදවීම පිලිබඳව ඔබව දැනුවත් කිරීමට බලාපොරොත්තු වෙනවා , මතක ඇතුව ඔබගේ ප්‍රතිචාරයන් මෙහි සටහන් කරන්න.  . ජය .!