ইনপুট পরামিতি 1s-এ মানগুলির একটি তালিকা নির্দিষ্ট করে৷

এই ইউনিটে আমরা 1C ভাষার একটি নতুন ডেটা টাইপের সাথে পরিচিত হব, যাকে বলা হয় তালিকার মান।

মান তালিকাএকটি অ্যারে, কিন্তু মহান ক্ষমতা সঙ্গে. এবং যদি তাই হয়, তবে এটি ডেটার একটি সংগ্রহও এবং আপনি এতে সংখ্যার একটি সেট রাখতে পারেন:

// মানগুলির একটি তালিকা তৈরি করা হয়েছে

তালিকা যোগ করুন(২৩);

এখন পর্যন্ত সবকিছু একটি অ্যারের মত অনেক দেখায়, তাই না? কিন্তু চলুন এগিয়ে চলুন. এখন ব্যবহারকারীর কাছে এই সংখ্যাগুলি প্রদর্শন করতে, আমরা লিখি:

// তালিকার প্রতিটি উপাদানের মাধ্যমে লুপ করুন তালিকা লুপ রিপোর্ট (Element.Value) থেকে প্রতিটি উপাদানের জন্য;

// EndCycle এলিমেন্টের মান প্রদর্শন করুন;

এবং এখানে প্রথম পার্থক্য. একটি নিয়মিত অ্যারের উপাদানগুলি হল সংখ্যাগুলি। এবং একটি উপাদান বর্তমান মান অ্যাক্সেস তালিকাআমরা বিকল্পটি ব্যবহার করতে পারি অর্থ, নির্মাণ ব্যবহার করে উপাদান। অর্থ।

এর কিছু অতিরিক্ত বৈশিষ্ট্য তাকান মূল্যবোধ।

সাজাতে পারেন

উদাহরণস্বরূপ, আমরা সহজেই মানগুলির একটি তালিকা সাজাতে পারি। তালিকা নিজেই এটি করতে পারে:

তালিকা.SortByValue(SortDirection.Age); একটি নিয়মিত অ্যারের ক্ষেত্রে, আমাদের একটি সাজানোর অ্যালগরিদম বাস্তবায়ন করতে হবে (উদাহরণস্বরূপ, "বুদবুদ")।

অনুসন্ধান করতে পারেন

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

EnterNumber(Number); // ব্যবহারকারী FoundElement = তালিকা থেকে একটি নম্বর প্রবেশ করান। FindByValue(সংখ্যা);

যদি FoundItem = Undefined তাহলে OpenValue("Number" + Number + " তালিকায় পাওয়া যায় না!"); অন্যথায়

OpenValue("নম্বর " + Number + " তালিকায় উপস্থিত রয়েছে। এটি এখানে:" + FoundElement.Value);

যদি শেষ; তালিকার মান

সন্নিবেশ এবং মোছা সমর্থন করে

মানগুলির একটি তালিকা, যেমন একটি অ্যারের, উপাদান সন্নিবেশ এবং অপসারণ সমর্থন করে:

তালিকা সন্নিবেশ (0, 1000);

// তালিকার একেবারে শুরুতে এক হাজার ঢোকান। মুছুন(ও); // এবং অবিলম্বে তালিকা তালিকা থেকে এটি সরান। সন্নিবেশ (তালিকা. পরিমাণ (), 13);

// তালিকার শেষে 13 সন্নিবেশ করান Report(List[List.Quantity() - 1]);

// তালিকার শেষ উপাদান প্রদর্শন করুন (13)

বর্গাকার বন্ধনী সমর্থন করে

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

রিপোর্ট (তালিকা. মান); // তালিকার দ্বিতীয় উপাদানটি প্রদর্শন করুন সুতরাং, আমরা এইভাবে তালিকার সমস্ত উপাদানের মধ্য দিয়ে যেতে পারি:

A = 0 এর জন্য List.Quantity() - 1 লুপ রিপোর্ট(লিস্ট[A].Value);

এন্ডসাইকেল;

নিজেই একটি অনুলিপি তৈরি করতে পারেন

মানগুলির তালিকায় কেবল একটি দুর্দান্ত বৈশিষ্ট্য রয়েছে - এটি নিজের একটি অনুলিপি তৈরি করতে পারে:

ListCopy = List.Copy();

// তালিকার একটি অনুলিপি তৈরি করা হয়েছে // এখন আমরা নিরাপদে তালিকার অনুলিপি পরিবর্তন করতে পারি // যখন মূল তালিকাটি তালিকার অনুলিপি পরিবর্তন করবে না। মান = 123456;

একটি অ্যারে পরিণত করতে পারেন

এবং পরিশেষে, আপনি যেকোন সময় তালিকার সমস্ত উপাদান সহজেই একটি অ্যারেতে ডাম্প করতে পারেন:

ArrayNumbers = তালিকা। আনলোড ভ্যালুস();

// একটি অ্যারের মধ্যে ডাম্প করা হয়েছে

A = 0 এর জন্য ArrayNumber.Quantity() - 1 চক্র

রিপোর্ট(অ্যারে নম্বর[এ]); // নির্দিষ্ট করার প্রয়োজন নেই // বিকল্প মান

এন্ডসাইকেল;

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

ব্যবহারকারীর কাছ থেকে 5টি সংখ্যা লিখতে হবে, তাদের মধ্যে সবচেয়ে বড় এবং ছোটটি খুঁজে বের করতে হবে এবং ব্যবহারকারীর কাছে সেগুলি প্রদর্শন করতে হবে। সমাধানটি অবশ্যই মানগুলির একটি তালিকা ব্যবহার করবে।

সমাধান

তালিকা = New ValueList;

// 5 সাইকেল নম্বর = 0 এর মাধ্যমে A = 1 এর জন্য মানের একটি তালিকা তৈরি করেছে;

EnterNumber(Number); // ব্যবহারকারীর তালিকা থেকে একটি নম্বর লিখুন। যোগ করুন(সংখ্যা); // এবং তালিকা EndCycle এ যোগ করুন; // এবং তাই 5 বার

// সংখ্যার তালিকা সাজান

তালিকা মান অনুসারে সাজান(SortDirection.Age);

// বাছাই করার পরে, তালিকার প্রথম উপাদানটি হল // ক্ষুদ্রতম উপাদান, এবং শেষটি বৃহত্তম ওপেনভ্যালু("ছোটতম উপাদান" + তালিকা +

", এবং বৃহত্তম " + তালিকা[লিস্ট. পরিমাণ() - 1]);

সম্পূর্ণ সিনট্যাক্স (প্রসারিত করতে ক্লিক করুন)

তালিকার মান

বর্ণনা:

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

সংগ্রহ আইটেম: ValueListElement

অপারেটর ব্যবহার করে একটি বস্তুর সংগ্রহকে বাইপাস করা সম্ভব প্রত্যেকের জন্য... থেকে... সাইকেল. ট্রাভার্সাল সংগ্রহের উপাদান নির্বাচন করে।

[...] অপারেটর ব্যবহার করে একটি সংগ্রহের উপাদান অ্যাক্সেস করা সম্ভব। উপাদানটির সূচকটি একটি যুক্তি হিসাবে পাস করা হয় ( 0 থেকে সংখ্যাকরণ).

বৈশিষ্ট্য:

পদ্ধতি:

