نحوه پیدا کردن یک نماد خاص در خط 1C. توابع کار جدید با ردیف

نوع "رشته" در تمام زبان های برنامه نویسی یافت می شود. این ابتدایی است، و در 1C توابع زیادی برای کار با آن وجود دارد. در این مقاله ما جزئیات را در نظر خواهیم گرفت روش های مختلف کار با انواع رشته در 1C 8.3 و 8.2 در نمونه های.

خط

به منظور تبدیل متغیر از هر نوع به یک رشته، عملکرد "ردیف ()" از همان نام وجود دارد. پارامتر ورودی متغیر خود خواهد بود، نمایش رشته ای که باید بدست آورد.

ردیف (نادرست) // بازگشت "نه"
ردیف (12345) // بازگشت "12 345"
ردیف (currentdata ()) // 2.5.07.2017 11:55:36 "

تبدیل به خط نه تنها برای انواع اولیه، بلکه بقیه، مانند عناصر کتاب های مرجع، اسناد امکان پذیر است.

SOKRLP، SOKREL، CROPP

به عنوان پارامترهای ورودی این توابع، یک متغیر نوع رشته یک متغیر است. توابع حذف کاراکترهای ناچیز (فضاهای، واگن ها و فضاهای دیگر): با چپ و سمت راست، فقط در سمت چپ، و تنها با سمت راست، به ترتیب.

SOKRLP ("فضاهای هر دو طرف حذف می شوند") // "فضاهای در هر دو طرف حذف خواهند شد"
Sokrel ("فضاها در هر دو طرف حذف می شوند") // "فضاهای چپ" حذف خواهند شد "
SOCRP ("فضاهای در هر دو طرف") // فضاهای سمت راست حذف خواهد شد "

شیر، حقوق، رسانه ها

این توابع به شما این امکان را می دهند که بخشی از خط را قطع کنید. تابع "شیر ()" بخشی از خط را از سمت چپ آن از طول مشخص شده بازگرداند. عملکرد "راست ()" مشابه است، اما پیرایش در سمت راست انجام می شود. عملکرد "Media ()" به شما اجازه می دهد تا شماره کاراکتر را مشخص کنید که از آن رشته و طول آن برجسته خواهد شد.

شیر ("متغیر رشته"، 4) // بازگشت "کاه"
حقوق ("متغیر نرده"، 7) // بازگشت "eramet"
رسانه ("متغیر رشته"، 2، 5) // بازگشت "Troko"

استروتینا

این تابع تعداد کاراکترهای موجود در متغیر رشته را تعیین می کند.

Streglin ("کلمه") // نتیجه خواهد شد شماره 5

برای پیدا کردن

این تابع به شما امکان می دهد که در هر بخش متغیر رشته خط جستجو کنید. به عنوان یک مقدار بازگشتی، شماره موقعیتی است که موقعیت شروع خط را نشان می دهد. اگر هیچ اتفاقی نمی افتد، صفر بازگشته است.

لطفا توجه داشته باشید که جستجو با توجه به ثبت نام انجام شده است. اگر در خط اولیه بیش از یک ورودی از Substring جستجو وجود داشته باشد، تابع آغاز اولین ورود را باز می کند.

پیدا کردن ("یک بار، دو بار، دو، سه"، "دو") // تابع شماره 6 را باز می کند

خط خالی

با استفاده از این ویژگی به شما اجازه می دهد تا تعیین کنید که آیا رشته خالی است یا خیر. شخصیت های برطرف شده، مانند فضا، انتقال حمل و نقل و دیگران به حساب نمی آیند.

"Pupky Vasily Ivanovich") // تابع ارزش نادرست را بازگرداند
Pastastroroca ("") // تابع ارزش حقیقت را بازگرداند

نور، Nreg، Treg

این توابع هنگام مقایسه و تبدیل متغیرهای رشته بسیار مفید هستند. "خنده ()" خط اصلی را در مورد بالا بازگرداند، "Nreg ()" در پایین تر و "Treg ()" آن را تشکیل می دهد، به طوری که اولین شخصیت هر کلمه فردی با یک حرف بزرگ و همه پس از آن خواهد بود با کوچک

Vrega ("مدیر کل") // اهمیت بازگشت - "مدیر کل"
Nrega ("مدیر کل") // اهمیت بازگشت - "مدیرعامل"
Trega ("مدیر کل") // بازگشت ارزش - "مدیر کل"

شلاق زدن

این ویژگی یک آنالوگ از جایگزینی است ویراستاران متن. این اجازه می دهد تا شما را به جای یک شخصیت یا مجموعه ای از شخصیت ها به دیگر متغیرهای رشته.

Strust ("قرمز، سفید، زرد"، "،"، "؛") // بازگشت "قرمز؛ سفید؛ رنگ زرد"

استوانه

این تابع به شما اجازه می دهد تعداد ردیف ها را تعیین کنید جدا شده توسط انتقال حمل و نقل در متغیر متن.

