Dynamics 365 Business Central: การใช้งาน Random Method ในภาษา AL Programming

การสุ่มตัวเลขเป็นฟังก์ชันพื้นฐานที่สำคัญในการพัฒนาแอปพลิเคชันด้วยภาษา AL (Application Language) สำหรับ Dynamics 365 Business Central โดย Random Method เป็นคำสั่งที่ช่วยสร้างตัวเลขสุ่มได้อย่างง่ายดายและสะดวกต่อการใช้งาน บทความนี้จะอธิบายวิธีการใช้งาน Random Method พร้อมตัวอย่างเพื่อความเข้าใจที่ชัดเจน

รูปแบบคำสั่ง (Syntax)

Number := System.Random(MaxNumber: Integer);

พารามิเตอร์ (Parameters)

  • MaxNumber
    • ประเภท: Integer
    • ค่าจำนวนเต็มที่กำหนดขอบเขตสูงสุดของเลขสุ่ม โดยสุ่มตั้งแต่ 1 ถึงค่าที่กำหนด

ค่าที่ส่งกลับ (Return Value)

  • Number
    • ประเภท: Integer
    • ค่าจำนวนเต็มที่สุ่มได้ภายในช่วงที่กำหนด

หมายเหตุ (Remarks)

  1. หากกำหนดค่า MaxNumber เป็นค่าติดลบ ระบบจะเปลี่ยนเป็นค่าบวกโดยอัตโนมัติ
  2. หากกำหนดค่า MaxNumber เป็น 0 ค่าที่สุ่มได้จะเป็น 1 เสมอ
  3. การสุ่มตัวเลขจะเหมือนเดิมทุกครั้ง เว้นแต่จะใช้คำสั่ง Randomize() เพื่อสุ่มชุดใหม่

ตัวอย่างการใช้งาน (Examples)

Example 1: สุ่มตัวเลขตั้งแต่ 1 ถึง 10

procedure GenerateRandomNumber()
var
    RandomNumber: Integer;
begin
    RandomNumber := Random(10);
    Message('Random number between 1 and 10: %1', RandomNumber);
end;

ผลลัพธ์: จะสุ่มตัวเลขระหว่าง 1 ถึง 10 และแสดงผลใน Message Box

Example 2: กำหนดค่า MaxNumber เป็นค่าติดลบ

procedure GenerateRandomNegative()
var
    RandomNumber: Integer;
begin
    RandomNumber := Random(-5);
    Message('Random number between 1 and 5: %1', RandomNumber);
end;

ผลลัพธ์: จะสุ่มตัวเลขระหว่าง 1 ถึง 5 เนื่องจากระบบจะเปลี่ยน -5 เป็น 5

Example 3: ใช้ Randomize เพื่อสุ่มชุดตัวเลขใหม่

procedure GenerateNewRandomSeries()
var
    RandomNumber: Integer;
begin
    Randomize();
    RandomNumber := Random(100);
    Message('Random number between 1 and 100: %1', RandomNumber);
end;

ผลลัพธ์: ทุกครั้งที่เรียกใช้งานจะได้ชุดตัวเลขใหม่เนื่องจากใช้คำสั่ง Randomize()

สรุป (Summary)

การใช้ Random Method ในภาษา AL เป็นวิธีที่ง่ายและรวดเร็วในการสุ่มตัวเลขภายในช่วงที่กำหนด โดยสามารถปรับปรุงความสุ่มได้ด้วยการใช้ Randomize() เพื่อสร้างชุดตัวเลขใหม่ ช่วยเพิ่มความยืดหยุ่นในการพัฒนาแอปพลิเคชันใน Dynamics 365 Business Central ได้อย่างมีประสิทธิภาพ