সন্নিবেশ (সূচক, মান, প্রতিনিধিত্ব, লেবেল, চিত্র) নির্দিষ্ট সূচকের অবস্থানে মানগুলির তালিকায় একটি নতুন উপাদান সন্নিবেশ করায়।সিলেক্ট এলিমেন্ট (শিরোনাম, এলিমেন্ট) মানের তালিকায় অন্তর্ভুক্ত উপাদানগুলির মধ্যে একটিকে ইন্টারেক্টিভভাবে নির্বাচন করার জন্য একটি উইন্ডো কল করে। উপাদান- যে উপাদানটি ইন্টারেক্টিভ নির্বাচনের সময় প্রাথমিকভাবে মান তালিকার অবস্থান করা উচিত। যদি প্যারামিটার মান একটি মান তালিকা উপাদান না হয় যা প্রদত্ত তালিকায় অন্তর্ভুক্ত করা হয়, কোন অবস্থান ঘটবে না।মান আনলোড করুন() একটি অ্যারে তৈরি করে এবং এতে মান উপাদানগুলির তালিকার মানগুলি অনুলিপি করে।যোগ করুন(মান, প্রতিনিধিত্ব, লেবেল, চিত্র) মান তালিকার শেষে একটি নতুন উপাদান যোগ করে।লোড ভ্যালুস(ArrayValues) পাস করা অ্যারে থেকে মানগুলির সাথে মানগুলির একটি তালিকা লোড করে। এই ক্ষেত্রে, তালিকার সমস্ত পূর্ববর্তী উপাদান মুছে ফেলা হয়।নোট পূরণ করুন(মার্ক) মানের তালিকার সমস্ত উপাদানের জন্য একটি চিহ্ন সেট করে।সূচক(উপাদান) মানগুলির একটি তালিকায় একটি উপাদানের সূচী পায়। যদি না পাওয়া যায়, তাহলে -1 ফেরত দেওয়া হয়।Count() মানের তালিকায় উপাদানের সংখ্যা পায়।FindByValue(SearchValue) মানের তালিকায় একটি উপাদানের মান অনুসন্ধান করে। যদি কোনো উপাদান অনুসন্ধান মানের সমান একটি মান সঞ্চয় না করে, তাহলে মানটি ফেরত দেওয়া হয় অনির্ধারিত. আইডি দ্বারা খুঁজুন(শনাক্তকারী) শনাক্তকারী দ্বারা মান উপাদানের তালিকা পুনরুদ্ধার করে। যদি উপাদানটি পাওয়া না যায় তবে এটি ফেরত দেওয়া হয় অনির্ধারিত. MarkItems(শিরোনাম) মান তালিকার আইটেমগুলিকে সেট বা আনচেক করে (ইন্টারেক্টিভভাবে)। রিটার্নস সত্য, যদি ডায়ালগে "ঠিক আছে" বোতাম টিপানো হয়, মিথ্যা- অন্যথায়।Clear() মান তালিকা সাফ করে, এটি থেকে সমস্ত উপাদান সরিয়ে দেয়।শো এলিমেন্ট নির্বাচন(DescriptionNotificationsOnClosing, Title, Element) মানের তালিকায় অন্তর্ভুক্ত উপাদানগুলির মধ্যে একটিকে ইন্টারেক্টিভভাবে নির্বাচন করার জন্য একটি উইন্ডো কল করে।শোমার্ক আইটেম(ক্লোজিং অ্যালার্টের বিবরণ, হেডার) মান তালিকার উপাদানগুলির জন্য ইন্টারেক্টিভভাবে মার্ক স্টেট সেট করার জন্য ডিজাইন করা হয়েছে।Get(Index)সূচক দ্বারা মান পুনরুদ্ধার করে। অপারেটরের অনুরূপ কাজ করে।শিফট (উপাদান, অফসেট) একটি নির্দিষ্ট সংখ্যক অবস্থানের দ্বারা মান তালিকার একটি উপাদানকে এগিয়ে বা পিছনে স্থানান্তর করে।কপি() মানগুলির একটি তালিকার একটি অনুলিপি তৈরি করে।SortByValue(দিকনির্দেশ) উপাদানগুলির দ্বারা সংরক্ষিত মানগুলির আরোহী বা অবরোহ ক্রমে মানগুলির একটি তালিকা সাজায়। নীচের উদাহরণ দেখুন।SortByView(দিকনির্দেশ) মানের তালিকায় অন্তর্ভুক্ত উপাদানগুলির উপস্থাপনাগুলির বর্ণানুক্রমিক ক্রমানুসারে আরোহী বা অবরোহ ক্রমে মানগুলির তালিকা সাজায়৷ নীচের উদাহরণ দেখুন।সরান (উপাদান) মানগুলির একটি তালিকা থেকে একটি উপাদান সরিয়ে দেয়, যেখানে উপাদান- মুছে ফেলা উপাদানের সূচী, বা উপাদান নিজেই।

ডিজাইনার:

মূল্যের নতুন তালিকা
&অনক্লায়েন্ট প্রসিডিউর এক্সিকিউট কোড (কমান্ড) /// কিভাবে 1s 8.3, 8.2 এ মানের তালিকা তৈরি করবেনতালিকা = নতুন মূল্য তালিকা; /// 1s 8.3, 8.2-এ মানের তালিকায় কীভাবে একটি উপাদান যুক্ত করবেন // পদ্ধতি পরামিতি যোগ করুন:// - অর্থ // - কর্মক্ষমতা // - চিহ্ন (প্রয়োজনীয়) // - ছবি (প্রয়োজনীয়)তালিকা যোগ করুন (1980, // উপাদান মান "ভাস্যার জন্মের বছর"// কর্মক্ষমতা ) ; তালিকা যোগ করুন(1985, "ইউলিয়ার জন্মের বছর") ; // মান বিভিন্ন ধরনের হতে পারেতালিকা যোগ করুন ("পোলিনা" , "শিশুর নাম"); /// 1s 8.3, 8.2-এ মানের তালিকায় কীভাবে একটি উপাদান সন্নিবেশ করা যায় // অবস্থান নং 2 এ ঢোকান (উপাদানগুলি 0 থেকে শুরু করে সংখ্যাযুক্ত) // মান 2010 এবং প্রতিনিধিত্ব সহ উপাদান // "যে বছর তাদের যৌথ কন্যার জন্ম হয়েছিল"তালিকা সন্নিবেশ (2, 2010, "যে বছর তাদের যৌথ কন্যার জন্ম হয়েছিল") ; /// 1s 8.3, 8.2-এ মানের তালিকার উপাদানগুলিকে কীভাবে বাইপাস করবেনতালিকা লুপ রিপোর্ট থেকে প্রতিটি উপাদানের জন্য ( উপাদান। প্রতিনিধিত্ব + ": " + স্ট্রিং (এলিমেন্ট। মান) ); এন্ডসাইকেল; /// কিভাবে 1s 8.3, 8.2 এ মানের তালিকা সাফ করবেনতালিকা পরিষ্কার() ; তালিকা যোগ করুন ("সোমবার"); তালিকা যোগ করুন ("মঙ্গলবার"); তালিকা যোগ করুন ("বুধবার"); /// কিভাবে মানের তালিকার উপাদান সংখ্যা খুঁজে বের করতে হয়, সেইসাথে /// 1s 8.3, 8.2-এ এর সূচক দ্বারা একটি তালিকা উপাদান পান// স্ক্র্যাচ থেকে সংখ্যায়ন সূচকের জন্য = তালিকা অনুসারে 0। পরিমাণ () - 1 সাইকেল রিপোর্ট (তালিকা[সূচক]); এন্ডসাইকেল;/// কিভাবে 1s 8.3, 8.2-এ একটি তালিকা উপাদান খুঁজে বের করবেন ValueTuesday = তালিকা। FindByValue("মঙ্গলবার");/// কিভাবে 1s 8.3, 8.2 এ একটি তালিকার একটি উপাদানের সূচী খুঁজে বের করতে হয় রিপোর্ট (তালিকা। সূচক (মান মঙ্গলবার) ); // 1, যেহেতু সংখ্যা শূন্য থেকে শুরু হয় /// কিভাবে 1s 8.3, 8.2 এ একটি তালিকার মান অনুসারে সাজানো যায়// ছিল: সোমবার, মঙ্গলবার, বুধবার তালিকা SortByValue(SortDirection.Descending); // হয়ে গেছে: বুধবার, সোমবার, মঙ্গলবার /// 1s 8.3, 8.2-এ মানের তালিকা থেকে কীভাবে একটি উপাদান সরানো যায় // প্রথম উপাদান সরান // প্যারামিটার: তালিকা উপাদান// বা উপাদান সূচক // আপনি এই তালিকা করতে পারেন. মুছুন(তালিকা[ 0 ]); // অথবা তাই // তালিকা মুছুন(0); /// কিভাবে 1s 8.3, 8.2 এ মানের তালিকার একটি উপাদান স্থানান্তর করা যায় // শূন্য উপাদানটিকে একটি অবস্থানের সামনে নিয়ে যান// ছিল: সোমবার মঙ্গলবার তালিকা সরান(0, 1); // হয়ে গেল: মঙ্গলবার সোমবার/// কিভাবে 1s 8 এ একটি তালিকার একটি অনুলিপি তৈরি করবেন লিস্টকপি = তালিকা। কপি(); রং = NewValueList; রং. যোগ করুন ("লাল"); রং. যোগ করুন ("সবুজ"); রং. যোগ করুন ("নীল"); ArrayColors = রং. আনলোড ভ্যালুস(); /// কিভাবে 1s 8.3, 8.2 এ একটি অ্যারে থেকে তালিকার মান লোড করবেনরং. LoadValues(ArrayColors); পদ্ধতির সমাপ্তি /// কিভাবে একটি তালিকা থেকে একটি মান একটি মডেলহীন নির্বাচন করা /// মান 1s 8.3, 8.2&ক্লায়েন্ট পদ্ধতিতে কীভাবে একটি নন-মোডাল ভ্যালু নির্বাচন(কমান্ড) রঙ তৈরি করবেন = নতুন মান তালিকা; রং. যোগ করুন ("লাল"); রং. যোগ করুন ("সবুজ"); রং. যোগ করুন ("নীল"); // পদ্ধতি AfterSelectingElement ঠিক নীচে সংজ্ঞায়িত করা হয়েছে AlertAfterElementSelection = নতুন বর্ণনা সতর্কতা( "আফটার এলিমেন্ট সিলেকশন", এই বস্তু ); রং. শো এলিমেন্ট নির্বাচন (এলিমেন্ট নির্বাচনের পরে বিজ্ঞপ্তি, "আপনার পছন্দের রঙ চয়ন করুন"); এলিমেন্ট নির্বাচনের পরে এবং ক্লায়েন্ট পদ্ধতির সমাপ্তি (এলিমেন্ট, প্যারামিটার) যদি উপাদান রপ্তানি হয়<>Undefined তারপর Report(Element.Value); যদি শেষ ; পদ্ধতির সমাপ্তি /// মান 1s 8.3, 8.2/// কীভাবে একটি তালিকা থেকে মানগুলির একটি মডেলহীন চিহ্ন তৈরি করবেন &ক্লায়েন্ট পদ্ধতিতে মানগুলি (কমান্ড) রঙের একটি নন-মোডাল মার্কিং কীভাবে করা যায় = মানগুলির নতুন তালিকা; রং. যোগ করুন ("লাল"); রং. যোগ করুন ("সবুজ"); রং. যোগ করুন ("নীল");// পদ্ধতি AfterMarkingElements ঠিক নীচে সংজ্ঞায়িত করা হয়েছে৷ AlertAfterMarkingItems = নতুন বর্ণনা সতর্কতা("আফটারমার্কিং আইটেম" , এই বস্তু ); রং. ShowTagItems( AlertAfterTagItems,"আপনার পছন্দের রং নির্বাচন করুন"<>); রং. ফিলনোটস(সত্য); এলিমেন্ট (উপাদান, পরামিতি) চিহ্নিত করার পর এবং ক্লায়েন্ট পদ্ধতির সমাপ্তি যদি উপাদানগুলি রপ্তানি করে অনির্ধারিত তারপর উপাদান চক্র থেকে প্রতিটি রঙের জন্য যদি রঙ। মার্ক তারপর রিপোর্ট (রঙ. মান); যদি শেষ ;এন্ডসাইকেল; যদি শেষ ; "আপনার পছন্দের রঙ চয়ন করুন"পদ্ধতির সমাপ্তি<>/// কিভাবে 1s 8.3, 8.2 এ তালিকা থেকে একটি মানের একটি মডেল নির্বাচন করা যায় &ক্লায়েন্ট পদ্ধতিতে কিভাবে একটি মডেলভ্যালু সিলেকশান(কমান্ড) কালার তৈরি করবেন = নতুন মান তালিকা; রং. যোগ করুন ("লাল"); রং. যোগ করুন ("সবুজ"); রং. যোগ করুন ("নীল"); রং নির্বাচন করুন = রং। বাছাইকৃত জিনিস( /// মান 1s 8.3, 8.2); যদি সিলেক্ট কালার , এই বস্তু ); রং. ShowTagItems( AlertAfterTagItems,) তারপর কালার সাইকেল থেকে প্রতিটি রঙের জন্য যদি রঙ। মার্ক তারপর রিপোর্ট (রঙ. মান); যদি শেষ ; এন্ডসাইকেল; যদি শেষ ; // এইভাবে আপনি একসাথে সব মার্ক সেট করতে পারেন// একটি নির্দিষ্ট মান তালিকা রং. ফিলনোটস(সত্য); পদ্ধতির সমাপ্তি

/// ডাউনলোড করুন এবং আপনার কম্পিউটারে এই উদাহরণ চালান

এই নিবন্ধটি কি সম্পর্কে?

  • এই নিবন্ধটি "1C বিকাশের প্রথম পদক্ষেপ" প্রবন্ধগুলির সিরিজ চালিয়ে যাচ্ছে। এটি সর্বজনীন সংগ্রহের সাথে কাজ করার নীতিগুলিকে কভার করে৷ নিবন্ধটি পড়ার পরে, আপনি শিখবেন:
  • সর্বজনীন সংগ্রহ কি, এবং কখন এবং কোন ক্ষেত্রে সেগুলি ব্যবহার করা উচিত?
  • সব সার্বজনীন সংগ্রহের কি মিল আছে? আপনি তাদের সব সঙ্গে কাজ করতে কি কৌশল ব্যবহার করতে পারেন?
  • একটি অ্যারে কি, কিভাবে এবং কখন এটি ব্যবহার করবেন? তার কি পদ্ধতি আছে?
  • কেন একটি কাঠামো ব্যবহার? কিভাবে এটি একটি অ্যারে থেকে ভিন্ন?
  • কখন আপনার মানগুলির একটি তালিকা ব্যবহার করা উচিত? ফর্মে এটি কীভাবে প্রদর্শন করবেন?
  • সম্মতি - এটি কী এবং কখন এটি ব্যবহার করবেন? গঠন সংক্রান্ত সুবিধা কি?
  • মান টেবিল কি জন্য ব্যবহৃত হয়? কিভাবে তার গঠন বর্ণনা? কিভাবে লাইন যোগ/সরানো যায়? ফর্মে এটি কীভাবে প্রদর্শন করবেন?