چرخه، در مثال زیر، سه حلقه برگزار می شود، از آنجا که تابع StringsLock به 3:

برای ind \u003d 1 از طریق Strokelock ("String1" + کاراکترها. PC + "String2" + کاراکترها. PC + "String3") چرخه
<тело цикла>
Endcycle؛

پلاگین

این ویژگی با متن چند خط و همچنین قبلی کار می کند. این اجازه می دهد تا شما یک رشته خاص از متغیر متن دریافت کنید.

پلاگین را از طریق ("String1" + کاراکترها. PC + "String2" + کاراکترها. PS + "String3"، 2) // بازگشت "string2"

چرخنده

این تابع مقدار علامت ورودی یا Substring را در رشته مورد نظر شمارش می کند.

ایستگاه های ثابت ("a؛ b؛ in؛ g؛"، "؛") // تابع شماره 4 را باز می گرداند

نماد و CodeImvol

این توابع به شما اجازه می دهد یک نماد را در کد خود دریافت کنید رمزگذاری enicode، و همچنین این کد را بر روی نماد خود تعریف کنید.

چاقو ("A") // تابع شماره 1 040 را باز می کند
KODSIMVOL (1040) // تابع "A"

وظایف مکرر هنگام کار با ردیف

ترکیب رشته

برای ترکیب چندین خط (concatenate) کافی است که از اپراتور اضافی استفاده کنید.

"خط 1" + "خط 2" // نتیجه دو خط تاشو "رشته 1 خط 2" خواهد بود

تبدیل نوع

به منظور تبدیل نوع به یک رشته، به عنوان مثال، یک اشاره به عنصر دایرکتوری، شماره و غیره، به اندازه کافی برای استفاده از عملکرد "ردیف ()" کافی است. توابع مشابه "Coplp ()" نیز متغیرها را به رشته تبدیل می کنند، اما بلافاصله با برش کاراکترهای ناچیز.

ردیف (1000) // بازگشت "1000"

لطفا توجه داشته باشید که هنگام تبدیل یک عدد به یک رشته، برنامه به طور خودکار یک فضای جداسازی یک هزار را اضافه کرد. به منظور اجتناب از این، شما می توانید از ساختارهای زیر استفاده کنید:

Strust (خط (1000)، نمادها. NPP، "") // بازگشت "1000"

ردیف (فرمت (1000، "cg \u003d")) // بازگشت "1000"

نقل قول در رشته

اغلب اغلب، شما باید با نیاز به مشخص کردن در نقل قول متغیر رشته. این می تواند مانند یک متن پرس و جو نوشته شده در پیکربندی و فقط یک متغیر باشد. برای حل این کار، شما فقط باید دو کاراکتر نقل قول را نصب کنید.

