Miklix

ডায়নামিক্স এএক্স 2012 এ এক্স ++ কোড থেকে একটি এনামের উপাদানগুলির উপর কীভাবে পুনরাবৃত্তি করবেন

প্রকাশিত: ১৫ ফেব্রুয়ারী, ২০২৫ এ ১১:১১:১৫ PM UTC

এই নিবন্ধটি একটি এক্স ++ কোড উদাহরণ সহ ডায়নামিক্স এএক্স 2012 এ একটি বেস এনামের উপাদানগুলি কীভাবে গণনা এবং লুপ করতে হয় তা ব্যাখ্যা করে।


এই পৃষ্ঠাটি যতটা সম্ভব মানুষের কাছে পৌঁছানোর জন্য ইংরেজি থেকে মেশিন অনুবাদ করা হয়েছে। দুর্ভাগ্যবশত, মেশিন অনুবাদ এখনও একটি নিখুঁত প্রযুক্তি নয়, তাই ত্রুটি হতে পারে। আপনি যদি চান, আপনি এখানে মূল ইংরেজি সংস্করণটি দেখতে পারেন:

How to Iterate Over the Elements of an Enum from X++ Code in Dynamics AX 2012

এই পোস্টের তথ্য Dynamics AX 2012 R3 এর উপর ভিত্তি করে। এটি অন্যান্য সংস্করণের জন্য বৈধ হতে পারে বা নাও হতে পারে।

আমি সম্প্রতি একটি ফর্ম তৈরি করছিলাম যা একটি এনামের প্রতিটি উপাদানের জন্য একটি মান প্রদর্শন করা দরকার। ম্যানুয়ালি ক্ষেত্রগুলি তৈরি করার পরিবর্তে (এবং তারপরে এনামটি কখনও সংশোধন করা হলে ফর্মটি বজায় রাখার প্রয়োজন), আমি এটি গতিশীলভাবে প্রয়োগ করার সিদ্ধান্ত নিয়েছি যাতে এটি স্বয়ংক্রিয়ভাবে রান টাইমে নকশায় ক্ষেত্রগুলি যুক্ত করে।

যাইহোক, আমি শীঘ্রই আবিষ্কার করেছি যে প্রকৃতপক্ষে একটি এনামের মানগুলির উপর পুনরাবৃত্তি করা, যখন আপনি কীভাবে জানেন তা যথেষ্ট সহজ, কিছুটা বিভ্রান্তিকর।

আপনাকে অবশ্যই ডিকটেনাম ক্লাস দিয়ে শুরু করতে হবে। আপনি দেখতে পাবেন, এই শ্রেণীতে সূচক এবং মান উভয় থেকে নাম এবং লেবেল হিসাবে তথ্য প্রাপ্তির জন্য বিভিন্ন পদ্ধতি রয়েছে।

সূচক এবং মানের মধ্যে পার্থক্য হ'ল সূচকটি এনামের একটি উপাদানের সংখ্যা, যদি এনামের উপাদানগুলি শূন্য থেকে শুরু করে ক্রমানুসারে সংখ্যাযুক্ত হয়, যখন মানটি উপাদানটির প্রকৃত "মান" সম্পত্তি। যেহেতু বেশিরভাগ এনামের মান 0 থেকে ক্রমানুসারে সংখ্যাযুক্ত হয়, তাই কোনও উপাদানের সূচক এবং মান প্রায়শই একই হবে, তবে অবশ্যই সর্বদা নয়।

তবে আপনি কীভাবে জানবেন যে এনামের কোন মান রয়েছে? এখানেই বিষয়টি বিভ্রান্তিকর হয়ে ওঠে। ডিকটেনাম ক্লাসে মান () নামে একটি পদ্ধতি রয়েছে। আপনি আশা করতে পারেন যে এই পদ্ধতিটি এনামের মানগুলির একটি তালিকা ফিরিয়ে দেবে, তবে এটি স্পষ্টতই খুব সহজ হবে, তাই পরিবর্তে এটি এনামের মধ্যে থাকা মানগুলির সংখ্যা ফিরিয়ে দেয়। যাইহোক, মানগুলির সংখ্যার প্রকৃত মানগুলির সাথে কিছুই করার নেই, তাই আপনাকে এই সংখ্যাটি সূচক-ভিত্তিক পদ্ধতিগুলি কল করার ভিত্তি হিসাবে ব্যবহার করতে হবে, মান-ভিত্তিক নয়।

যদি তারা এই পদ্ধতিটির পরিবর্তে সূচী () নামকরণ করত তবে এটি কম বিভ্রান্তিকর হত ;-)

এছাড়াও মনে রাখবেন যে এনাম মানগুলি (এবং দৃশ্যত এই "সূচকগুলি") 0 থেকে শুরু হয়, এক্স ++ এ অ্যারে এবং ধারক সূচকগুলির বিপরীতে, যা 1 থেকে শুরু হয়, সুতরাং এনামের উপাদানগুলির উপর লুপ করতে আপনি এর মতো কিছু করতে পারেন:

DictEnum dictEnum = new DictEnum(enumNum(SalesStatus));
Counter  c;
;

for (c = 0; c < dictEnum.values(); c++)
{
    info(strFmt('%1: %2', dictEnum.index2Symbol(c), dictEnum.index2Label(c)));
}

এটি ইনফোলগে এনামের প্রতিটি উপাদানের প্রতীক এবং লেবেল আউটপুট দেবে।

ব্লুস্কাইতে শেয়ার করুনফেসবুকে শেয়ার করুনলিংকডইনে শেয়ার করুনটাম্বলারে শেয়ার করুনX-এ শেয়ার করুনলিংকডইনে শেয়ার করুনপিন্টারেস্টে পিন করুন

মিকেল ব্যাং ক্রিস্টেনসেন

লেখক সম্পর্কে

মিকেল ব্যাং ক্রিস্টেনসেন
মিকেল হলেন miklix.com এর স্রষ্টা এবং মালিক। একজন পেশাদার কম্পিউটার প্রোগ্রামার/সফ্টওয়্যার ডেভেলপার হিসেবে তার ২০ বছরেরও বেশি অভিজ্ঞতা রয়েছে এবং বর্তমানে তিনি একটি বৃহৎ ইউরোপীয় আইটি কর্পোরেশনে পূর্ণকালীন কর্মরত। ব্লগিং না করার সময়, তিনি তার অবসর সময় বিভিন্ন আগ্রহ, শখ এবং কার্যকলাপে ব্যয় করেন, যা কিছুটা হলেও এই ওয়েবসাইটে কভার করা বিভিন্ন বিষয়ের মধ্যে প্রতিফলিত হতে পারে।