মূল্যের গাছ - এটি কি জন্য ব্যবহৃত হয়? কীভাবে ফর্মটি পূরণ করবেন এবং প্রদর্শন করবেন? এটা দিয়ে কিভাবে কাজ করবেন?

প্রযোজ্যতা

নিবন্ধটি বর্তমান সংস্করণের 1C:Enterprise 8.3 প্ল্যাটফর্ম নিয়ে আলোচনা করে।

1C-তে সর্বজনীন সংগ্রহের সাথে কীভাবে কাজ করবেন

মানগুলির একটি সংগ্রহ একটি ধারক যা সাধারণত যেকোন সংখ্যক উপাদান ধারণ করতে পারে। যাইহোক, প্রায়ই ডেটা টাইপের উপর কোন কঠোর নিষেধাজ্ঞা নেই।

আপনি একটি জেনেরিক সংগ্রহে মান যোগ করতে পারেন। সংগ্রহের সমস্ত মান অতিক্রম করা যেতে পারে। এই সংগ্রহগুলি মূলত অ্যালগরিদমগুলিতে কিছু ধরণের প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়। সেগুলো. এগুলি এমন কিছু গতিশীল কাঠামো যা অ্যালগরিদম চলাকালীন বিদ্যমান।

এটা বোঝা গুরুত্বপূর্ণ যে সংগ্রহগুলি একটি ডাটাবেসে সংরক্ষণ করা হয় না (আমরা মান স্টোর ডেটা টাইপ সম্পর্কে কথা বলছি না, যা প্রায় কোনও ধরণের ডেটা সংরক্ষণ করতে পারে)।

বিভিন্ন ধরনের সার্বজনীন সংগ্রহ রয়েছে: অ্যারে, স্ট্রাকচার, ম্যাচ, ফিক্সড অ্যারে, ভ্যালু টেবিল, টেবিল পার্ট ইত্যাদি। কিন্তু সব সংগ্রহ একই আচরণ আছে.

একটি ফাংশন পরিচালনার ফলে একটি সংগ্রহ তৈরি করা যেতে পারে (ফাংশনটি একটি মান হিসাবে একটি সর্বজনীন সংগ্রহ প্রদান করে)।

আপনি কনস্ট্রাক্টরকে কল করে এবং ক্লাসের একটি উদাহরণ তৈরি করে ম্যানুয়ালি একটি নতুন সংগ্রহ পেতে পারেন। উদাহরণ স্বরূপ:

আমাদের অ্যারে = নতুন অ্যারে;

সুতরাং, জন্য কনস্ট্রাক্টর আপনি সংশ্লিষ্ট মাত্রায় সদস্য সংখ্যা নির্দিষ্ট করতে পারেন। সেগুলো. আপনি অবিলম্বে বহুমাত্রিক ঘোষণা করতে পারেন .

কনস্ট্রাক্টরের সংশ্লিষ্ট বিবরণ সিনট্যাক্স সহকারীতে রয়েছে।

এইভাবে, কনস্ট্রাক্টর প্যারামিটার ব্যবহার করে, আপনি অবিলম্বে একটি প্রদত্ত বস্তুর পছন্দসই আচরণ সেট করতে পারেন।

কিন্তু প্যারামিটারগুলি ঐচ্ছিক; ডেভেলপার সেগুলিকে সেট করতে পারে না এবং অ্যারের আচরণকে আরও সংজ্ঞায়িত করতে পারে যা সে উপযুক্ত মনে করে।

কনস্ট্রাক্টর ব্যবহার করে প্রায় যেকোনো সার্বজনীন সংগ্রহ তৈরি করা যেতে পারে (ব্যতিক্রমটি টেবিলের অংশ, যা কনফিগারেশন অবজেক্ট হিসাবে কাজ করে)।

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

একটি উপাদান অ্যাক্সেস করতে আমাদের অ্যারে, আপনি এটির জন্য সূচক অ্যাক্সেস ব্যবহার করতে পারেন, সূচীটি বর্গাকার বন্ধনীতে নির্দেশিত হয়।

উদাহরণ স্বরূপ, আমাদের অ্যারে. দয়া করে মনে রাখবেন যে এই ক্ষেত্রে সিস্টেমটি সূচী 3 সহ অ্যারে উপাদানটি ফেরত দেয় এবং ক্রমানুসারে এটি অ্যারের চতুর্থ উপাদান।

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

একটি লাইন সংখ্যার ধারণাটি সমস্ত সংগ্রহে বিদ্যমান নয়, তবে প্রধানত সেগুলিতে যা ব্যবহারকারী ইন্টারফেসে প্রদর্শিত হতে পারে।

সমস্ত সংগ্রহ সংগ্রহ উপাদান ট্রাভার্সাল ব্যবহার করে। বাইপাস দুটি উপায়ে সম্ভব: জন্য চক্রএবং চক্র প্রতিটি জন্য.

বেশিরভাগ জেনেরিক সংগ্রহে প্রযোজ্য পদ্ধতিগুলি হল গণনা, সূচক, যোগ, সন্নিবেশ, মুছুন এবং খুঁজুন।

Count হল একটি ফাংশন যা একটি সংগ্রহে উপাদানের সংখ্যা প্রদান করে। এটি একটি চক্রের আগে ব্যবহার করা যেতে পারে জন্য, চিত্রে দেখানো হয়েছে।

সূচক পদ্ধতিটি সমস্ত সংগ্রহের জন্য বিদ্যমান নয়, তবে শুধুমাত্র তাদের জন্য যাদের উপাদান উল্লেখ করা যেতে পারে। একটি উদাহরণ হল মান সারণী.

মান সারণী- এটি সারিগুলির একটি নির্দিষ্ট সংগ্রহ যা বিভিন্ন ধরণের মান সহ বিভিন্ন কলাম থাকতে পারে।

প্রতিটি লাইন একটি স্বাধীন সত্তার প্রতিনিধিত্ব করে। আপনি এটির একটি লিঙ্ক পেতে পারেন; এই লাইনের মাধ্যমে আপনি এই লাইনের কলামগুলির মানগুলি অ্যাক্সেস করতে পারেন।

সূচী পদ্ধতি আপনাকে নির্দিষ্ট সারির সাথে কোন সূচকটি (অর্থাৎ, টেবিলের সারির বর্তমান অবস্থান) তা নির্ধারণ করতে দেয়। সূচকের মান শূন্য থেকে শুরু হয়।

প্রায় যেকোনো সার্বজনীন সংগ্রহে একটি প্রদত্ত সংগ্রহে নতুন মান যোগ করার পদ্ধতি রয়েছে। চিত্রটি দেখায় কিভাবে দুটি উপায়ে 0 থেকে 10 পর্যন্ত মান দিয়ে একটি অ্যারে পূরণ করা যায়।

অ্যারেতে একটি উপাদান যোগ করতে আমরা পদ্ধতিটি ব্যবহার করতে পারি যোগ করুন, বন্ধনীতে যোগ করা মান নির্দেশ করুন। এই ক্ষেত্রে, তালিকার শেষে মান যোগ করা হবে, যেমন শেষ অবস্থানের কারণে অ্যারে ক্রমাগত বৃদ্ধি পাবে।

আরেকটি পদ্ধতি যা আপনাকে সংগ্রহে মান যোগ করতে দেয় ঢোকান. এটি পদ্ধতি থেকে ভিন্ন যোগ করুনযেটিতে আপনি যোগ করা উপাদানটি কোথায় সন্নিবেশ করতে হবে তা উল্লেখ করতে পারেন।

বাক্য গঠন: সন্নিবেশ করান (,)