title \u003d ردیف ("LLC" "شاخ" "" - این ما! ") // حفظ" ROG و Hortal LLC "- این ما!"

چند خط، انتقال ردیف

به منظور ایجاد یک متن چند خطی، به اندازه کافی برای اضافه کردن آن به آن برای انتقال رشته به آن (نمادها. PS).

multi-linecext \u003d "خط اول" + نمادها. FS + "رشته دوم"

چگونه برای حذف شکاف

به منظور حذف شکاف در سمت راست یا در سمت چپ، می توانید از تابع "Coplp ()" (و همچنین "Sokrel ()" و "Cropp ()") استفاده کنید:

rangebesproelov \u003d coolp ("بسیاری از حروف") // تابع ارزش "بسیاری از نامه ها"

اگر پس از تبدیل شماره در رشته، شما نیاز به حذف فضاهای جداگانه، از طراحی زیر استفاده کنید:

StringBebones \u003d Strust (رشته (99999)، نمادها. NPP، "") // حفظ "99999"

همچنین، برنامه نویسان اغلب از طراحی زیر لذت می برند، که به شما اجازه می دهد تا حذف کنید، یا تمام فضاهای متغیر متن را به نماد دیگری جایگزین کنید:

Belts Stringbezf \u003d Strust ("PR و V E T"، ""، "") // حفظ "سلام"

مقایسه رشته ها در میان خود

شما می توانید مهلت های مربوط به علامت معمولی برابری را مقایسه کنید. در مقایسه، ثبت نام در نظر گرفته شده است.

"سلام" \u003d "سلام" // دروغ بازگشت
"سلام" \u003d "سلام" // بازگشت حقیقت
"سلام" \u003d "Goodbye" // دروغ بازگشت

خطوط در 1C 8.3 در زبان ساخته شده در 1C، مقادیر اولیه نوع هستند خط. ارزش های این نوع حاوی یک رشته در فرمت یونیکد طول دلخواه است. متغیرهای رشته مجموعه ای از کاراکترهای محصور شده در نقل قول هستند.

مثال 1. یک متغیر رشته را با متن ایجاد کنید.

row-free \u003d "سلام جهان!"؛

توابع کار با خطوط در 1C 8.3

که در این بخش توابع اساسی برای تغییر خطوط در 1C داده می شود یا اطلاعات موجود در آنها را تجزیه و تحلیل می کنند.

استروتینا

strdlin (<Строка>) . تعداد کاراکترهای موجود در رشته ارسال شده در پارامتر را باز می گرداند.

مثال 2. محاسبه تعداد کاراکترها در رشته "Hello World!".

ردیف \u003d "سلام جهان!"؛ martensumless \u003d stondin (رشته)؛ گزارش (احضار)؛

نتیجه اجرای این کد تعداد کاراکترهای رشته را نمایش می دهد: 11.

ساکریل

sokrel (<Строка>) . از شخصیت های ناچیز به سمت چپ اول کاهش می یابد نماد معنی دار در خط
نمادهای بی قاعده:

  • فضا؛
  • فضای غیر معاف؛
  • جدول بندی؛
  • واگن برقی؛
  • ترجمه خط؛
  • ترجمه فرم (صفحات).

مثال 3. تمام فضاها را در سمت چپ خط "جهان" حذف کنید! و پیوستن به آن خط "سلام".

line \u003d sokrel ("صلح!")؛ ردیف \u003d "سلام" + خط؛ گزارش (رشته)؛

نتیجه اجرای این کد خروجی به صفحه نمایش "سلام Mir!" خواهد بود.

socrp

copp (<Строка>) . از شخصیت های ناچیز به سمت راست اولین نماد معنی در ردیف خارج می شود.

مثال 4. فرم از ردیف "سلام" و "صلح!" عبارت "سلام جهان!"

ردیف \u003d Cropp ("سلام") + "" + Sokrel ("صلح!")؛ گزارش (رشته)؛

sokrlp

sokrlp (<Строка>) . از شخصیت های ناچیز به سمت راست نماد معنی اول در ردیف خارج می شود، همچنین از شخصیت های ناچیز به سمت چپ اولین شخصیت معنی دار در ردیف خارج می شود. این تابع اغلب از دو سال گذشته استفاده می شود، زیرا بیشتر متنوع است.

مثال 5. حذف شخصیت های ناچیز ایستاده در سمت چپ و راست به نام طرف مقابل.

counterparty \u003d منابع. Proteces. Enti-Moving ("Inn"، "0777121211")؛ counterparty \u003d counterparty object /)؛ Counterparty نام \u003d Coolp (Counterparty نام)؛ Counterparty برای استخدام ()؛

یک شیر

یک شیر(<Строка>, <ЧислоСимволов>) . اولین کاراکتر رشته ها را می گیرد، تعداد کاراکترها در پارامتر نشان داده می شود اسلواقی

مثال 6. اجازه دهید در ساختار کارمند شامل نام، نام خانوادگی و نام وسط کارمند. یک رشته را با نام خانوادگی و حروف اول دریافت کنید.

داده های اولیه \u003d شیر (کارمند. منظور من، 1)؛ ابتدایی \u003d شیر (کارمند. ضعف، 1)؛ fulfill \u003d emplancee.familia + "" + اولیه و ".". " + initiality + "."؛

درست

حقوق (<Строка>, <ЧислоСимволов>) . آخرین نمادهای رشته را دریافت می کند، تعداد کاراکترها در پارامتر نشان داده شده است اسلواقی اگر تعداد مشخصی از کاراکترها بیش از طول خط باشد، سپس کل رشته بازگردانده می شود.

مثال 7. اجازه دهید تاریخ در قالب "GGHHMDD" در انتهای متغیر رشته ثبت شود تا یک خط با تاریخ دریافت کنید و آن را به نوع تبدیل کنید تاریخ.

line \u003d "تاریخ فعلی: 20170910"؛ strfedate \u003d حقوق (رشته، 8)؛ تاریخ \u003d تاریخ (Strfewar)؛

رسانه ها

