شاشة#

مقدمة#

الفئة screen هي فئة مشتقة من الفئة controller. وهي توفر وظائف لعرض النصوص والأرقام والقيم على شاشة وحدة التحكم V5.

يتم الوصول إلى كائن screen من خلال كائن controller ولا يتم إنشاؤه بشكل مباشر.

تحتوي شاشة وحدة التحكم V5 على 3 صفوف و 19 عمودًا لعرض النصوص والأرقام.

لقطة شاشة من وحدة التحكم V5، تُظهر الصفوف والأعمدة في منطقة الطباعة. يبدأ الصف 1 والعمود 1 من الزاوية العلوية اليسرى، بينما يقع الصف 3 والعمود 19 في الزاوية السفلية اليمنى.

وصول#

يُوفّر الصنف controller كائن Screen وهو نسخة من الصنف screen.

هدف

مثال على الاستخدام

وصف

Screen

Controller.Screen.print(“Hello”);

شاشة وحدة التحكم V5.

ملحوظات#

  • قبل استخدام دالة العضو screen ، قم بإنشاء كائن controller.

  • تحتوي شاشة التحكم على 3 صفوف و 19 عمودًا.

  • يحدد موضع المؤشر مكان ظهور القيمة المطبوعة التالية.

// Create a Controller object
controller Controller = controller();

الدوال الأعضاء#

تتضمن فئة الشاشة screen الدوال الأعضاء التالية:

الإجراءات — عرض النص أو مسح شاشة وحدة التحكم.

  • print — يعرض النص المنسق أو الأرقام أو القيم على شاشة وحدة التحكم.

  • setCursor — ينقل المؤشر إلى صف وعمود محددين.

  • newLine — يمسح باقي السطر الحالي وينقل المؤشر إلى السطر التالي.

  • clearScreen — يمسح شاشة وحدة التحكم.

  • clearLine — يمسح صفًا واحدًا على شاشة وحدة التحكم.

الوظائف المُسترجعة — اقرأ موضع المؤشر الحالي.

  • row — تُرجع صف المؤشر الحالي.

  • column — تُرجع عمود المؤشر الحالي.

الإجراءات#

print#

يعرض الأمر print نصًا منسقًا أو أرقامًا أو قيمًا على شاشة وحدة التحكم V5 عند موضع المؤشر الحالي.

الوظائف المتاحة

void print(
  const char* format,
  ...
);

void print(
  char* format,
  ...
);

المعلمة

يكتب

وصف

format

const char*

سلسلة تنسيق يتم توفيرها كسلسلة حرفية أو سلسلة للقراءة فقط على نمط لغة C، مثل “Score: %d”.

format

char*

سلسلة تنسيق مُقدمة كمصفوفة أحرف قابلة للتعديل.

…

اختياري. يتم إدخال قيمة واحدة أو أكثر في سلسلة التنسيق، مفصولة بفواصل.

القيمة المُعادة

هذه الدالة لا تُرجع قيمة.

ملحوظات

  • يبدأ الإخراج من موضع المؤشر الحالي على شاشة وحدة التحكم.

  • عند استخدام سلسلة تنسيق، يجب أن يتطابق عدد وأنواع القيم التي تم تمريرها مع محددات التنسيق في السلسلة.

مثال

// Display a message at the starting cursor position
Controller.Screen.print("Hello, Robot!");

// Display a formatted number
Controller.Screen.print("Score: %d", 25);

setCursor#

يؤدي الأمر setCursor ) إلى نقل المؤشر إلى صف وعمود محددين على شاشة وحدة التحكم V5. ستظهر القيمة المطبوعة التالية في ذلك الموضع.

الوظائف المتاحة

void setCursor(
  int32_t row,
  int32_t col
);

المعلمة

يكتب

وصف

row

int32_t

رقم الصف الذي سيتم وضع المؤشر فيه، من 1 إلى 3.

col

int32_t

رقم العمود الذي سيتم وضع المؤشر فيه، من 1 إلى 19.

القيمة المُعادة

هذه الدالة لا تُرجع قيمة.

مثال

// Display text starting at row 2, column 3
Controller.Screen.setCursor(2, 3);
Controller.Screen.print("Row 2, Column 3");

newLine#

newLine يمسح باقي الصف الحالي وينقل المؤشر إلى العمود 1 في الصف التالي من شاشة وحدة التحكم V5.

الوظائف المتاحة

void newLine();

حدود

هذه الدالة لا تحتوي على معلمات.

القيمة المُعادة

هذه الدالة لا تُرجع قيمة.

مثال

// Display two lines of text
Controller.Screen.print("Line 1");
Controller.Screen.newLine();
Controller.Screen.print("Line 2");

clearScreen#

clearScreen يمسح جميع النصوص من شاشة وحدة التحكم V5.

الوظائف المتاحة

void clearScreen();

حدود

هذه الدالة لا تحتوي على معلمات.

القيمة المُعادة

هذه الدالة لا تُرجع قيمة.

مثال

// Clear the Controller screen after 2 seconds
Controller.Screen.print("VEXcode");
wait(2, seconds);
Controller.Screen.clearScreen();

clearLine#

clearLine يمسح صفًا واحدًا على شاشة وحدة التحكم V5.

الوظائف المتاحة

void clearLine(
  int line
);

void clearLine();

المعلمة

يكتب

وصف

line

int

اختياري. الصف المراد مسحه، من 1 إلى 3إذا لم يتم تحديد صف، فسيتم مسح الصف الحالي.

القيمة المُعادة

هذه الدالة لا تُرجع قيمة.

ملحوظات

  • لا يؤدي مسح صف إلى تغيير موضع المؤشر الحالي.

مثال

// Display text on two rows
Controller.Screen.print("This text stays");
Controller.Screen.newLine();
Controller.Screen.print("This disappears");

// Wait 3 seconds before clearing row 2
wait(3, seconds);
Controller.Screen.clearLine(2);

المحصلون#

row#

row تُعيد صف المؤشر الحالي على شاشة وحدة التحكم V5.

الوظائف المتاحة

int32_t row();

حدود

هذه الدالة لا تحتوي على معلمات.

القيمة المُعادة

تُرجع هذه الدالة قيمة من نوع int32_t تمثل صف المؤشر الحالي. يبدأ ترقيم الصفوف من 1.

مثال

// Display the cursor's current row
Controller.Screen.setCursor(3, 2);
Controller.Screen.print(Controller.Screen.row());

column#

العمود column يُعيد عمود المؤشر الحالي على شاشة وحدة التحكم V5.

الوظائف المتاحة

int32_t column();

حدود

هذه الدالة لا تحتوي على معلمات.

القيمة المُعادة

تُرجع هذه الدالة قيمة من نوع int32_t تمثل عمود المؤشر الحالي. يبدأ ترقيم الأعمدة من 1.

مثال

// Display the cursor's current column
Controller.Screen.setCursor(3, 2);
Controller.Screen.print(Controller.Screen.column());