প্রথম প্যারামিটারটি সেই সূচকটি নির্দিষ্ট করে যেখানে নতুন মান সন্নিবেশ করা হবে। সেগুলো. উদাহরণস্বরূপ, আমরা নির্দিষ্ট করতে পারি যে প্রতিটি মান তালিকার শুরুতে সন্নিবেশ করা উচিত (উপরের চিত্রে দ্বিতীয় পদ্ধতি)।

একটি সংগ্রহ থেকে উপাদান অপসারণ, পদ্ধতি ব্যবহার করুন মুছে ফেলা. মুছে ফেলার পদ্ধতিটি সূচী দ্বারা নির্দিষ্ট করে যে আমরা কোন উপাদানটি মুছে ফেলব।

বাক্য গঠন: মুছে ফেলা()
ব্যবহারের উদাহরণ: OurArray.Delete(5);

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

প্রায় সব সংগ্রহে একটি মান অনুসন্ধানের জন্য একটি পদ্ধতি রয়েছে - অনুসন্ধান. আমরা যে মানটি খুঁজে পেতে চাই তা পদ্ধতিতে পাস করা হয়। কিছু সংগ্রহ আপনাকে কিছু সীমাবদ্ধতা সেট করার অনুমতি দেয়।

উদাহরণস্বরূপ, মধ্যে মান সারণীআপনি যে সারি এবং কলামগুলি অনুসন্ধান করতে চান তা নির্দিষ্ট করতে পারেন।

যদি মান পাওয়া যায়, তাহলে এই পদ্ধতিটি সূচক বা নির্দিষ্ট স্ট্রিং প্রদান করে। মান পাওয়া না গেলে, টাইপের একটি মান প্রদান করা হয় অনির্ধারিত. একটি অ্যারে সম্পর্কিত, রিটার্ন সূচক, বা মান অনির্ধারিত.

ব্যবহারের উদাহরণ: OurVariable = OurArray.Find(8);

সার্বজনীন সংগ্রহগুলি খুব দ্রুত সাফ করা যেতে পারে, যেমন একেবারে সব উপাদান সরান। এই উদ্দেশ্যে পদ্ধতি ব্যবহার করা হয় পরিষ্কার(), যা অ্যারে উপাদান, সারি সরিয়ে দেয় মান সারণী, অথবা অন্যান্য সংগ্রহ থেকে ডেটা।

অ্যারের জন্য অতিরিক্ত পদ্ধতি

পদ্ধতি BBorder()উপাদানের সংখ্যা বিয়োগ এক ফেরত দেয়। সেগুলো. যদি আমরা একটি লুপ ব্যবহার করি জন্য, তাহলে পরিমাণ পদ্ধতির পরিবর্তে আমরা অবিলম্বে পদ্ধতিটি ব্যবহার করতে পারি সীমানা().

বিশেষ করে, ভেরিয়েবল QuantityInArray ভিন্নভাবে সংজ্ঞায়িত করা যেতে পারে:

QuantityInArray = OurArray.InBorder();
তারপর, চক্র নিজেই বর্ণনা করার সময়, এই পরিবর্তনশীল থেকে এক বিয়োগ করা উচিত নয়।

সেট পদ্ধতি আপনাকে সূচক দ্বারা একটি অ্যারে উপাদানের একটি মান নির্ধারণ করতে দেয়।

বাক্য গঠন: ইনস্টল করুন(,)

উদাহরণ: OurArray.Set(2,8);

বিকল্প বিকল্প: আমাদের অ্যারে = 8;

আপনি একটি অ্যারের জন্য পদ্ধতি ব্যবহার করতে পারেন পাওয়া, বর্গাকার বন্ধনী ব্যবহার না করে একটি সূচকে একটি মান পড়ার জন্য।

বাক্য গঠন: পাওয়া()

উদাহরণ: OurVariable = OurArray.Get(2);

বিকল্প বিকল্প: OurVariable = OurArray;

সার্বজনীন সংগ্রহ কাঠামো

একটি কাঠামো, একটি অ্যারের মতো, সীমাহীন সংখ্যক উপাদান থাকতে পারে তবে উপাদানটির বিষয়বস্তু অ্যারে থেকে আলাদা।

গঠন একটি সংগ্রহ, যার প্রতিটি মান একটি জোড়া নিয়ে গঠিত। জোড়া প্রথম উপাদান বলা হয় চাবি. জোড়ার দ্বিতীয় উপাদান হল অর্থ.

চাবিএকটি কঠোরভাবে স্ট্রিং ডেটা টাইপ যা একটি মান বর্ণনা করে। উদাহরণ স্বরূপ, চাবি"কোড" মান 113 এর সাথে মিলে যেতে পারে; চাবি"নাম" অর্থ "বস্য"। মান নিজেই একটি ডেটা টাইপ সীমাবদ্ধতার বিষয় নয়।

আমরা যদি পরামিতিগুলির একটি নির্দিষ্ট তালিকা তৈরি করতে চাই তবে কাঠামোটি ব্যবহার করা খুব সুবিধাজনক। এই যদি গঠনডাকা আমাদের কাঠামো, তারপর আমরা নিম্নরূপ এর দুটি মান উল্লেখ করব: আমাদের কাঠামো. কোড এবং আমাদের কাঠামো. নাম৷

এই ধরনের অ্যাক্সেস অনেক বেশি সুবিধাজনক যদি আমরা একটি অ্যারেতে সমস্ত পরামিতি সংজ্ঞায়িত করি এবং সেগুলিকে সূচক দ্বারা অ্যাক্সেস করি।

কাঠামো প্রোগ্রাম কোড পাঠযোগ্য করে তোলে (বোধগম্য)। স্ট্রাকচারটি প্রায়শই ব্যবহৃত হয়, অ্যারের চেয়ে অনেক বেশি।

এটি নির্দিষ্ট পরামিতিগুলি বর্ণনা করতে ব্যবহৃত হয়, যার মধ্যে প্রায়শই সমস্ত অ্যালগরিদমে বেশ বড় সংখ্যা থাকে।

উপরন্তু, কাঠামো ব্যবহার করা হয় যদি পদ্ধতি এবং ফাংশনে প্রচুর পরিমাণে পাস করা পরামিতি থাকে।

তারপরে স্ট্রাকচারে সমস্ত পরামিতি লিখতে এবং এটি পাস করা অনেক বেশি সুবিধাজনক। সেগুলো. পদ্ধতি এবং ফাংশনের পরামিতিগুলি "প্যাকড"।

আলাদাভাবে, এটি উল্লেখ করা উচিত যে হিসাবে চাবিএকেবারে কোন লাইন কাঠামো প্রদর্শিত হতে পারে না. কিছু বিধিনিষেধ প্রযোজ্য।

চাবিএকটি শনাক্তকারী হিসাবে কাজ করা উচিত। এর মানে হল যে ক্লিউচেকোন স্পেস থাকতে হবে এবং এটি একটি সংখ্যা দিয়ে শুরু হতে পারে না।

গ্রহণযোগ্য শুরু চাবিএকটি চিঠি বা আন্ডারস্কোর সহ। এইভাবে, চাবিশনাক্তকারী তৈরির জন্য প্রয়োজনীয়তা পূরণ করতে হবে।

আসুন আমরা লক্ষ্য করি যে কিভাবে একটি স্ট্রাকচার একটি অ্যারে থেকে আলাদা। স্ট্রাকচারে একটি পদ্ধতি আছে ঢোকান, অ্যারেতে সন্নিবেশের জন্য দুটি পদ্ধতি রয়েছে: ঢোকান(একটি নির্দিষ্ট অবস্থানে) এবং যোগ করুন(তালিকার শেষ পর্যন্ত)। একটি অ্যারেতে, সমস্ত উপাদান অর্ডার করা হয়।