محیط ها (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Substring از ردیف منتقل شده در پارامتر می شود خطبا شروع تعداد کاراکتر که در پارامتر مشخص شده است استارت آپ و طول انتقال به پارامتر اسلواقیشماره کاراکتر در رشته شروع می شود 1. اگر در پارامتر باشد استارت آپ مقدار کمتر یا برابر صفر است، پارامتر مقدار را می گیرد 1. اگر پارامتر باشد nizalsimvol مشخص نشده است، سپس نمادها تا پایان خط انتخاب می شوند.

مثال 8. فرض کنید که در متغیر رشته، شروع از موقعیت نهم شامل کد منطقه، شما باید آن را دریافت کنید و آن را به یک رشته جداگانه بنویسید.

line \u003d "منطقه: 99 مسکو"؛ منطقه \u003d رسانه (رشته، 9، 2)؛

استنتت

استنتت<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . جستجو برای زیرمجموعه مشخص شده در رشته، تعداد موقعیت اولین کاراکتر را پیدا می کند. پارامترهای این ویژگی را در نظر بگیرید:

  • خط. خط منبع؛
  • زیرزمین. بستر مورد نظر؛
  • جهت. جهت جستجوی Substring را در ردیف مشخص می کند. می تواند ارزش ها را انجام دهد:
    • جهت;
    • جهت;
  • رکود. موقعیت را در رشته ای که از آن جستجو آغاز می شود را مشخص می کند؛
  • بازخورد. نشان می دهد تعداد ورودی بستر مورد نظر در خط منبع.

مثال 9. در خط "سلام جهان!" تعیین موقعیت آخرین ورود نماد "و".

DRIZE \u003d STRNET ("سلام MIR!"، "و"، جهت از .sconsion)؛ گزارش (فیدر)؛

نتیجه اجرای این کد خروجی به تعداد صفحه نمایش آخرین ورود نماد "و": 9.

سبک

vrega (<Строка>) . تمام کاراکترهای رشته مشخص شده را در 1C 8 به ثبت نام بالا تبدیل می کند.

مثال 10. تغییر خط "سلام Mir!" به ثبت نام بالا

rangered \u003d تاخیر ("سلام جهان!")؛ گزارش (قایقرانی)؛

نتیجه اجرای این کد به صفحه نمایش خط "سلام جهان!"

نروژی

nrega (<Строка>) . تمام کاراکترهای رشته مشخص شده را در 1C 8 به ثبت نام پایین تر تبدیل می کند.

مثال 11. تبدیل یک رشته "سلام Mir!" برای پایین آوردن ثبت نام

strochanneg \u003d nreg ("سلام Pee!")؛ گزارش (قایقرانی)؛

نتیجه اجرای این کد به صفحه نمایش خط "سلام سلام!"

تور

trega (<Строка>) . تبدیل یک رشته به شرح زیر است: اولین نماد هر کلمه به حروف بزرگ ترجمه شده است، کلمات باقی مانده از کلمه به ثبت نام پایین تر ترجمه می شود.

مثال 12. سر از حروف اول کلمات را در خط "سلام جهان!".

stinkateg \u003d treg ("سلام سلام!")؛ گزارش (Stinkategents)؛

نتیجه اجرای این کد به صفحه نمایش خط "سلام سلام!"

سمبل

سمبل(<КодСимвола>) . نماد در کد خود را در کدگذاری Unicod می شود.

مثال 13. اضافه کردن به سمت چپ و راست به خط "سلام جهان!" نماد ★

رشته های رشته \u003d نماد ("9733") + "سلام جهان!" + نماد ("9733")؛ گزارش (عبارات رشته)؛

نتیجه اجرای این کد بر روی صفحه نمایش رشته نمایش داده می شود "★ سلام صلح! ★"

KODSIMVOL

CodeImvol (<Строка>, <НомерСимвола>) . کد نماد را در unicode کدگذاری می کند که از یک رشته مشخص شده در اولین پارامتر واقع در موقعیت مشخص شده در پارامتر دوم مشخص شده است.

مثال 14. پیدا کردن کد آخرین نماد در "HI WORLD!" خط.

ردیف \u003d "سلام جهان!"؛ CodeImvol \u003d CodeImvol (رشته، Stringle (رشته))؛ گزارش (CODEIMVOL)؛

نتیجه اجرای این کد به کد نماد خروجی خواهد رسید "!" - 33

خط خالی

خط خالی (<Строка>) . چک کنید که آیا رشته تنها از شخصیت های ناچیز است، یعنی آن، این است که آیا خالی است.

مثال 15. بررسی کنید که آیا رشته خالی شامل سه فاصله است.

خالی \u003d جهش یافته ("")؛ گزارش (خالی)؛

نتیجه اجرای این کد به صفحه نمایش "بله" (بیان رشته ارزش منطقی درست است، واقعی).

شلاق زدن

سنا (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . در خط اصلی تمام نوشته های Substring جستجو را پیدا می کند و آن را جایگزین جایگزینی جایگزینی می کند.

مثال 16. در خط "سلام جهان!" کلمه "جهان" را در کلمه "دوستان" جایگزین کنید.

ROW \u003d STRUST ("سلام MIR!"، "MIR"، "دوستان")؛ گزارش (رشته)؛

نتیجه اجرای این کد به صفحه نمایش "HI Friends!"

استوانه

Strokelost (<Строка>) . به شما امکان می دهد تعداد ردیف ها را در یک رشته چند خط محاسبه کنید. برای رفتن به یک رشته جدید در 1C 8، یک نماد استفاده می شود. ps (نماد ترجمه رشته).

مثال 17. تعداد ردیف ها را در متن تعیین کنید:
"خط اول
رشته دوم
خط سوم »

شماره \u003d سبد STROVER ("ردیف اول" + نمادها. PC + "خط دوم" + کاراکترها. کامپیوتر + "رشته سوم")؛ شماره گزارش)؛

نتیجه اجرای این کد به تعداد ردیف ها در متن خروجی خواهد رسید: 3

پلاگین

Plotchikstka (<Строка>, <НомерСтроки>) . یک رشته در یک رشته چند خطی توسط شماره آن می شود. شماره ردیف با 1 شروع می شود.

مثال 18. آخرین رشته را در متن دریافت کنید:
"خط اول
رشته دوم
خط سوم »

text \u003d "خط اول خط" + کاراکترهای PC + "خط دوم" + کاراکترها. FS + "ردیف سوم"؛ LastastRight \u003d PlisProktriktka (متن، Strokelock (متن))؛ گزارش (آخرین بار)؛

نتیجه اجرای این کد به صفحه خط "ردیف سوم" منجر خواهد شد.

چرخنده

stirling (<Строка>, <ПодстрокаПоиска>) . تعداد ورودی های زیر رشته مشخص شده را در رشته باز می گرداند. این تابع به ثبت نام حساس است.

مثال 19. تعیین چند بار آن را وارد رشته در 1C 8.3 و 8.2. نامه "C"، صرف نظر از ثبت نام آن.

ROW \u003d "ردیف ها در 1C 8.3 و 8.2"؛ اعداد \u003d برچسب (تاخیر (رشته)، "C")؛ گزارش (اعداد)؛

نتیجه اجرای این کد، تعداد ورودی ها را تولید می کند: 2.

برنامه ریزی شده

رون (<Строка>, <СтрокаПоиска>) . بررسی می کند که آیا رشته در پارامتر اول، از ردیف در پارامتر دوم عبور می کند.

مثال 20. تعیین اینکه آیا Inn of CounterPart انتخاب شده با شماره 1. شروع به متغیر است طرفدار متقلب.

Inn \u003d counterparty.inn؛ با هم شروع می شود \u003d rrinced (مسافرت، "1")؛ اگر آن را در آن زمان شروع می شود // به پایان رسید؛

strazanacivna

strashing (<Строка>, <СтрокаПоиска>) . بررسی کنید که آیا رشته در پارامتر اول به پایان رسید، در خط در پارامتر دوم.

مثال 21. تعیین اینکه آیا مسافرتی از همتای انتخاب شده به شکل 2 به پایان می رسد 2. بگذارید در متغیر طرفدارلینک ذخیره شده به عنصر دایرکتوری متقلب.

Inn \u003d counterparty.inn؛ سوپاپ های متوقف شده \u003d Strasting (Inn، "2")؛ اگر شما آن را تمام کنید // کد خود را به پایان رسید؛

بند

نژاد<Строка>, <Разделитель>, <ВключатьПустые>) . رشته را بر اساس علامت های جدا کننده مشخص شده و رشته های حاصل را به یک آرایه متصل می کند. در پارامتر اول، خط منبع ذخیره می شود، در خط دوم حاوی جداکننده، در سوم نشان داده شده است که آیا برای ضبط خطوط خالی به آرایه (به طور پیش فرض درست است، واقعی).

