الفرق بين المراجعتين لصفحة: «Arduino/stringobject»
جميل-بيلوني (نقاش | مساهمات) لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(2 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الكائن <code>String</code> في أردوينو}}</noinclude> | <noinclude>{{DISPLAYTITLE:الكائن <code>String</code> في أردوينو}}</noinclude> | ||
تنشئ الدالة <code>String()</code> نسخةً من الصنف <code>String</code>. هنالك طرائق متعدِّدة لإنشاء سلاسل نصية من أنواع مختلفة من البيانات وهي استدعاء الدالة <code>String()</code> مع: | تنشئ الدالة <code>String()</code> نسخةً من الصنف <code>String</code>. هنالك طرائق متعدِّدة لإنشاء سلاسل نصية من أنواع مختلفة من البيانات وهي استدعاء الدالة <code>String()</code> مع: | ||
*سلسلة نصية ثابتة من المحارف ضمن علامتي اقتباس مزدوجتين (أي مصفوفة من المحارف)، أو | *سلسلة نصية ثابتة من المحارف ضمن علامتي اقتباس مزدوجتين (أي [[Arduino/string|مصفوفة من المحارف]])، أو | ||
*محرف ثابت وحيد ضمن علامتي اقتباس مفردتين، أو | *محرف ثابت وحيد ضمن علامتي اقتباس مفردتين، أو | ||
*نسخة أخرى من الكائن <code>String</code>، أو | *نسخة أخرى من الكائن <code>String</code>، أو | ||
سطر 9: | سطر 9: | ||
*[[Arduino/int|عدد صحيح]] أو [[Arduino/long|عدد طويل]] متغير باستعمال أساس محدَّد، أو | *[[Arduino/int|عدد صحيح]] أو [[Arduino/long|عدد طويل]] متغير باستعمال أساس محدَّد، أو | ||
*[[Arduino/float|عدد عشري]] أو [[Arduino/double|عدد عشري مضاعف]] باستعمال منازل عشرية محدَّدة. | *[[Arduino/float|عدد عشري]] أو [[Arduino/double|عدد عشري مضاعف]] باستعمال منازل عشرية محدَّدة. | ||
إن استدعيت الدالة <code>String()</code> مع عدد، فستُنشِئ سلسلةً نصيةً تحوي تمثيلًا لأرقام ذلك العدد عبر محارف ASCII. الأساس الافتراضي المستعمل في هذه الحالة هو 10. سيعطي المثال التالي:<syntaxhighlight lang="arduino"> | إن استدعيت الدالة <code>String()</code> مع عدد، فستُنشِئ سلسلةً نصيةً تحوي تمثيلًا لأرقام ذلك العدد عبر [[Arduino/asciichart|محارف ASCII]]. الأساس الافتراضي المستعمل في هذه الحالة هو 10. سيعطي المثال التالي:<syntaxhighlight lang="arduino"> | ||
String thisString = String(13); | String thisString = String(13); | ||
</syntaxhighlight>السلسلة النصية "13". يمكن استعمال أساس مختلف مثل:<syntaxhighlight lang="arduino"> | </syntaxhighlight>السلسلة النصية "13". يمكن استعمال أساس مختلف مثل:<syntaxhighlight lang="arduino"> | ||
سطر 27: | سطر 27: | ||
المتغير أو القيمة المراد تنسيقها كسلسلة نصية. نوع البيانات المسموح بها هي: [[Arduino/string|سلسلة نصية]]، [[Arduino/char|ومحرف]]، [[Arduino/byte|وبايت]]، [[Arduino/int|وعدد صحيح]]، [[Arduino/unsignedint|وعدد صحيح عديم الإشارة]]، [[Arduino/unsignedlong|وعدد طويل عديم الإشارة]]، [[Arduino/float|وعدد عشري]]، [[Arduino/double|وعدد عشري مضاعف]]. | المتغير أو القيمة المراد تنسيقها كسلسلة نصية. نوع البيانات المسموح بها هي: [[Arduino/string|سلسلة نصية]]، [[Arduino/char|ومحرف]]، [[Arduino/byte|وبايت]]، [[Arduino/int|وعدد صحيح]]، [[Arduino/unsignedint|وعدد صحيح عديم الإشارة]]، [[Arduino/unsignedlong|وعدد طويل عديم الإشارة]]، [[Arduino/float|وعدد عشري]]، [[Arduino/double|وعدد عشري مضاعف]]. | ||
===<code>base</code>=== | ===<code>base</code>=== | ||
معامل اختياري يحدِّد أساس النظام العددي الذي ستُنسَّق فيه القيمة العددية. | معامل اختياري يحدِّد أساس النظام العددي الذي ستُنسَّق فيه القيمة العددية. القيمة الافتراضية هي: <code>DEC</code>. | ||
===<code>decimalPlaces</code>=== | ===<code>decimalPlaces</code>=== | ||
يقيِّد عدد المنازل العشرية (الأرقام بعد الفاصلة) [[Arduino/float|للعدد العشري]] أو [[Arduino/double|العدد العشري المضاعف]]. | يقيِّد عدد المنازل العشرية (الأرقام بعد الفاصلة) [[Arduino/float|للعدد العشري]] أو [[Arduino/double|العدد العشري المضاعف]]. | ||
سطر 48: | سطر 48: | ||
==التوابع== | ==التوابع== | ||
===<code>[[Arduino/stringobject/charat|charAt()]]</code>=== | ===<code>[[Arduino/stringobject/charat|charAt()]]</code>=== | ||
يجلب | يجلب التابع محرفًا ذا فهرس محدَّد من السلسلة النصية التي استدعيت معه. | ||
===<code>[[Arduino/stringobject/compareto|compareTo()]]</code>=== | ===<code>[[Arduino/stringobject/compareto|compareTo()]]</code>=== | ||
يوازن | يوازن التابع بين سلسلتين نصيتين ويحدِّد أيهما أكبر من الأخرى أو إن كانتا متساويتين. | ||
===<code>[[Arduino/stringobject/concat|concat()]]</code>=== | ===<code>[[Arduino/stringobject/concat|concat()]]</code>=== | ||
يضيف | يضيف التابع المعامل المُمرَّر إليه إلى السلسلة النصية التي استدعيت معه. | ||
===<code>[[Arduino/stringobject/c str|c_str()]]</code>=== | ===<code>[[Arduino/stringobject/c str|c_str()]]</code>=== | ||
يحوِّل التابع محتوى السلسلة النصية التي استدعيت معه إلى نمط السلسلة النصية المثالية في C (السلسلة النصية المنتهية بالمحرف <code>null</code>). | |||
===<code>[[Arduino/stringobject/endswith|endsWith()]]</code>=== | ===<code>[[Arduino/stringobject/endswith|endsWith()]]</code>=== | ||
يتحقَّق | يتحقَّق التابع إن كانت السلسلة النصية التي استدعيت معه تنتهي بالمحارف نفسها التي مُرِّرت إليه. | ||
===<code>[[Arduino/stringobject/equals|equals()]]</code>=== | ===<code>[[Arduino/stringobject/equals|equals()]]</code>=== | ||
يتحقَّق | يتحقَّق التابع إن كانت السلسلة النصية التي استدعيت معه مساويةً للسلسلة النصية التي مُرِّرت إليه. | ||
===<code>[[Arduino/stringobject/equalsignorecase|equalsIgnoreCase()]]</code>=== | ===<code>[[Arduino/stringobject/equalsignorecase|equalsIgnoreCase()]]</code>=== | ||
يتحقَّق | يتحقَّق التابع إن كانت السلسلة النصية التي استدعيت معه مساويةً للسلسلة النصية التي مُرِّرت إليه مع عدم أخذ حالة الأحرف بالحسبان. | ||
===<code>[[Arduino/stringobject/getbytes|getBytes()]]</code>=== | ===<code>[[Arduino/stringobject/getbytes|getBytes()]]</code>=== | ||
يجلب | يجلب التابع عددًا محدَّدًا من بايتات السلسلة النصية التي استدعيت معه ويضعها في مخزَّن معيَّن. | ||
===<code>[[Arduino/stringobject/indexof|indexOf()]]</code>=== | ===<code>[[Arduino/stringobject/indexof|indexOf()]]</code>=== | ||
يعيد | يعيد التابع فهرس أول ظهور لمحرف أو سلسلة نصية معيَّنة ضمن السلسلة النصية التي استدعيت معه. | ||
===<code>[[Arduino/stringobject/lastindexof|lastIndexOf()]]</code>=== | ===<code>[[Arduino/stringobject/lastindexof|lastIndexOf()]]</code>=== | ||
يعيد | يعيد التابع فهرس آخر ظهور لمحرف أو سلسلة نصية معيَّنة ضمن السلسلة النصية التي استدعيت معه. | ||
===<code>[[Arduino/stringobject/length|length()]]</code>=== | ===<code>[[Arduino/stringobject/length|length()]]</code>=== | ||
يعيد | يعيد التابع عدد محارف السلسلة النصية التي استدعيت معه. | ||
===<code>[[Arduino/stringobject/remove|remove()]]</code>=== | ===<code>[[Arduino/stringobject/remove|remove()]]</code>=== | ||
يحذف | يحذف التابع عددًا محدَّدًا من محارف السلسلة النصية التي استدعيت معها. | ||
===<code>[[Arduino/stringobject/replace|replace()]]</code>=== | ===<code>[[Arduino/stringobject/replace|replace()]]</code>=== | ||
يبدِّل التابع | يبدِّل التابع <nowiki/>[[Arduino/char|محرفًا]] أو سلسلةً نصيةً فرعيةً مكان محرف أو سلسلة نصية فرعية محدَّدة موجودة في السلسلة النصية التي استدعيت معه. | ||
===<code>[[Arduino/stringobject/reserve|reserve()]]</code>=== | ===<code>[[Arduino/stringobject/reserve|reserve()]]</code>=== | ||
يحجز | يحجز التابع جزءًا من الذاكرة ويخصِّصه للتلاعب <nowiki/>[[Arduino/stringobject|بالسلسلة النصية]] التي استدعيت معه وتعديلها. | ||
===<code>[[Arduino/stringobject/setcharat|setCharAt()]]</code>=== | ===<code>[[Arduino/stringobject/setcharat|setCharAt()]]</code>=== | ||
يعيِّن | يعيِّن التابع قيمة <nowiki/>[[Arduino/char|محرفٍ]] متوضِّع في <nowiki/>[[Arduino/stringobject|السلسلة النصية]] التي استدعيت معه إلى <nowiki/>[[Arduino/char|المحرف]]<nowiki/>المُمرَّر إليه. | ||
===<code>[[Arduino/stringobject/startswith|startsWith()]]</code>=== | |||
يتحقَّق التابع إن كانت السلسلة النصية التي استدعيت معه تبدأ بالمحارف نفسها التي مُرِّرت إليه. | |||
===<code>[[Arduino/stringobject/substring|substring()]]</code>=== | |||
يجلب التابع جزءًا محدَّدًا من السلسلة النصية التي استدعيت معه. | |||
===<code>[[Arduino/stringobject/tochararray|toCharArray()]]</code>=== | |||
يحول التابع كامل السلسلة النصية التي استدعيت معه أو جزءًا منها إلى <nowiki/>[[Arduino/string|سلسلة نصية]] مكوَّنة من مصفوفة من المحارف. | |||
===<code>[[Arduino/stringobject/toint|toInt()]]</code>=== | |||
يحول التابع السلسلة النصية التي استدعيت معه إلى <nowiki/>[[Arduino/int|عددٍ صحيحٍ]]. | |||
===<code>[[Arduino/stringobject/tofloat|toFloat()]]</code>=== | |||
يحوِّل التابع السلسلة النصية التي استدعيت معه إلى <nowiki/>[[Arduino/float|عددٍ عشري]]. | |||
===<code>[[Arduino/stringobject/tolowercase|toLowerCase()]]</code>=== | |||
يحوِّل التابع جميع حروف السلسلة النصية التي استدعيت معها إلى حروف صغيرة (lower-case). | |||
===<code>[[Arduino/stringobject/touppercase|toUpperCase()]]</code>=== | |||
يحوِّل التابع جميع حروف السلسلة النصية التي استدعيت معه إلى حروف كبيرة (upper-case). | |||
===<code>[[Arduino/stringobject/trim|trim()]]</code>=== | |||
يزيل التابع جميع المسافات البيضاء من بداية ونهاية السلسلة النصية التي استدعيت معه. | |||
==المعاملات== | |||
===<code>[[Arduino/stringobject/elementaccess|[]]]</code>=== | |||
يوفر المعامل إمكانية الوصول إلى محرف محدَّد من محارف السلسلة النصية المستعملة معه وإعادته. | |||
===<code>[[Arduino/stringobject/ | ===<code>[[Arduino/stringobject/concatenation|+]]</code>=== | ||
يجمع (يدمج) المعامل سلسلتين نصيتين مع بعضهما بعضًا في سلسلة نصية واحدة جديدو ثم يعيدها. | |||
===<code>[[Arduino/stringobject/ | ===<code>[[Arduino/stringobject/append|=+]]</code>=== | ||
يضيف المعامل أية نوع من البيانات إلى نهاية سلسلة نصية معيَّنة. | |||
===<code>[[Arduino/stringobject/ | ===<code>[[Arduino/stringobject/comparison|==]]</code>=== | ||
يتحقَّق المعامل من تساوي سلسلتين نصيَّتين مع بعضهما بعضًا. | |||
===<code>[[Arduino/stringobject/ | ===<code>[[Arduino/stringobject/greaterthan|<]]</code>=== | ||
يتحقَّق المعامل إن كانت السلسلة النصية التي تقع على يساره أكبر تمامًا من السلسلة النصية التي تقع على يمينه. | |||
===<code>[[Arduino/stringobject/ | ===<code>[[Arduino/stringobject/greaterthanorequalto|=<]]</code>=== | ||
يتحقَّق المعامل إن كانت السلسلة النصية التي تقع على يساره أكبر من أو تساوي السلسلة النصية التي تقع على يمينه. | |||
===<code>[[Arduino/stringobject/ | ===<code>[[Arduino/stringobject/lessthan|>]]</code>=== | ||
يتحقَّق المعامل إن كانت السلسلة النصية التي تقع على يساره أصغر من السلسلة النصية التي تقع على يمينه. | |||
===<code>[[Arduino/stringobject/ | ===<code>[[Arduino/stringobject/lessthanorequalto|=>]]</code>=== | ||
يتحقَّق المعامل إن كانت السلسلة النصية التي تقع على يساره أصغر من أو تساوي السلسلة النصية التي تقع على يمينه. | |||
===<code>[[Arduino/stringobject/ | ===<code>[[Arduino/stringobject/differentfrom|=!]]</code>=== | ||
يتحقَّق المعامل إن كانت السلسلة النصية التي تقع على يساره مختلفة السلسلة النصية التي تقع على يمينه. | |||
==انظر أيضًا== | ==انظر أيضًا== | ||
*النوع <code>[[Arduino/array|array]]</code>: يمثِّل مصفوفة من المتغيرات الموضوعة في وعاء واحد والتي يمكن الوصول إليها والتعامل معها عبر رقم فهرس كلٍّ منها. | *النوع <code>[[Arduino/array|array]]</code>: يمثِّل مصفوفة من المتغيرات الموضوعة في وعاء واحد والتي يمكن الوصول إليها والتعامل معها عبر رقم فهرس كلٍّ منها. | ||
سطر 133: | سطر 128: | ||
[[تصنيف: Arduino]] | [[تصنيف: Arduino]] | ||
[[تصنيف: Arduino Data Type]] | [[تصنيف: Arduino Data Type]] | ||
[[تصنيف:Arduino String]] |
المراجعة الحالية بتاريخ 21:07، 6 نوفمبر 2018
تنشئ الدالة String()
نسخةً من الصنف String
. هنالك طرائق متعدِّدة لإنشاء سلاسل نصية من أنواع مختلفة من البيانات وهي استدعاء الدالة String()
مع:
- سلسلة نصية ثابتة من المحارف ضمن علامتي اقتباس مزدوجتين (أي مصفوفة من المحارف)، أو
- محرف ثابت وحيد ضمن علامتي اقتباس مفردتين، أو
- نسخة أخرى من الكائن
String
، أو - عدد صحيح ثابت أو عدد طويل ثابت، أو
- عدد صحيح ثابت أو عدد طويل ثابت باستعمال أساس محدَّد، أو
- عدد صحيح أو عدد طويل متغير، أو
- عدد صحيح أو عدد طويل متغير باستعمال أساس محدَّد، أو
- عدد عشري أو عدد عشري مضاعف باستعمال منازل عشرية محدَّدة.
إن استدعيت الدالة String()
مع عدد، فستُنشِئ سلسلةً نصيةً تحوي تمثيلًا لأرقام ذلك العدد عبر محارف ASCII. الأساس الافتراضي المستعمل في هذه الحالة هو 10. سيعطي المثال التالي:
String thisString = String(13);
السلسلة النصية "13". يمكن استعمال أساس مختلف مثل:
String thisString = String(13, HEX);
الذي سيعطي السلسلة النصية "D" وهي التمثيل الست عشري للقيمة 13 العشرية. إن كنت تفضل النظام الثنائي، فجرب هذا المثال:
String thisString = String(13, BIN);
الذي سيعطي السلسلة النصية "1101" وهي التمثيل الثنائي للقيمة 13 العشرية.
البنية العامة
String(val)
String(val, base)
String(val, decimalPlaces)
المعاملات
val
المتغير أو القيمة المراد تنسيقها كسلسلة نصية. نوع البيانات المسموح بها هي: سلسلة نصية، ومحرف، وبايت، وعدد صحيح، وعدد صحيح عديم الإشارة، وعدد طويل عديم الإشارة، وعدد عشري، وعدد عشري مضاعف.
base
معامل اختياري يحدِّد أساس النظام العددي الذي ستُنسَّق فيه القيمة العددية. القيمة الافتراضية هي: DEC
.
decimalPlaces
يقيِّد عدد المنازل العشرية (الأرقام بعد الفاصلة) للعدد العشري أو العدد العشري المضاعف.
القيم المعادة
تعاد نسخة من الصنف String
تحوي القيمة val
.
أمثلة
جميع الأمثلة التالية هي أمثلة صحيحة لاستعمال الدالة String()
:
String stringOne = "Hello String"; // استعمال سلسلة نصية ثابتة
String stringOne = String('a'); // تحويل محرف ثابت إلى سلسلة نصية
String stringTwo = String("This is a string"); // String تحويل سلسلة نصية ثابتة إلى كائن من النوع
String stringOne = String(stringTwo + " with more"); // جمع سلسلتين نصيتين مع بعضهما بعضًا
String stringOne = String(13); // استعمال عدد صحيح ثابت
String stringOne = String(analogRead(0), DEC); // استعمال عدد صحيح مع تحديد الأساس المستعمل
String stringOne = String(45, HEX); // "استعمال عدد صحيح مع تحديد الأساس إلى "ست عشري
String stringOne = String(255, BIN); // "استعمال عدد صحيح مع تحديد الأساس إلى "ثنائي
String stringOne = String(millis(), DEC); // استعمال عدد طويل مع تحديد الأساس المستعمل
String stringOne = String(5.698, 3); // استعمال عدد عشري مع تحديد عدد المنازل العشرية
التوابع
charAt()
يجلب التابع محرفًا ذا فهرس محدَّد من السلسلة النصية التي استدعيت معه.
compareTo()
يوازن التابع بين سلسلتين نصيتين ويحدِّد أيهما أكبر من الأخرى أو إن كانتا متساويتين.
concat()
يضيف التابع المعامل المُمرَّر إليه إلى السلسلة النصية التي استدعيت معه.
c_str()
يحوِّل التابع محتوى السلسلة النصية التي استدعيت معه إلى نمط السلسلة النصية المثالية في C (السلسلة النصية المنتهية بالمحرف null
).
endsWith()
يتحقَّق التابع إن كانت السلسلة النصية التي استدعيت معه تنتهي بالمحارف نفسها التي مُرِّرت إليه.
equals()
يتحقَّق التابع إن كانت السلسلة النصية التي استدعيت معه مساويةً للسلسلة النصية التي مُرِّرت إليه.
equalsIgnoreCase()
يتحقَّق التابع إن كانت السلسلة النصية التي استدعيت معه مساويةً للسلسلة النصية التي مُرِّرت إليه مع عدم أخذ حالة الأحرف بالحسبان.
getBytes()
يجلب التابع عددًا محدَّدًا من بايتات السلسلة النصية التي استدعيت معه ويضعها في مخزَّن معيَّن.
indexOf()
يعيد التابع فهرس أول ظهور لمحرف أو سلسلة نصية معيَّنة ضمن السلسلة النصية التي استدعيت معه.
lastIndexOf()
يعيد التابع فهرس آخر ظهور لمحرف أو سلسلة نصية معيَّنة ضمن السلسلة النصية التي استدعيت معه.
length()
يعيد التابع عدد محارف السلسلة النصية التي استدعيت معه.
remove()
يحذف التابع عددًا محدَّدًا من محارف السلسلة النصية التي استدعيت معها.
replace()
يبدِّل التابع محرفًا أو سلسلةً نصيةً فرعيةً مكان محرف أو سلسلة نصية فرعية محدَّدة موجودة في السلسلة النصية التي استدعيت معه.
reserve()
يحجز التابع جزءًا من الذاكرة ويخصِّصه للتلاعب بالسلسلة النصية التي استدعيت معه وتعديلها.
setCharAt()
يعيِّن التابع قيمة محرفٍ متوضِّع في السلسلة النصية التي استدعيت معه إلى المحرفالمُمرَّر إليه.
startsWith()
يتحقَّق التابع إن كانت السلسلة النصية التي استدعيت معه تبدأ بالمحارف نفسها التي مُرِّرت إليه.
substring()
يجلب التابع جزءًا محدَّدًا من السلسلة النصية التي استدعيت معه.
toCharArray()
يحول التابع كامل السلسلة النصية التي استدعيت معه أو جزءًا منها إلى سلسلة نصية مكوَّنة من مصفوفة من المحارف.
toInt()
يحول التابع السلسلة النصية التي استدعيت معه إلى عددٍ صحيحٍ.
toFloat()
يحوِّل التابع السلسلة النصية التي استدعيت معه إلى عددٍ عشري.
toLowerCase()
يحوِّل التابع جميع حروف السلسلة النصية التي استدعيت معها إلى حروف صغيرة (lower-case).
toUpperCase()
يحوِّل التابع جميع حروف السلسلة النصية التي استدعيت معه إلى حروف كبيرة (upper-case).
trim()
يزيل التابع جميع المسافات البيضاء من بداية ونهاية السلسلة النصية التي استدعيت معه.
المعاملات
[]
يوفر المعامل إمكانية الوصول إلى محرف محدَّد من محارف السلسلة النصية المستعملة معه وإعادته.
+
يجمع (يدمج) المعامل سلسلتين نصيتين مع بعضهما بعضًا في سلسلة نصية واحدة جديدو ثم يعيدها.
=+
يضيف المعامل أية نوع من البيانات إلى نهاية سلسلة نصية معيَّنة.
==
يتحقَّق المعامل من تساوي سلسلتين نصيَّتين مع بعضهما بعضًا.
<
يتحقَّق المعامل إن كانت السلسلة النصية التي تقع على يساره أكبر تمامًا من السلسلة النصية التي تقع على يمينه.
=<
يتحقَّق المعامل إن كانت السلسلة النصية التي تقع على يساره أكبر من أو تساوي السلسلة النصية التي تقع على يمينه.
>
يتحقَّق المعامل إن كانت السلسلة النصية التي تقع على يساره أصغر من السلسلة النصية التي تقع على يمينه.
=>
يتحقَّق المعامل إن كانت السلسلة النصية التي تقع على يساره أصغر من أو تساوي السلسلة النصية التي تقع على يمينه.
=!
يتحقَّق المعامل إن كانت السلسلة النصية التي تقع على يساره مختلفة السلسلة النصية التي تقع على يمينه.
انظر أيضًا
- النوع
array
: يمثِّل مصفوفة من المتغيرات الموضوعة في وعاء واحد والتي يمكن الوصول إليها والتعامل معها عبر رقم فهرس كلٍّ منها. - النوع
string
: يمثِّل سلسلةً نصيةً مؤلفةً من عدة محارف مرتبطة مع بعضها بعضًا. تُستعمَل مصفوفة من المحارف لتخزين هذا النوع من البيانات واستدعائها والتعامل معها لاحقًا.