গঠন এক ধরনের বিশৃঙ্খল সেট। এই কারণেই একটি কাঠামোর জন্য শুধুমাত্র একটি সন্নিবেশ পদ্ধতি রয়েছে।

মানটি একটি নির্দিষ্ট অবস্থানে নয়, তবে নির্দিষ্ট সেটে ঢোকানো হয়। অন্যান্য জেনেরিক সংগ্রহের মতো একটি কাঠামো সূচক দ্বারা অ্যাক্সেস করা যায় না।

গঠন উপাদান শুধুমাত্র কী নামের দ্বারা অ্যাক্সেস করা হয়. যাইহোক, For Each লুপ স্ট্রাকচারের জন্যও কাজ করে, কিন্তু আপনার স্ট্রাকচার উপাদানের ক্রম উপর নির্ভর করা উচিত নয়।

নতুন কনস্ট্রাক্টর ব্যবহার করে, ডেটা টাইপ স্ট্রাকচার নির্দিষ্ট করে অন্যান্য জেনেরিক সংগ্রহের মতোই একটি কাঠামো তৈরি করা হয়।

একটি অ্যারের মতো, একটি কাঠামোর কনস্ট্রাক্টরের পরামিতি থাকতে পারে। সেগুলো. একটি কনস্ট্রাক্টর ব্যবহার করে একটি কাঠামোর বিষয়বস্তু বর্ণনা করা সম্ভব।

একটি অ্যারের বিপরীতে, যেখানে আপনি কেবলমাত্র সমস্ত মাত্রার জন্য উপাদানের সংখ্যা নির্দিষ্ট করতে পারেন, একটি কাঠামোতে আপনি বিষয়বস্তু নিজেই নির্দিষ্ট করতে পারেন।

আপনি কনস্ট্রাক্টরকে কল করে এবং ক্লাসের একটি উদাহরণ তৈরি করে ম্যানুয়ালি একটি নতুন সংগ্রহ পেতে পারেন। আমাদের কাঠামো = নতুন কাঠামো ("কোড, নাম", 133, "ভাস্য");

কমা দ্বারা পৃথক করা, কীগুলির নামগুলি প্রথমে তালিকাভুক্ত করা হয় এবং তারপরে, সেই অনুযায়ী, একই ক্রম অনুসারে, পরামিতিগুলির মানগুলি।

স্ট্রাকচারে একটি নতুন মান যোগ করার একটি পদ্ধতি আছে ঢোকান, যা একটি নতুন জোড়া (কী এবং মান) সন্নিবেশ করায়।

আপনি কনস্ট্রাক্টরকে কল করে এবং ক্লাসের একটি উদাহরণ তৈরি করে ম্যানুয়ালি একটি নতুন সংগ্রহ পেতে পারেন। আমাদের কাঠামো. সন্নিবেশ ("পরিবার সদস্য",3);

কাঠামোটি অন্য পদ্ধতি দ্বারা চিহ্নিত করা হয় যা প্রায়শই ব্যবহৃত হয়। এই পদ্ধতি সম্পত্তি.

এই পদ্ধতিটি ব্যবহার করে, আপনি বুঝতে পারবেন যে এই কাঠামোর মধ্যে এমন একটি উপাদান আছে কি না যার কী-এর একটি নাম রয়েছে।

যদি এই ধরনের একটি উপাদান বিদ্যমান থাকে, সিস্টেমটি সত্য মান প্রদান করবে, অন্যথায় - মিথ্যা।

উদাহরণস্বরূপ, অভিব্যক্তি আমাদের কাঠামো. সম্পত্তি ("পরিবারের সদস্য")মান True এর সমান হবে। কাঠামো বিশ্লেষণ করার সময় এই পদ্ধতিটি প্রায়শই ব্যবহৃত হয়।

যেকোনো সার্বজনীন সংগ্রহের মতো, সূচকের মাধ্যমে একটি কাঠামোর বৈশিষ্ট্যগুলি অ্যাক্সেস করা সম্ভব। কিন্তু কাঠামোর জন্য সূচকটি একটি স্ট্রিং মান।

আপনি কনস্ট্রাক্টরকে কল করে এবং ক্লাসের একটি উদাহরণ তৈরি করে ম্যানুয়ালি একটি নতুন সংগ্রহ পেতে পারেন। রিপোর্ট(আমাদের কাঠামো [“পরিবারের সদস্য”]);

যাইহোক, আমাদের ভুলে যাওয়া উচিত নয় যে একটি স্ট্রাকচার হল একটি ক্রমবিন্যস্ত বস্তুর সেট, তাই সূচক 0, 1, 2 দ্বারা অ্যাক্সেস করা অগ্রহণযোগ্য।

মূল্যের সাধারণ সংগ্রহের তালিকা

তালিকার মানযে কোনো ডাটা টাইপের উপাদানের একটি রৈখিক তালিকা।

প্রতিটি উপাদান বিভিন্ন মান নিয়ে গঠিত। পরিকল্পিতভাবে, মানগুলির একটি তালিকাকে চারটি কলাম সহ একটি তালিকা হিসাবে উপস্থাপন করা যেতে পারে।

প্রথম কলাম- মার্ক. এটিতে একটি বুলিয়ান ডেটা টাইপ রয়েছে এবং এটি ব্যবহারকারীকে বাক্সগুলি চেক বা আনচেক করতে দেয়৷

অন্য কলামটি এমন একটি ছবি যা এই উপাদানটিকে দৃশ্যমানভাবে উপস্থাপন করতে পারে, যেমন একটি ছবির সঙ্গে এই স্ট্রিং মিলান.

তৃতীয় কলামটি সঞ্চিত মান নিজেই, যেমন এটি যেকোনো ধরনের ডেটা, এবং এটি বিভিন্ন লাইনে ভিন্ন হতে পারে।

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

তালিকার মান- এটি এমন বস্তু যা ব্যবহারকারী দৃশ্যত কাজ করতে পারে। সেগুলো. তালিকার মানফর্মে প্রদর্শিত হতে পারে।

ব্যবহারকারী এটি দিয়ে কিছু কাজ সম্পাদন করতে পারে। এছাড়া, তালিকার মানপদ্ধতি ব্যবহার করে স্বাধীনভাবে অনুমান করা যেতে পারে, যেমন অ্যালগরিদমের কিছু শাখায় স্ক্রিনে দেখান (সার্ভার কোড বাদ দিয়ে) যাতে ব্যবহারকারী কিছু লাইন নির্বাচন করে বা কিছু বাক্স চেক করে।

আমরা খুঁজে বের করব তালিকার মানসিটাক্স সহকারীতে। কনস্ট্রাক্টর তালিকার মানপ্যারামিটারাইজড নয় (আপনি কোনো ডিফল্ট মান সেট করতে পারবেন না)।

যেমন পদ্ধতি আছে:

  • সন্নিবেশ (,);
  • যোগ করুন(,);
  • পরিমাণ ();
  • সূচক()।

এছাড়াও বিশেষ পদ্ধতি আছে, উদাহরণস্বরূপ, আনলোড মান(). এটি একটি অ্যারে তৈরি করে যেখানে মানগুলির তালিকা অনুলিপি করা হয়। উদাহরণ স্বরূপ:

উপাদানের অ্যারে = মূল্য প্রকারের তালিকা। আউটলোড ভ্যালুস();

একটি বিপরীত পদ্ধতি আছে:
ListPriceTypes.LoadValues(ArrayItems);

অনুসন্ধান পদ্ধতি আছে:
FindByValue(); FindByIdentifier()।