مثال 22. اجازه دهید یک رشته حاوی اعداد جدا شده توسط نماد "؛" داشته باشیم، آرایه ای از اعداد از رشته را دریافت کنیم.

ردیف \u003d "1؛ 2؛ 3"؛ آرایه \u003d بند (رشته، "؛")؛ برای sch \u003d 0 توسط یک آرایه. شماره () - 1 array تلاش چرخه [SCH] \u003d شماره (CROLP (آرایه [sch]))؛ Array Exception [SCH] \u003d 0؛ Endropset EndRequency؛

به عنوان یک نتیجه از اجرای، یک آرایه با شماره 1 تا 3 به دست می آید.

سکته

استررن<Строки>, <Разделитель>) . آرایه ای از ردیف ها را از اولین پارامتر به رشته حاوی تمام عناصر آرایه از طریق جدا کننده مشخص شده در پارامتر دوم تبدیل می کند.

مثال 23. با استفاده از یک آرایه از اعداد از مثال قبلی، برای به دست آوردن رشته اصلی.

برای sch \u003d 0 توسط یک آرایه. شماره () - 1 آرایه چرخه [SCH] \u003d رشته (آرایه [SCH])؛ Endcycle؛ خط \u003d سکته مغزی (آرایه، "؛")؛

اطلاعات در 1C ممکن است نماینده باشد: دایرکتوری، سند، ثبت نام ...

با این حال، در نهایت، تمام این اشیاء از زمینه ها تشکیل شده است، و زمینه های نوع ساده هستند - تعداد، خط، تاریخ. و اطلاعات در قالب رشته ها همیشه بیشتر است. بنابراین، با ردیف شما باید بیشتر کار کنید.

در حال حاضر ما تجزیه و تحلیل چگونگی زبان 1C شما می توانید با ردیف کار کنید. به طور خلاصه گزینه های مختلفی را برای تجزیه و تحلیل متن اتوماتیک امتحان کنید.

