ඒකකය 5 – දෙවන ව්‍යාපෘතිය: සටහන් තබා ගැනීමේ යෙදුමක් (Notes App) 📝

අපගේ පළමු ව්‍යාපෘතිය සාර්ථකව අවසන් කළ ඔබට සුබ පැතුම්! දැන් අපි තවත් ඉදිරි පියවරක් තබමින්, පරිගණකයේ ගොනු පද්ධතිය (File System) සමඟ වැඩ කරන මෘදුකාංගයක් නිර්මාණය කරමු. මෙම Notes App එක මඟින් ඔබට සටහන් ටයිප් කිරීමට, ඒවා ඔබේ පරිගණකයේ ගොනුවක් ලෙස සුරැකීමට (save) සහ පසුව නැවත විවෘත කර බැලීමට (load) හැකියාව ලැබෙනු ඇත.

මෙම ව්‍යාපෘතියේදී අපි නව සහ ඉතා වැදගත් සංකල්ප කිහිපයක් ඉගෙන ගනිමු.

පියවර 1: බහු-පේළි Text විජට් එක භාවිතා කිරීම

Calculator එකේදී අපි භාවිතා කළේ තනි පේළියක දත්ත ඇතුළත් කළ හැකි Entry විජට් එකයි. නමුත් සටහනක් යනු පේළි ගණනාවකින් සමන්විත විය හැකි දෙයකි. මේ සඳහා Tkinter අපට Text විජට් එක ලබා දේ.

Text විජට් එක මඟින් අපට සම්පූර්ණ ලිපියක් හෝ සටහනක් වැනි, පේළි ගණනාවක, ඡේද ගණනාවක ටෙක්ස්ට් ඇතුළත් කිරීමට සහ සංස්කරණය කිරීමට ඉඩ සලසයි. මෙය අපගේ Notes App එකේ ප්‍රධානම කොටස වනු ඇත.


පියවර 2: සටහන් ගොනුවකට (.txt) සුරැකීම (Saving)

මෙය පරිගණක ක්‍රමලේඛනයේ ඉතා වැදගත් කොටසකි: ගොනු හැසිරවීම (File Handling). පරිශීලකයා Text විජට් එකේ ටයිප් කළ සටහන, මෘදුකාංගය වසා දැමූ පසුවත් නැති වී නොයෑමට නම්, අපි එය ගොනුවක් ලෙස පරිගණකයේ තැන්පත් කළ යුතුය. ඒ සඳහා අනුගමනය කළ යුතු පියවර මෙසේය:

  1. "Save" නමින් function එකක් නිර්මාණය කරන්න.
  2. එම function එක තුළ, Text විජට් එකේ ඇති සම්පූර්ණ සටහන ලබා ගන්න.
  3. Python වල open() ශ්‍රිතය භාවිතා කර, notes.txt වැනි නමකින් ගොනුවක් "write mode" (ලිවීමේ ආකාරය - 'w') යටතේ විවෘත කරන්න. ගොනුවක් 'w' යටතේ විවෘත කළ විට, එම නමින් ගොනුවක් නොමැති නම් අලුතින් සෑදෙන අතර, තිබේ නම් එහි පැරණි දත්ත සියල්ල මැකී අලුත් දත්ත ලියැවේ.
  4. Text විජට් එකෙන් ලබාගත් සටහන, විවෘත කරගත් ගොනුවට ලියන්න (write).
  5. අවසානයේ, අනිවාර්යයෙන්ම close() ශ්‍රිතය භාවිතයෙන් ගොනුව වසන්න. එසේ නොකළහොත්, ඔබ ලියූ දත්ත නිවැරදිව සුරැකීම සහතික කළ නොහැක.

පියවර 3: සුරකූ සටහන් නැවත ලබා ගැනීම (Loading)

සුරකූ සටහනක් නැවත මෘදුකාංගයට ගෙන්වා ගැනීම, ඉහත ක්‍රියාවලියේ අනෙක් පසයි. ඒ සඳහා වන පියවර:

  1. "Open" හෝ "Load" නමින් function එකක් නිර්මාණය කරන්න.
  2. open() ශ්‍රිතය භාවිතා කර, notes.txt ගොනුව "read mode" (කියවීමේ ආකාරය - 'r') යටතේ විවෘත කරන්න.
  3. ගොනුවේ ඇති සම්පූර්ණ අන්තර්ගතය කියවා (read) එය විචල්‍යයකට (variable) දමා ගන්න.
  4. නව සටහන ඇතුළත් කිරීමට පෙර, Text විජට් එකේ දැනටමත් යමක් ඇත්නම්, එය සම්පූර්ණයෙන්ම මකා දමන්න (clear).
  5. ගොනුවෙන් කියවාගත් අන්තර්ගතය, Text විජට් එකට ඇතුළත් කරන්න (insert).
  6. අවසානයේ, close() ශ්‍රිතය භාවිතයෙන් ගොනුව වසන්න.

පියවර 4: මෙනු (Menus) එකතු කිරීම

"Save" සහ "Open" වැනි ක්‍රියාවන් සඳහා බොත්තම් භාවිතා කරනවාට වඩා, වෘත්තීය මෘදුකාංගයක මෙන් මෙනු තීරුවක් (Menu Bar) භාවිතා කිරීමෙන් යෙදුමට වඩාත් හොඳ පෙනුමක් සහ භාවිතයක් ලබා දිය හැක.

Tkinter මඟින් අපට ප්‍රධාන මෙනු තීරුවක් නිර්මාණය කර, එයට "File", "Edit", "Help" වැනි මෙනු එකතු කිරීමට ඉඩ ලබා දේ. "File" මෙනුව click කළ විට, පහළට විවෘත වන ලැයිස්තුවේ "Save", "Open", සහ "Exit" වැනි විධානයන් (commands) අපට ඇතුළත් කළ හැක. මෙම විධානයන්, අප ඉහත නිර්මාණය කළ "Save" සහ "Open" functions වලට සම්බන්ධ කළ හැක.

මෙමගින් අපගේ මෘදුකාංගයේ පරිශීලක අත්දැකීම (User Experience) බෙහෙවින් වැඩි දියුණු වේ.