একটি অনুলিপি পদ্ধতি আছে:
ListCopy = PriceTypeList.Copy();
এই পদ্ধতিটি অনুলিপিতে কিছু ধরণের পরিবর্তন করার উদ্দেশ্যে করা হয়েছে।

পদ্ধতি আছে:
SortByValue();
SortByView()।

পদ্ধতি বাছাইকৃত জিনিস(,)এবং মার্ক আইটেম()একটি মডেল ডায়ালগ বক্সে কল করুন যা ব্যবহারকারী উইন্ডোটি বন্ধ না করা পর্যন্ত অ্যালগরিদম কার্যকর করা বন্ধ করে।

কনফিগারেশন বৈশিষ্ট্যগুলিতে এই পদ্ধতিগুলি ব্যবহার করতে মোডলিটি ব্যবহার করার পদ্ধতিসেট করা আবশ্যক ব্যবহার করুন.

একটি পরিচালিত অ্যাপ্লিকেশন মডিউল থেকে কল করা উদাহরণ কোড:

এই কোডটি ব্যবহারকারী মোডে প্রদর্শন করুন (মোডাল ডায়ালগ)।

নিচে তালিকার মানফর্ম বৈশিষ্ট্যগুলির জন্য একটি উপলব্ধ ডেটা টাইপ হিসাবে ব্যবহৃত হয়। আমরা প্রক্রিয়াকরণ ফর্মের জন্য একটি নতুন বৈশিষ্ট্য তৈরি করি এবং এর ধরন নির্ধারণ করি তালিকার মানএবং ফর্মে এটি প্রদর্শন করুন।

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

ব্যবহারকারী মোডে, আপনি যখন প্রসেসিং ফর্মে উপহার পূরণ করুন বোতামে ক্লিক করবেন, একটি সম্পূর্ণ তালিকা প্রদর্শিত হবে।

যদি ইচ্ছা হয়, তালিকা সম্পাদনা করা যেতে পারে: কিছু উপাদান যোগ করা যেতে পারে, কিছু সরানো যেতে পারে।

বহুমুখী সংগ্রহ সম্মতি

এই সংগ্রহ খুব অনুরূপ গঠন. ঠিক কাঠামোর মতো, ম্যাচিং মানগুলির সেটগুলিকে উপস্থাপন করে যা একটি কী এবং মান নিজেই নিয়ে গঠিত।

প্রধান পার্থক্য হল যে কোন ডাটা টাইপকে কী হিসাবে নির্দিষ্ট করা যেতে পারে, সেইসাথে মানের জন্যও। এই বৈশিষ্ট্যের পরিপ্রেক্ষিতে, সূচকের দ্বারা মিল মানটি অ্যাক্সেস করা প্রয়োজন;

কী একটি স্ট্রিং ছাড়া অন্য একটি ডেটা টাইপ হতে পারে। কমপ্লায়েন্সের সাথে কাজ করার বৈশিষ্ট্য এবং পদ্ধতিগুলি প্রায় স্ট্রাকচারের মতোই।

কমপ্লায়েন্স কনস্ট্রাক্টর, কাঠামোর বিপরীতে, প্যারামিটার নির্দিষ্ট করার ক্ষমতা ধারণ করে না।

ব্যবহারের উদাহরণ:

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

একটি সংগ্রহে উপাদান সন্নিবেশ করার সময় পদ্ধতি ছাড়াও ম্যাচ করুন সন্নিবেশ (,)একটি মান সন্নিবেশ করার আরেকটি উপায় হল নিয়মিত অ্যাসাইনমেন্ট অপারেটর ব্যবহার করা।

আপনি কনস্ট্রাক্টরকে কল করে এবং ক্লাসের একটি উদাহরণ তৈরি করে ম্যানুয়ালি একটি নতুন সংগ্রহ পেতে পারেন। OurMatch = NewMatch;
মিল = 999;

সেগুলো. যদি একটি উপাদান সংগ্রহে উপস্থিত না থাকে, তাহলে এটি অ্যাসাইনমেন্ট অপারেটর ব্যবহার করে যোগ করা হবে, এবং যদি এটি উপস্থিত ছিল, এটি আপডেট করা হবে।

এটি কাঠামোর বিপরীতে।

ইউনিভার্সাল কালেকশন টেবিল অফ ভ্যালু

মান সারণীসারি এবং কলামের ইচ্ছামত সংখ্যা সহ একটি টেবিল। ছেদ যেকোন ডেটা টাইপের মান সঞ্চয় করতে পারে। প্রয়োজনে, কলামগুলি টাইপ করা যেতে পারে, অর্থাৎ, আপনি নির্ধারণ করতে পারেন কোন কলামে কোন ধরণের ডেটা সংরক্ষণ করা হয়েছে।

আপনি কলামগুলি টাইপ না করে রেখে দিতে পারেন, তারপরে বিভিন্ন ধরণের মানগুলি বিভিন্ন সারিতে একটি কলামে সংরক্ষণ করা যেতে পারে।

পার্থক্য মান সারণীএকটি দ্বি-মাত্রিক অ্যারে থেকে:

  • এটি এমন একটি বস্তু যা ব্যবহারকারী কাজ করতে পারে (মানগুলির সারণীটি স্ক্রিনে প্রদর্শিত হতে পারে, ব্যবহারকারী এটি পূরণ করতে পারে এবং প্রবেশ করা ডেটা তখন পড়তে পারে);
  • দ্রুত অনুসন্ধানের জন্য সূচী নির্মাণ;
  • ক্লোনিং, একটি নির্দিষ্ট মান দিয়ে একটি সম্পূর্ণ কলাম পূরণ করা, একটি অ্যারেতে সমস্ত কলাম আনলোড করা।

মান সারণীএক ধরনের তথ্য স্টোরেজ বাফার হিসেবে ব্যবহৃত হয়। মান সারণীঅনেক সিস্টেম পদ্ধতি দ্বারা একটি প্যারামিটার হিসাবে ফেরত এবং গৃহীত হয়। মান সারণীর বিরুদ্ধে একটি প্রশ্ন তৈরি করা সম্ভব।

তাই, মান সারণীসারিগুলির একটি সেট এবং কলামগুলির একটি সেট নিয়ে গঠিত৷ সারি এবং কলাম উভয়ই সংগ্রহ।

সেগুলো. সংগ্রহের ভিতরে মান সারণীআরো দুটি সংগ্রহ আছে. চলুন সিনট্যাক্স সহকারীর দিকে ঘুরি এবং খুঁজে বের করি মান সারণী.

সমর্থিত ডেটা প্রকার: নিজেই মান সারণী, যা স্ট্রিং নিয়ে গঠিত। প্রতিটি সারি একটি ডেটা টাইপ দ্বারা প্রতিনিধিত্ব করা হয় সারি সারণি মান, যার নিজস্ব বৈশিষ্ট্য এবং নিজস্ব পদ্ধতি রয়েছে। পাওয়া যায় সারণি কলাম মান সংগ্রহএছাড়াও কিছু বৈশিষ্ট্য আছে।

গুরুত্বপূর্ণ পয়েন্ট! যে পদ্ধতি তৈরি করে মান সারণী, &OnServer কম্পাইল করা আবশ্যক।

সাথে কাজ শুরু করার আগে মান সারণী, আপনাকে নির্ধারণ করতে হবে এতে কোন কলাম থাকবে (যেমন সেগুলি তৈরি করুন)। বাক্য গঠন:

যোগ করুন(,)
(ঐচ্ছিক)
প্রকার: স্ট্রিং।
(ঐচ্ছিক)
প্রকার: বর্ণনা প্রকার
(ঐচ্ছিক)
প্রকার: স্ট্রিং।
(ঐচ্ছিক)
প্রকার: সংখ্যা।