انواع رشته

ردیف ها می توانند طول یا طول نامحدود محدود شوند. اگر مقدار رشته از پروکسی گرفته شود، این محدودیت در نوع پروکسی ها مشخص شده است.

اگر رشته وارد کاربر در فرم شود، سپس آیتم منو می تواند "حالت چند خط" و "ویرایش پیشرفته" را حفظ کند. اولین به این معنی است که رشته ممکن است حاوی نشانه های "انتقال 1C (Enter) رشته" باشد. نکته دوم این است که رشته ممکن است شامل سایر کاراکترهای سرویس 1C، مانند برگه باشد.

اگر خط از فایل گرفته شود، به عنوان مثال با استفاده از readietextext ()، آن را مهم و رمزگذاری می شود - هنگام خواندن فایل، شما باید کدگذاری را مشخص کنید (UTF-8، KOI8، و غیره).

نمادهای خدمات 1C.

برای کار با کاراکترهای خاص، لیست کاراکترهای 1C استفاده می شود.

به عنوان مثال، یک مقدار رشته متشکل از دو کلمه:
Text Stander \u003d "اولین ردیف + نمادها. رایانه +" رشته دوم "؛

به عنوان مثال، جستجو برای انتقال خط 1C در متن:
موقعیت \u003d پیدا کردن (ایستگاه متن، نمادها. PS)؛

شما می توانید با کاراکترهای خاص زیر کار کنید:

  • CR و LF.
    به معنای انتقال رشته 1C است. اغلب در فایل های متنی یافت می شود.
    کد نماد در ASCII - 0x0D و 0x0A، در یونیکد - U + 000D و U + 000A.

    در زبان 1C شبیه به نمادها. Cr و نمادها. LF، و یا در شخصیت های روسی و نمادها. برای انتقال ردیف 1C هنگامی که آن را در کد 1C ایجاد می شود، به اندازه کافی برای استفاده از PS کافی است.

شخصیت های دیگر 1S

خطوط در 1C "فیزیکی" در فرمت یونیکد (Unicod، http://ru.wikipedia.org/wiki/٪٪٪٪٪٪٪٪٪ee0) استفاده می شود.

اگر قبلا با "رمزگذاری" شخصیت ها پیشتر نرسیده اید، به طور خلاصه توجه:

  • هنگام کار با ردیف، کامپیوتر از اعداد حروف استفاده می کند، و نه حروف خود
  • از آنجا که الفبای "انسان" Rejone (انگلیسی، روسی، یونانی، چینی، و غیره، و همچنین خدمات و "غیر چاپی" 1C وجود دارد)، پس از آن چندین گزینه وجود دارد الفبای کامپیوتریکی از آنها یونیکد است که شامل 1C کاراکتر از همه زبان ها است.
  • الفبای یونیکد به نظر می رسد این است:
    o شخصیت های سرویس "غیرقانونی" مشترک 1C
    o علائم پیشبرد و ریاضیات
    o ارقام
    الفبای انگلیسی
    o اضافی نمادها 1C از الفبای انگلیسی، که در زبان های اروپایی استفاده می شود (به عنوان مثال، در آلمان)
    الفبای یونانی
    الفبای روسی
    ...

در صورت لزوم، خطوط 1C را می توان از تمام کاراکترهای 1C موجود در یونیکد استفاده کرد.

اول، اگر شما یک طرح در ویندوز دارید، می توانید آنها را از صفحه کلید شماره گیری کنید (به طور پیش فرض، انگلیسی و روسی معمولا در روسیه نصب شده اند).

دوم، شما می توانید با پذیرش زیر شماره گیری کنید:

سوم، شما می توانید از کد برنامه کار کنید. نماد تابع (رقم) یک نماد را با شماره مشخص شده باز می کند و عملکرد CodeImvol (رشته) شماره شخصیت را از حرف اول در رشته باز می گرداند. اگر به یک نامه دیگر در خط نیاز دارید، Codemark (رشته، شماره تلفن).

به عنوان مثال، یک نماد ž را اضافه کنید خط بعدی:
Text Stand \u003d "آبجو خوب در شهر" + نماد (381) + "Drobinek"؛
// نتیجه: "آبجو خوب در شهر ždrobinek"

رشته یکی از انواع داده های اولیه در سیستم های 1C است: Enterprise 8. متغیرهای با نوع خط حاوی متن است

مقادیر متغیرهای نوع خطدر نقل قول های دوگانه محصور شده است. متغیرهای متعددی از این نوع می توانند بسته شوند.

per1 \u003d "کلمه 1"؛
per2 \u003d "کلمه 2"؛
PER3 \u003d PER1 + "" + PER2؛

در نهایت PER3 مهم خواهد بود کلمه 1 کلمه 2 ".

علاوه بر این، در سیستم های 1C: Enterprise 8 توابع را برای کار با خطوط فراهم می کند. اصلی را در نظر بگیرید:

وارد می شود (<Строка>, <Подсказка>, <Длина>, <Многострочность>) — این تابع طراحی شده است تا یک کادر محاوره ای را که کاربر می تواند مقدار را مشخص کند، طراحی شده است نوع متغیر خط. پارامتر <Строка> این اجباری است و شامل نام متغیر است که در آن رشته معرفی شده ثبت می شود. پارامتر <Подсказка> اختیاری جعبه محاوره ای است. پارامتر <Длина> اختیاری، نشان می دهد حداکثر طول خطوط وارد شده پیش فرض صفر است، که به معنی طول نامحدود است. پارامتر <Многострочность> اختیاری. حالت ورود به متن چند خطی را مشخص می کند: حقیقت - متن چند خط را با جداساز ردیف وارد کنید؛ دروغ - یک خط ساده را وارد کنید

رشته را می توان وارد کرد و دانستن کد نماد در Encoding Enicode:

سمبل(<КодСимвола>) — کد به عنوان یک عدد وارد می شود.

نامه \u003d نماد (1103)؛ // من

همچنین یک تابع معکوس وجود دارد که به شما امکان می دهد کد هر نماد را بیابید.

CodeImvol (<Строка>, <НомерСимвола>) — تعداد نماد مشخص شده را در کدگذاری یونیکد در فرم یک عدد باز می گرداند.

توابع تبدیل ثبت نام متن:

vrega (<Строка>) - تبدیل تمام کاراکترهای رشته به ثبت نام بالا.

nrega (<Строка>) - تمام کاراکترهای رشته را به حروف کوچک تبدیل می کند.

trega (<Строка>) - تبدیل تمام نمادهای رشته در ثبت نام عنوان. به این ترتیب، اولین نامه ها در همه کلمات به حروف بزرگ تبدیل می شوند، و نامه های باقی مانده در پایین تر.

جستجو و جایگزینی شخصیت ها در رشته:

برای پیدا کردن (<Строка>, <ПодстрокаПоиска>) - پیدا کردن تعداد کاراکتر جستجو برای substring جستجو. مثلا:

پیدا کردن ("رشته"، "oka")؛ // چهار

استنتت<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) - پیدا کردن تعداد کاراکتر جستجو برای Substring جستجو، شماره ورود در پارامتر مربوطه نشان داده شده است. در این مورد، جستجو با یک نماد شروع می شود که تعداد آن در پارامتر مشخص شده است نصب و راه اندازی.جستجو ممکن است از ابتدا یا از انتهای خط باشد. مثلا:

