រូបមន្តបន្ថែមសម្រាប់សរសេរកម្មវិធីក្នុង LibreOffice Calc
វិធីសាស្ត្រនៃការពង្រីក Calc ដោយរូបមន្តបន្ថែមដែលបានពណ៌នាខាងក្រោមគឺហួសសម័យហើយ ។ ចំណុចប្រទាក់នៅតែអាចប្រើបាន និងគាំទ្រ ដើម្បីធានាសមត្ថភាពរូបមន្តបន្ថែមដែលមានស្រាប់ ប៉ុន្តែសម្រាប់ការសរសេររូបមន្តបន្ថែមថ្មីមួយ អ្នកគួរប្រើ អនុគមន៍ API ថ្មី ។
LibreOffice Calc អាចត្រូវបានពង្រីកដោយរូបមន្តបន្ថែម ដែលជាម៉ូឌុលកម្មវិធីខាងក្រៅផ្តល់នូវអនុគមន៍បន្ថែម សម្រាប់ធ្វើការជាមួយសៀវភៅបញ្ជី ។ ទាំងនេះត្រូវបានរាយក្នុង អ្នកជំនួយការអនុគមន៍ ក្នុងប្រភេទ រូបមន្តបន្ថែម ។ បើអ្នកចង់សរសេររូបមន្តបន្ថែមដោយខ្លួននាក់ អ្នកអាចរៀននៅទីនេះ ដែលអនុគមន៍ត្រូវតែត្រូវបាននាំចេញដោយ បណ្ណាល័យរួមDLL ខាងក្រៅ ដូច្នេះរូបមន្តបន្ថែមអាចត្រូវបានភ្ជាប់ដោយជោគជ័យ ។
LibreOffice ស្វែងរកថត Add-in ដែលបានកំណត់នៅក្នុងការកំណត់រចនាសម្ព័ន្ធសម្រាប់បណ្ណាល័យដែលបានចែករំលែកយ៉ាងសមរម្យDLL ។ ដើម្បីឲ្យ LibreOffice ទទួលស្គាល់ បណ្ណាល័យដែលបានចែករំលែក DLL ត្រូវតែមានលក្ខណសម្បត្តិជាក់លាក់ ដូចដែលបានពន្យល់នៅបន្តបន្ទាប់នេះ ។ ព័ត៌មាននេះអនុញ្ញាតឲ្យអ្នករៀបចំកម្មវិធី Add-In ផ្ទាល់ខ្លួនរបស់អ្នក សម្រាប់ អ្នកជំនួយការអនុគមន៍ នៃ LibreOffice Calc ។
គំនិតរូបមន្តបន្ថែម
បណ្ណាល័យរូបមន្តបន្ថែមនីមួយៗ ផ្តល់នូវអនុគមន៍ជាច្រើន ។ អនុគមន៍ខ្លះត្រូវបានប្រើសម្រាប់គោលបំណងគ្រប់គ្រង ។ អ្នកអាចជ្រើសស្ទើរតែគ្រប់ឈ្មោះ សម្រាប់អនុគមន៍ផ្ទាល់ខ្លួនរបស់អ្នក ។ ទោះយ៉ាងណា ពួកវាក៏ត្រូវតែអនុវត្តតាមក្បួនពិតប្រាកដដែរ ដោយគោរពតាមការហុចប៉ារ៉ាម៉ែត្រ ។ ការដាក់ឈ្មោះ និងការហៅសម្មតិកម្ម នឹងខុសគ្នាសម្រាប់វេទិកាផ្សេងគ្នា ។
អនុគមន៍ បណ្ណាល័យរួមDLL រូបមន្តបន្ថែម
នៅកម្រិតអប្បបរមា ត្រូវតែមានអនុគមន៍គ្រប់គ្រង GetFunctionCount និងGetFunctionData ។ ដោយប្រើទាំងនេះ អនុគមន៍ព្រមទាំងប្រភេទប៉ារ៉ាម៉ែត្រ និងតម្លៃត្រឡប់អាចត្រូវបានកំណត់ ។ ជាតម្លៃត្រឡប់ ប្រភេទទ្វេ និងខ្សែអក្សរត្រូវបានគាំទ្រ ។ ជាប៉ារ៉ាម៉ែត្រ តំបន់ក្រឡា អារេទ្វេ អារេខ្សែអក្សរ និងអារេក្រឡា ត្រូវបានគាំទ្រ ។
ប៉ារ៉ាម៉ែត្រត្រូវបានហុចដោយប្រើសេចក្តីយោង ។ ដូច្នេះ ភាពផ្លាស់ប្តូរមួយនៃតម្លៃទាំងនេះ អាចធ្វើបានជាមូលដ្ឋាន ។ ទោះយ៉ាងណា វាមិនត្រូវបានគាំទ្រក្នុង LibreOffice Calc ទេព្រោះវាមិនមានន័យក្នុងសៀវភៅបញ្ជី ។
បណ្ណាល័យអាចត្រូវបានផ្ទុកឡើងវិញអំឡុងពេលរត់ ហើយមាតិការបស់ពួកវាអាចត្រូវបានវិភាគដោយអនុគមន៍គ្រប់គ្រង ។ សម្រាប់អនុគមន៍នីមួយៗ ព័ត៌មានមានអំពីចំនួន និងប្រភេទប៉ារ៉ាម៉ែត្រ ឈ្មោះអនុគមន៍ខាងក្នុង និងខាងក្រៅ និងលេខគ្រប់គ្រង ។
អនុគមន៍ត្រូវបានហៅក្នុងពេលដំណាលគ្នា និងត្រឡប់លទ្ធផលរបស់ពួកវាភ្លាមៗ ។ អនុគមន៍ពេលពិត (អនុគមន៍អសមកាល) ក៏អាចប្រើបានដែរ ទោះយ៉ាងណា ពួកវាមិនត្រូវបានពន្យល់លម្អិតទេ ដោយសារតែភាពស្មុគ្រស្មាញពួកវា ។
ព័ត៌មានទូទៅអំពីចំណុចប្រទាក់
ចំនួនប៉ារ៉ាម៉ែត្រច្រើនបំផុតក្នុងអនុគមន៍បន្ថែម ដែលបានភ្ជាប់នឹង LibreOffice Calc គឺ 16 ៖ មួយសម្រាប់ត្រឡប់តម្លៃ និងប៉ារ៉ាម៉ែត្រ 15 ទៀតសម្រាប់បញ្ចូលប៉ារ៉ាម៉ែត្រ ។
ប្រភេទទិន្នន័យត្រូវបានកំណត់ដូចខាងក្រោម ៖
ប្រភេទទិន្នន័យ |
ការកំណត់ |
CALLTYPE |
ក្រោម Windows ៖ FAR PASCAL (_far _pascal) ផ្សេងទៀត ៖ លំនាំដើម (លំនាំដើមបញ្ជាក់លម្អិតដោយប្រព័ន្ធប្រតិបត្តិការ) |
USHORT |
ចំនួនគត់ 2 បៃគ្មានសញ្ញា |
DOUBLE |
ទ្រង់ទ្រាយដែលអាស្រ័យលើវេទិកា 8 បៃ |
Paramtype |
អាស្រ័យវេទិកា ដូចជា int PTR_DOUBLE =0 អ្នកចង្អុលទៅទ្វេ PTR_STRING =1 អ្នកចង្អុលទៅខ្សែអក្សរដែលបញ្ចប់ដោយសូន្យ ។ PTR_DOUBLE_ARR =2 អ្នកចង្អុលទៅអារេទ្វេមួយ PTR_STRING_ARR =3 អ្នកចង្អុលទៅអារេខ្សែអក្សរមួយ PTR_CELL_ARR =4 អ្នកចង្អុលទៅអារេក្រឡាមួយ NONE =5 |
អនុគមន៍ បណ្ណាល័យរួមDLL
ខាងក្រោមអ្នកនឹងរកឃើញសេចក្តីពណ៌នាសម្រាប់អនុគមន៍ទាំងនោះ ដែលអាចត្រូវបានហៅនៅ បណ្ណាល័យរួមDLL ខាងក្រៅ ។
សម្រាប់មុខងារ បណ្ណាល័យរួមDLL ទាំងអស់ អ្វីៗខាងក្រោមនឹងអនុវត្ត ៖
void CALLTYPE fn(out, in1, in2, ...)
ទិន្នផល ៖ តម្លៃលទ្ធផល
ព័ត៌មានបញ្ចូល ៖ លេខណាមួយនៃប្រភេទ ( double&, char*, double*, char**, តំបន់ក្រឡា) ដែល តំបន់ក្រឡា ជាអារេនៃប្រភេទ អារេទ្វេ អារេខ្សែអក្សរ ឬ អារេជួរក្រឡា ។
GetFunctionCount()
ត្រឡប់ចំនួនអនុគមន៍ ដោយគ្មានអនុគមន៍គ្រប់គ្រងនៃប៉ារ៉ាម៉ែត្រសេចក្តីយោង ។ អនុគមន៍នីមួយៗមានតម្លៃតែមួយគត់ចន្លោះ 0 និង nCount-1 ។ លេខនេះនឹងត្រូវបានត្រូវការសម្រាប់អនុគមន៍ GetFunctionData និងGetParameterDescription នៅពេលក្រោយ ។
វាក្យសម្ពន្ធ
void CALLTYPE GetFunctionCount(USHORT& nCount)
ប៉ារ៉ាម៉ែត្រ
USHORT &nCount ៖
ទិន្នផល ៖ សេចក្តីយោងទៅអថេរមួយ ដែលត្រូវបានសន្មតថាមានចំនួនអនុគមន៍បន្ថែម ។ ឧទាហរណ៏ ៖ បើអនុគមន៍បន្ថែមផ្តល់ 5 អនុគមន៍ សម្រាប់ LibreOffice Calc នោះ nCount=5 ។
GetFunctionData()
កំណត់ព័ត៌មានសំខាន់ៗទាំងអស់អំពីអនុគមន៍រូបមន្តបន្ថែម ។
វាក្យសម្ពន្ធ
void CALLTYPE GetFunctionData(USHORT& nNo, char* pFuncName, USHORT& nParamCount, Paramtype* peType, char* pInternalName)
ប៉ារ៉ាម៉ែត្រ
USHORT& nNo ៖
ព័ត៌មានបញ្ចូល ៖ លេខអនុគមន៍ដែលរាប់បញ្ចូលចន្លោះ 0 និង nCount-1 ។
char* pFuncName ៖
ទិន្នផល ៖ ឈ្មោះអនុគមន៍ដូចដែលបានមើលឃើញដោយអ្នកសរសេរកម្មវិធី ដោយសារវាត្រូវបានដាក់ឈ្មោះក្នុង បណ្ណាល័យរួមDLL ។ ឈ្មោះនេះមិនកំណត់ឈ្មោះដែលបានប្រើក្នុង អ្នកជំនួយការអនុគមន៍ ។
USHORT& nParamCount ៖
ទិន្នផល ៖ ចំនួនប៉ារ៉ាម៉ែត្រក្នុងអនុគមន៍បន្ថែម ។ លេខនេះត្រូវតែធំជាង 0 ព្រោះតែងតែមានតម្លៃលទ្ធផល តម្លៃអតិបរមាគឺ 16 ។
Paramtype* peType ៖
លទ្ធផល ៖ អ្នកចង្អុលទៅអារេនៃអថេរប្រភេទ Paramtype ចំនួន១៦ យ៉ាងពិតប្រាកដ ។ ធាតុ nParamCount ដំបូងត្រូវបានបំពេញដោយប្រភេទសមរម្យនៃប៉ារ៉ាម៉ែត្រ ។
char* pInternalName ៖
លទ្ធផល ៖ ឈ្មោះអនុគមន៍ដូចដែលបានមើលឃើញដោយអ្នកប្រើ ដោយសារវាលេចឡើងក្នុង អ្នកជំនួយការអនុគមន៍ ។ អាចមាន umlauts ។
ប៉ារ៉ាម៉ែត្រ pFuncName និង pInternalName ជាអារេតួអក្សរ ដែលត្រូវបានប្រតិបត្តិជាមួយទំហំ 256 ក្នុង LibreOffice Calc ។
GetParameterDescription()
ផ្តល់នូវសេចក្តីពណ៌នាសង្ខេបនៃអនុគមន៍រូបមន្តបន្ថែម និងប៉ារ៉ាម៉ែត្ររបស់វា ។ ជាជម្រើស អនុគមន៍នេះអាចត្រូវបានប្រើដើម្បីបង្ហាញអនុគមន៍មួយ និងសេចក្តីពណ៌នាប៉ារ៉ាម៉ែត្រក្នុង អ្នកជំនួយការអនុគមន៍ ។
វាក្យសម្ពន្ធ
void CALLTYPE GetParameterDescription(USHORT& nNo, USHORT& nParam, char* pName, char* pDesc)
ប៉ារ៉ាម៉ែត្រ
USHORT& nNo ៖
ព័ត៌មានបញ្ចូល ៖ ចំនួនអនុគមន៍ក្នុងបណ្ណាល័យ ចន្លោះ 0 និង nCount-1 ។
USHORT& nParam ៖
ព័ត៌មានបញ្ចូល ៖ ចង្អុលបង្ហាញប៉ារ៉ាម៉ែត្រដែលសេចក្តីពណ៌នាត្រូវបានផ្តល់សម្រាប់ ប៉ារ៉ាម៉ែត្រចាប់ផ្តើមត្រឹម 1 ។ បើ nParam ស្មើ 0 នោះសេចក្តីពណ៌នាខ្លួនឯងត្រូវបានសន្មតដែលនឹងត្រូវបានផ្តល់ក្នុង pDesc ។ ក្នុងករណីនេះ pName គ្មានន័យអ្វីទេ ។
char* pName ៖
ទិន្នផល ៖ ទទួលយកប្រភេទ ឬឈ្មោះប៉ារ៉ាម៉ែត្រ ឧទាហរណ៍ ពាក្យ "លេខ" ឬ"ខ្សែអក្សរ" ឬ"កាលបរិច្ឆេទ" ។ល ។ បានប្រតិបត្តិក្នុង LibreOffice Calc ជា char[256] ។
char* pDesc ៖
ទិន្នផល ៖ ទទួលយកពណ៌នារបស់ប៉ារ៉ាម៉ែត្រ ឧទាហរណ៍ ពាក្យ "តម្លៃ ដែលសកលត្រូវបានគណនា" ។ បានប្រតិបត្តិក្នុង LibreOffice Calc ជា char[256] ។
pName និង pDesc ជាអារេតួអក្សរ បានប្រតិបត្តិក្នុង LibreOffice Calc ដែលមានទំហំ 256 ។ សូមសម្គាល់ថា ទំហំដែលមានក្នុង អ្នកជំនួយការអនុគមន៍ ត្រូវបានកំណត់ និងមិនអាចប្រើបានទាំង 256 តួអក្សរទេ ។
តំបន់ក្រឡា
តារាងខាងក្រោមមានព័ត៌មាន ដែលរចនាសម្ព័ន្ធទិន្នន័យត្រូវតែត្រូវបានផ្តល់ដោយម៉ូឌុលកម្មវិធីខាងក្រៅ ដើម្បីហុចតំបន់ក្រឡា ។ LibreOffice Calc សម្គាល់អារេបីខុសៗគ្នា អាស្រ័យលើប្រភេទទិន្នន័យ ។
អារេទ្វេ
ជាប៉ារ៉ាម៉ែត្រមួយ តំបន់ក្រឡាមួយដែលមានតម្លៃប្រភេទលេខ/ទ្វេ អាចត្រូវបានហុច ។ អារេទ្វេក្នុង LibreOffice Calc ត្រូវបានកំណត់ដូចខាងក្រោម ៖
អុហ្វសិត |
ឈ្មោះ |
ពិពណ៌នា |
០ |
ជួរឈរ១ |
លេខជួរឈរនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
២ |
ជួរដេក១ |
លេខជួរដេកនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
៤ |
តារាង១ |
លេខតារាងនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
៦ |
ជួរឈរ២ |
លេខជួរឈរនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
៨ |
ជួរដេក២ |
លេខជួរដេកនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា លេខរៀងចាប់ផ្តើមពី 0 ។ |
10 |
តារាង២ |
លេខតារាងនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
12 |
រាប់ |
ចំនួនធាតុខាងក្រោម ។ ក្រឡាទទេមិនត្រូវបានរាប់ ឬហុចទេ ។ |
14 |
ជួរឈរ |
លេខជួរឈរនៃធាតុ ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
16 |
ជួរដេក |
លេខជួរដេកនៃធាតុ លេខរៀងចាប់ផ្តើមពី 0 ។ |
18 |
ថេប (Tab) |
លេខតារាងនៃធាតុ លេខរៀងចាប់ផ្តើមពី 0 ។ |
20 |
កំហុស |
លេខកំហុស ដែលតម្លៃ 0 ត្រូវបានកំណត់ជា "គ្មានកំហុស" ។ បើធាតុបានមកពីក្រឡារូបមន្តមួយ នោះតម្លៃកំហុសនឹងត្រូវបានកំណត់ដោយរូបមន្ត ។ |
22 |
តម្លៃ |
អថេរ IEEE 8 បៃនៃប្រភេទទ្វេ/ពិត |
30 |
... |
ធាតុបន្ទាប់ |
អារេខ្សែអក្សរ
តំបន់ក្រឡាមួយដែលមានតម្លៃនៃប្រភេទទិន្នន័យ អត្ថបទ ហើយត្រូវបានហុចជាអារេខ្សែអក្សរមួយ ។ អារេខ្សែអក្សរមួយក្នុង LibreOffice Calc ត្រូវបានកំណត់ដូចខាងក្រោម ៖
អុហ្វសិត |
ឈ្មោះ |
ពិពណ៌នា |
០ |
ជួរឈរ១ |
លេខជួរឈរនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
២ |
ជួរដេក១ |
លេខជួរដេកនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
៤ |
តារាង១ |
លេខតារាងនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
៦ |
ជួរឈរ២ |
លេខជួរឈរនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
៨ |
ជួរដេក២ |
លេខជួរដេកនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា លេខរៀងចាប់ផ្តើមពី 0 ។ |
10 |
តារាង២ |
លេខតារាងនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
12 |
រាប់ |
ចំនួនធាតុខាងក្រោម ។ ក្រឡាទទេមិនត្រូវបានរាប់ ឬហុចទេ ។ |
14 |
ជួរឈរ |
លេខជួរឈរនៃធាតុ ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
16 |
ជួរដេក |
លេខជួរដេកនៃធាតុ លេខរៀងចាប់ផ្តើមពី 0 ។ |
18 |
ថេប (Tab) |
លេខតារាងនៃធាតុ លេខរៀងចាប់ផ្តើមពី 0 ។ |
20 |
កំហុស |
លេខកំហុស ដែលតម្លៃ 0 ត្រូវបានកំណត់ជា "គ្មានកំហុស" ។ បើធាតុបានមកពីក្រឡារូបមន្តមួយ នោះតម្លៃកំហុសនឹងត្រូវបានកំណត់ដោយរូបមន្ត ។ |
22 |
Len |
ប្រវែងនៃខ្សែអក្សរខាងក្រោម រួមទាំងបៃសូន្យដែលនៅជិត ។ បើប្រវែងរួមទាំងបៃសូន្យដែលនៅជិតស្មើនឹងតម្លៃសេស នោះបៃសូន្យទីពីរត្រូវបានបន្ថែមទៅខ្សែអក្សរ ដូច្នេះទទួលបានតម្លៃគូ ។ ដូច្នេះ Len ត្រូវបានគណនាដោយប្រើ ((StrLen+2)&~1) ។ |
24 |
ខ្សែអក្សរ |
ខ្សែអក្សរដែលមានបៃសូន្យនៅជិត |
24+Len |
... |
ធាតុបន្ទាប់ |
អារេក្រឡា
អារេក្រឡាត្រូវបានប្រើសម្រាប់ហៅតំបន់ក្រឡាដែលមានអត្ថបទ ព្រមទាំងលេខ ។ អារេក្រឡាមួយក្នុង LibreOffice Calc ត្រូវបានកំណត់ដូចខាងក្រោម ៖
អុហ្វសិត |
ឈ្មោះ |
ពិពណ៌នា |
០ |
ជួរឈរ១ |
លេខជួរឈរនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
២ |
ជួរដេក១ |
លេខជួរដេកនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
៤ |
តារាង១ |
លេខតារាងនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
៦ |
ជួរឈរ២ |
លេខជួរឈរនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
៨ |
ជួរដេក២ |
លេខជួរដេកនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា លេខរៀងចាប់ផ្តើមពី 0 ។ |
10 |
តារាង២ |
លេខតារាងនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
12 |
រាប់ |
ចំនួនធាតុខាងក្រោម ។ ក្រឡាទទេមិនត្រូវបានរាប់ ឬហុចទេ ។ |
14 |
ជួរឈរ |
លេខជួរឈរនៃធាតុ ។ លេខរៀងចាប់ផ្តើមពី 0 ។ |
16 |
ជួរដេក |
លេខជួរដេកនៃធាតុ លេខរៀងចាប់ផ្តើមពី 0 ។ |
18 |
ថេប (Tab) |
លេខតារាងនៃធាតុ លេខរៀងចាប់ផ្តើមពី 0 ។ |
20 |
កំហុស |
លេខកំហុស ដែលតម្លៃ 0 ត្រូវបានកំណត់ជា "គ្មានកំហុស" ។ បើធាតុបានមកពីក្រឡារូបមន្តមួយ នោះតម្លៃកំហុសនឹងត្រូវបានកំណត់ដោយរូបមន្ត ។ |
22 |
ប្រភេទ |
ប្រភេទនៃមាតិកាក្រឡា 0 == ទ្វេ 1 == ខ្សែអក្សរ |
24 |
តម្លៃ ឬ Len |
បើប្រភេទ == 0 ៖ អថេរ IEEE 8 បៃ នៃប្រភេទ ទ្វេ/ពិត បើ ប្រភេទ == 1 ៖ ប្រវែងនៃខ្សែអក្សរខាងក្រោម រួមទាំងបៃសូន្យដែលនៅជិត ។ បើប្រវែងរួមមានបៃសូន្យដែលនៅជិតស្មើនឹងតម្លៃសេសមួយ នោះបៃសូន្យទីពីរត្រូវបានបន្ថែមទៅខ្សែអក្សរ ដូច្នេះទទួលបានតម្លៃគូ ។ ដូច្នេះ Len ត្រូវបានគណនាដោយប្រើ ((StrLen+2)&~1) ។ |
26 បើប្រភេទ==1 |
ខ្សែអក្សរ |
បើ ប្រភេទ == 1 ៖ ខ្សែអក្សរដែលមានបៃសូន្យនៅជិត |
32 ឬ 26+Len |
... |
ធាតុបន្ទាប់ |