উদাহরণ স্বরূপ:

এই পদ্ধতিটিকে কল করার জন্য আমরা কমান্ডটি ব্যবহার করব।

বর্ণনায় মান সারণীসংগ্রহের উপাদানগুলি অবিকল সারি সারণি মান.

কলামগুলির বিপরীতে, যা শুধুমাত্র বৈশিষ্ট্যগুলি (নাম, প্রকার, শিরোনাম, প্রস্থ) নিয়ে গঠিত সারি সারণি মানউভয় বৈশিষ্ট্য (কলামের নাম দ্বারা অ্যাক্সেস) এবং পদ্ধতি (আপনি মান পেতে এবং সেট করতে পারেন, মালিকদের সাথে কাজ করতে পারেন)।

টেবিলে একটি নতুন সারি যোগ করতে আপনাকে হয় পদ্ধতিটি ব্যবহার করতে হবে যোগ করুন(), বা সন্নিবেশ (). দ্বিতীয় ক্ষেত্রে, আপনাকে নির্দেশ করতে হবে যে প্রয়োজনীয় লাইনটি কোন অবস্থানে স্থাপন করা উচিত।

একটি কলামে একটি মান নির্ধারণ করতে, আমরা কলামের নাম বা সূচী অ্যাক্সেস করতে একটি বিন্দু ব্যবহার করি (বর্গাকার বন্ধনী ব্যবহার করে)।

ভরাট করার জন্য মান সারণীনিম্নলিখিত পদ্ধতি ব্যবহার করা যেতে পারে:

পরিষ্কার()- থেকে সমস্ত সারি সরাতে মান সারণী.

ফিল ভ্যালুস(,)- আপনাকে একটি মান দিয়ে সমস্ত কলাম বা নির্বাচিত কলাম পূরণ করতে দেয়।
লোডকলাম(,)- অ্যারে থেকে একটি কলাম লোড করে।
কলাম আনলোড করুন()- একটি অ্যারেতে কলাম আনলোড করে।

শেষ দুটি পদ্ধতি ব্যবহার করা সুবিধাজনক যখন আপনাকে একটি মান টেবিল থেকে অন্য একটি কলাম স্থানান্তর করতে হবে।

কপি(,)- আপনাকে বিদ্যমান টেবিলের উপর ভিত্তি করে একটি নতুন তৈরি করতে দেয় মান সারণী, এবং সব সারি এবং সব কলাম নয়, কিন্তু শুধুমাত্র কিছু। ফেরত মূল্য - মান সারণী.

আপনি গঠন অনুলিপি করতে পারেন মান সারণী. এর জন্য একটি সংশ্লিষ্ট পদ্ধতি আছে কপিকলাম(). আমরা একটি খালি পাবেন মান সারণীপ্রয়োজনীয় কাঠামো সহ।

ভিতরে মান সারণীএকটি পদ্ধতি আছে মোট(). আপনি যে কলামে সংখ্যাসূচক মানগুলি যোগ করতে চান তা নির্দিষ্ট করতে পারেন। মূকনাট্যে পূর্বে দেখানো কোডের সাথে সম্পর্কিত, আপনি মানটি গণনা করতে পারেন: TZ. মোট ("পরিমাণ").

ভিতরে মান সারণীপদ্ধতিটি ব্যবহার করে নির্দিষ্ট কলামের অভিন্ন মান দ্বারা সংখ্যাসূচক মানগুলিকে গোষ্ঠীভুক্ত করা (পতন) করা সম্ভব সঙ্কুচিত করুন(,).

মূকনাট্যে পূর্বে দেখানো কোডের সাথে সম্পর্কিত, আপনি মানটি গণনা করতে পারেন: TK.পতন ("সপ্তাহের দিন", "পরিমাণ")।

মান সারণীব্যবহারকারীর স্ক্রিনে দেখানো যেতে পারে যাতে আপনি এটির সাথে যেকোনো কাজ সম্পাদন করতে পারেন। কিন্তু অসদৃশ তালিকার মানআপনি প্রোগ্রাম কোড থেকে স্ক্রিনে একটি টেবিল কল করতে পারবেন না।

প্রদর্শন করতে মান সারণীস্ক্রিনে, একটি ফর্ম অ্যাট্রিবিউট তৈরি করুন এবং এটিতে একটি ডেটা টাইপ বরাদ্দ করুন মান সারণী.

যার পরে ফলস্বরূপ টেবিলটি ফর্মটিতে প্রদর্শিত হবে।

পূর্বে সংকলিত অ্যালগরিদমের শেষে ফর্ম মডিউলে (একটি মান সারণী তৈরির পদ্ধতিতে), আপনাকে যোগ করা উচিত:
ValueInFormData(TK, টেবিল);

সার্বজনীন সংগ্রহ মূল্যবৃক্ষ

একটি সর্বজনীন সংগ্রহ যা খুব অনুরূপ মান সারণী. একটি টেবিল থেকে পার্থক্য হল যে গাছের সারি একে অপরের অধীনস্থ হতে পারে, যেমন কিছু ধরণের অনুক্রম গঠিত হতে পারে।

এটি পর্দায়ও প্রতিফলিত হতে পারে। একটি মান গাছ স্পষ্টভাবে সারি এবং কলামের একটি সংগ্রহ নিয়ে গঠিত। গাছের দুটি বৈশিষ্ট্য রয়েছে: সারি এবং কলাম।

যেহেতু সারি একে অপরের অধীনস্থ হতে পারে, তাই প্রতিটি সারির একটি অভিভাবক থাকতে পারে, সেইসাথে তার অধস্তন সারি থাকতে পারে।

আসুন সংশ্লিষ্ট ট্রি কমান্ড এবং এর প্রক্রিয়াকরণ পদ্ধতি তৈরি করি।

আসুন তৈরি করি যেখানে একটি প্যারেন্ট সারি এবং দুটি অধস্তন সারি রয়েছে।

এর ফর্ম বৈশিষ্ট্য তৈরি করা যাক DerZn(ডেটা টাইপ - ভ্যালু ট্রি)।

এই বৈশিষ্ট্যের জন্য, আমরা বছর এবং মাস কলাম তৈরি করব।

সংশ্লিষ্ট উপাদান সরান DerZnফর্মের উপর

শেষে প্রক্রিয়া TreeOnServer()যোগ করা যাক:

ValueInFormData(TreeZn, DerZn);

ইউজার মোডে কি ঘটেছে তা পরীক্ষা করা যাক।

একটি বোতাম ব্যবহার করে যোগ করুনআপনি নতুন লাইন যোগ করতে পারেন। তারা একটি শ্রেণিবিন্যাসও গঠন করতে পারে।

মান গাছের সমস্ত উপাদান অতিক্রম করতে, আমাদের পুনরাবৃত্তি ব্যবহার করতে হবে, যেমন নিজেই পদ্ধতি কলিং. উদাহরণস্বরূপ, একটি মান গাছ প্রক্রিয়াকরণ এই মত হতে পারে:

এটি সর্বজনীন সংগ্রহের সাথে আমাদের প্রথম পরিচিতির সমাপ্তি ঘটায়।

পরবর্তী নিবন্ধে আমরা দেখব যে প্রোগ্রাম কোড থেকে একটি ডিরেক্টরি উপাদানে অ্যাক্সেস সহজ করার জন্য একজন বিকাশকারী কী গুরুত্বপূর্ণ প্রক্রিয়া ব্যবহার করতে পারে।



শেয়ার করুন