شماره 4 ورود \u003d استریت ( "مرگ"، "O"، جهت. اول، 1، 4)؛ // 7

سنا (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) - در خط اصلی تمام نوشته های Substring جستجو را پیدا می کند و جایگزین جایگزینی جایگزینی می شود.

Strust ("رشته"، "oka"، "")؛ // صفحه

خط خالی (<Строка>) - رشته را برای حضور شخصیت های قابل توجه بررسی می کند. اگر شخصیت های معنی دار وجود نداشته باشند، یا هیچ کاراکتر وجود ندارد، و سپس ارزش بازگشتی است درست است، واقعی. در غیر این صورت - اشتباه.

stirling (<Строка>, <ПодстрокаПоиска>) - تعداد رخدادهای زیربنای جستجو را در خط منبع محاسبه می کند.

stirling ( "مطالعه، مطالعه و مطالعه دوباره"، "مطالعه"، "")؛ // 3.

استررب (<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — دارای پارامترهای رشته ای توسط شماره است. رشته باید حاوی فرم های جایگزینی فرم باشد: "٪ 1 ..٪ n". نشانگرهای شماره گذاری با 1. اگر مقدار پارامتر باشد تعریف نشده، رشته خالی جایگزین شده است.

استررب ( "پارامتر 1 \u003d٪ 1، پارامتر 2 \u003d٪ 2", "1" , "2" ) ; // پارامتر 1 \u003d 1، پارامتر 2 \u003d 2

توابع تبدیل ردیف:

یک شیر(<Строка>, <ЧислоСимволов>) - اولین حرف های رشته اول را باز می گرداند.

حقوق (<Строка>, <ЧислоСимволов>) - آخرین کاراکترهای رشته را باز می گرداند.

محیط ها (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - یک رشته را در طول می گذارد<ЧислоСимволов>شروع با نماد<НачальныйНомер>.

sokrel (<Строка>) از شخصیت های ناچیز به سمت چپ اولین نماد معنی در ردیف خارج می شود.

copp (<Строка>) - از شخصیت های ناچیز به سمت راست آخرین نماد مهم در رشته کاهش می یابد.

sokrlp (<Строка>) - از شخصیت های ناچیز به سمت چپ اولین نماد معنی در ردیف و به سمت راست آخرین نماد مهم در ردیف کاهش می یابد.

Plotchikstka (<Строка>, <НомерСтроки>) - یک رشته از رشته چند خطی توسط شماره می شود.

ویژگی های دیگر:

strdlin (<Строка>) - تعداد کاراکترهای رشته را باز می گرداند.

Strokelost (<Строка>) - تعداد ردیف ها را در یک رشته چند خطی باز می گرداند. رشته جدید در نظر گرفته می شود اگر از نماد ترجمه قبلی ردیف جدا شود.

stresh (<Строка1>, <Строка2> ) - مقایسه دو خط بدون ثبت نام. تابع به طور مشابه به شیء کار می کند مقایسه. بازگشت:

  • 1 - اگر خط اول بزرگتر از دوم باشد
  • -1 - اگر خط دوم بزرگتر از اول باشد
  • 0 - اگر ردیف برابر باشد

اعتصاب ("ردیف اول"، "رشته دوم")؛ // یکی

مکانیسم برای کار با ردیف در درخواست 1C کمی. اول، خطوط را می توان بسته بندی کرد. ثانیا، شما می توانید زیر رشته را از رشته بردارید. سوم، خطوط را می توان مقایسه کرد، از جمله الگوی. این احتمالا همه چیز شما می توانید با ردیف انجام دهید.

رشته اضافی

برای ردیف های تاشو، عملیات "+" در پرس و جو استفاده می شود. شما می توانید تنها رشته های طول محدود را اضافه کنید.

انتخاب "نام:" + counterparties. ارتقاء به عنوان column1 از دایرکتوری. مخروط ها به عنوان contrgenties که در آن counterparties. link \u003d & link

تابع زیرزمینی

substring (<Строка>, <НачальнаяПозиция>, <Длина>)

آنالوگ از عملکرد رسانه ها () از مدل شیء. تابع substring () را می توان به داده های نوع رشته اعمال کرد و به شما اجازه می دهد تا یک قطعه را اختصاص دهید <Строки> شروع با شماره نماد <НачальнаяПозиция> (شخصیت های ردیف از 1) و طول <Длина> نمادها نتیجه محاسبه تابع دارای نوع رشته طول متغیر است، و طول آن به عنوان نامحدود در نظر گرفته می شود <Строка> طول و پارامتر نامحدود دارد <Длина> این ثابت یا بیش از 1024 نیست.

اگر طول رشته کمتر از پارامتر دوم باشد، تابع یک رشته خالی را باز می کند.

توجه! با استفاده از تابع substring () به منظور قرار دادن رشته های یک طول نامحدود به رشته های طول محدود توصیه نمی شود. به جای آن، بهتر است از عملیات آوردن نوع به بیان () استفاده کنید.

عملکرد مانند

اگر شما باید اطمینان حاصل کنید که پروکسی رشته مربوط به معیارهای خاصی است که ما آن را مقایسه می کنیم:

counterparties را انتخاب کنید انتصاب به عنوان یک ستون 1 از کتاب مرجع

و اگر نیاز به مقایسه بیشتر حیرت انگیز داشته باشید چه؟ نه فقط بر روی برابری یا نابرابری، بلکه در شباهت یک قالب خاص؟ این فقط برای این است، یک تابع ایجاد شده است.

مانند - اپراتور رشته را در الگوی مشابه بررسی کنید. آنالوگ مانند SQL.

اپراتور مانند این اجازه می دهد تا شما را به مقایسه ارزش بیان مشخص شده به سمت چپ آن، با رشته قالب مشخص شده در سمت راست. مقدار بیان باید یک نوع رشته داشته باشد. اگر ارزش بیان الگو را برآورده کند - نتیجه اپراتور حقیقت خواهد بود، در غیر این صورت - دروغ است.

کاراکترهای زیر در رشته الگو خدمات هستند و به غیر از نماد رشته معنی می دهند:

  • ٪ (درصد): توالی حاوی هر تعداد شخصیت های دلخواه؛
  • _ (underscore): یک نماد دلخواه؛
  • [...] (در براکت های مربع یک یا چند کاراکتر): هر شخصیت واحد از ذکر شده در داخل مربع مربع. لیست ها ممکن است محدوده ها رخ دهند، به عنوان مثال A-Z، به این معنی نماد دلخواه موجود در محدوده، از جمله انتهای محدوده؛
  • [^ ...] (در براکت های مربع، آیکون انکار به دنبال یک یا چند کاراکتر): هر شخصیت تک، به جز موارد ذکر شده در نماد نفی.

هر شخصیت دیگری به معنای خود است و هیچ بار اضافی را حمل نمی کند. اگر یکی از شخصیت های ذکر شده باید به عنوان خود نوشته شود، باید پیش از آن باشد<Спецсимвол>. خود<Спецсимвол> (هر نماد مناسب) در همان اپراتور تعریف شده است کلید واژه ها متخصص.