Mavzu: C++Dasturlash tillarida satrlar bilan ishlash string turi va uning funksiyalari Bajardi: Chutbayev Bahodirjon
Download 57,79 Kb.
|
Bahodirjon
- Bu sahifa navigatsiya:
- C++ dasturlash tilida satrlar bilan ishlash
Topshiriqni bajarishga oldim:
________________________________________________________________ (familiyasi, ismi, sharifi) Topshiriq berilgan sana: 2022 y. Reja: Kirish C++ dasturlash tilida satrlar bilan ishlash String turi va uning funksiyalari String ustida amallar String metodlari Xulosa Foydalanilgan adabiyotlar KIRISH Hozirgi kunda respublikamizdagi texnika oliy o`quv yurtlarida “Informatika va axborot texnologiyalari” yo`nalishi va mutaxassisliklariga turli xil dasturlash tillarini o`rgatish mo`ljallangan. Vаqt o‘tishi bilаn kоmpyutеrlаr tоbоrа kеngrоq qo‘llаnа bоshlаdi hаmdа yuqоrirоq dаrаjаdаgi prоtsеdurа dasturlash tillаri pаydо bo‘ldi. Bizga ma`lumki, dasturlash tillarining yuzdan ortiq ko`rinishlari mavjud, lekin qo`llanilishi ko`lamiga qarab C/C++ va C# dasturlash tillari yuqori dasturlash sinfiga mansubdir. Mutaxassislarning fikriga ko`ra C++ dasturlash tili Assembler dasturlash tiliga eng yaqin bo`lib, tezlik jihatidan 10 % ortda qolar ekan. Keyingi yillarda amaliy dasturchilarga juda ko`p integratsion dastur tuzish muhitlari taklif etilmoqda. Bu muhitlar u yoki bu imkoniyatlari bilan bir–biridan farq qiladi. Aksariyat dasturlashtirish muhitlarining fundamental asosi C/C++ tiliga borib taqaladi. Ushbu kurs ishi hozirgi kunda komp’yuterda berilgan masalalarni dasturlash tillari orqali echih va dasturlashda strukturalar, strukturali massivlar va ko’rsatgichli strukturalar bilan ishlash hamda boshqa o’eklar bilan ishlash kabi ko’nikmalarni o`rganishga bag’shlanadi. C++ dasturlash tilida satrlar bilan ishlash Assalomu alaykum hurmatli bo'lajak dasturchi bugun siz bilan satrlar haqida gaplashamiz. Matnni saqlash uchun satrlar ishlatiladi. satrlarni saqlash uchun string tipiga tegishli bo'ladi satrlar qo'shtirnoq ichida yoziladi. Misol uchun: string name = "MasterSherkulov"; Turli o'zgaruvchini yarating stringva unga qiymat bering: string greeting = "Hello World. UzbekDevs"; Satrlardan foydalanish uchun siz qo'shimcha kod sarlavhasini manba kodiga, #include #include using namespace std; int main() { string greeting = "Hello World. MasterSherkulov."; return 0; String ulanishi (bog'lash) +Operatori orqali ikki satrni ulash imkoniyatiga ega bo'lasiz. Bu esa ikki satrni bog'lash deyiladi. string firstName = "Master"; string lastName = "Sherkulov"; string fullName = firstName + lastName; cout << fullName; MasterSherkulov Yuqorida biz Master va Sherkulov ni qo'shdik. lekin bizda natija qo'shib chiqardi MasterSherkulov endi alohida chiqarish uchun qanday amal bararishmizni esda saqlang. Siz tirnoq ( " "yoki ' ') bilan bo'sh joy qo'shishingiz mumkin. string firstName = "Master"; string lastName = "Sherkulov"; string fullName = firstName + " " + lastName; cout << fullName; Master Sherkulov C++ dasturlash tilida satr obyekt bo'lib, u satrlarda ma'lum operatsiyalarni bajarish uchun bajarishi mumkin bo'lgan funksiyalarni o'z ichiga oladi. Unutmang funksiyalardan foydalanishingiz uchun ma'lum bir tegishli funksiyalardan foydalanishingiz zarur bo'ladi. kutubxona siz ham yaratishingiz mumkin lekin sizning yaratgan kutubxona standart bo'lmaydi. boshqa IDE larda yoki dasturlarda ishlamasligi mumkin. Masalan, siz append()funktsiyani yordamida satrlarni bog'lashingiz mumkin: string firstName = "Master "; string lastName = "Sherkulov"; string fullName = firstName.append(lastName); cout << fullName; Siz hohlagan shulardan +yoki append() biridan foydalanishingiz mumkin. Bulardan asosiy farqi shundaki biri funksiya hisoblanadi va bu funksiya ancha tezroq ishlaydi. Siz sinov uchun + dan foydalanishingiz mumkin. Satr uzunligi. Qator uzunligini olish uchun length()funktsiyadan foydalaning : string txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; cout << "Bu txt satri uzunligi: " << txt.length(); Bu txt satri uzunligi: 26 Eslatma: Satr size()uzunligini olish uchun funktsiyadan foydalanadigan ba'zi C ++ dasturlarini ko'rishingiz mumkin . Bu shunchaki taxallus length(). Foydalanishni xohlasangiz length() yoki size() string txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; cout << "Bu txt satri uzunligi: " << txt.size(); Bu txt satri uzunligi: 26 Satrni kiritish. >> va cinbirga qo'llab satrlarni kiritish imkoniyati mavjud. string firstName; cout << "Ismingizni kiriting: "; cin >> firstName; // bunda faqat bitta satr ni oladi cout << "Sizning ismingiz: " << firstName; Agar siz yuqoridagi kodni ishga tushurib Master Sherkulov ni kiritsangiz chiqarish vaqtida siz faqat Master so'zi chop etib chiqaradi. bunday holarni bartaraf qilish uchun. getline() funsiyasidan foydalanishingiz mumkin. Bunda bo'sh ' ' satrni ham oladi. Unutmang getline() faqat bitta qatorni o'qishgina mujjallangan enter tugmasini bosganingizdagina kiritish tugallanadi va fist name deb usha qatorni qabul qiladi. C++ da satrlar bilan ishlashni qulaylashtirish uchun string sinfi kiritilgan. string sinfi satrlarida satr oxirini '\0' belgisi belgilamaydi. Standart kutubxonadagi string sinfidan foydalanish uchun C tilida kompilyatorlarda Eng afzali, o'zingiz ishlatayotgan kompilyator bilan yaxshilab tanishib chiqing. Satrlar bilan ishlovchi asosiy funksiyalar bilan tanishib chiqamiz. Satr хususiyatlarini aniqlash uchun quyidagi funksiyalardan foydalanish mumkin: unsigned int size() const; // satr o’lchami unsigned int length() const; // satr elеmеntlar sоni unsigned int max_size() const; // satrning maksimal uzunligi unsigned int capacity() const; // satr egallagan хоtira hajmi bool empty() const; // satrning bo’shligini aniqlash Satrning uzunligini aniqlash uchun length() yoki size() funksiyalaridan foydalanish mumkin. Misol: Satr uzunligini aniqlash dasturi #include #include int main() string s; cout << "Satr kiriting" << endl; getline(cin, s); cout << "Siz kiritgan satr " << s.length() << " ta belgidan iborat"; cout << "Siz kiritgan satr " << s.size() << " ta belgidan iborat"; system ("pause"); return 0; Satr uzunligini o'zgartirish uchun resize funksiyasidan foydalaniladi. 1) void resize ( size_t n, char c ); 2) void resize ( size_t n ); #include #include int main() size_t n; string str ("C++ matn kodi so`zi"); cout << str << endl; // satr uzunligini aniqlash n = str.size(); // satr uzunligini 2 ta belgiga uzaytirish str.resize (n + 2, '+'); cout << str << endl; //satr uzunligini o'zgartirish str.resize(14); cout << str << endl; system ("pause"); return 0; void clear(); - funksiyasi satrni tozalash (to'liq o'chirish) uchun ishlatiladi. bool empty() const; - funksiyasi satrni bo'shligini tekshirish uchun ishlatiladi. Agar satr bo'sh bo'lsa, true qiymat qaytaradi. Satrning biror qismidan nusxa olish string& assign ( const string &str ); Satrga str o'zgaruvchisidagi satrning to'liq nusxasini olish. string& assign ( const string& str, size_t pos, size_t n ); Satrga str o'zgaruvchisidagi satrning pos o'rindagi belgisidan boshlab n ta belgi nusxasini olish. string& assign ( const char* s, size_t n ); string toifasidagi satrga char toifasidagi satrning n ta belgisi nusxasini olish. string s1, s2, s3; s1 = "tami.uz"; s2.assign(s1); // s2 = "tami.uz" s3.assign(s1, 0, 4); // s3 = "tami" append funksiyasining assigndan farqi satrning davomiga satr qismining qo'shishidadir. string& append ( const string& str ); string& append ( const string& str, size_t pos, size_t n ); string& append ( const char* s, size_t n ); Satrdan nusxa olish #include #include int main() string s1, s2, s3; s1 = "rdvatami"; s2.assign(s1, 0, 2); // s2 = "rd" s3.assign(s1, 4, 4); // s3 = "tami" cout << s1 << endl; cout << s2 << endl; cout << s3 << endl; s1 = s3 + s2; // s1 = "tamird" cout << s1 << endl; s2.append(s3); // s2 = " rdvatami " cout << s2 << endl; system ("pause"); return 0; char toifasidagi satrni string toifasiga o'tkazish. clear funksiyasiga misol. #include #include int main() char c[100]; string s = "Boshlang'ich qiymat"; s.clear(); // s ning qiymati tozalandi cout << "Satr kiriting" << endl; cin.getline(c, sizeof(c)); // s satriga char toifasidagi c satrini nusxasini olish s.assign(c, strlen(c)); cout << s << endl; system ("pause"); return 0; string toifasidagi satrni char toifasiga o'tkazish string toifasidagi satrni char toifasiga o'tkazish uchun c_str yoki data funksiyalaridan foydalanish mumkin. const char * c_str() const; const char * data() const; Bularning bir - biridan farqi, data funksiyasida satr oxiriga '\0' satr oxiri belgisi qo'shilmaydi. #include #include #include int main() char c[100]; string s; cout << "Satr kiriting" << endl; getline(cin, s); strcpy(c, s.c_str()); cout << c << endl; system ("pause"); return 0; Satrning biror qismini o’ chirish erase(unsigned int pos=0, unsigned int n=npos); erase funksiyasi satrni pos o'zgaruvchisida ko'rsatilgan o'rindan boshlab n ta belgini o'chiradi. Agar nechta belgi o'chirilishi n ko'rsatilmagan bo'lsa, pos o'zgaruvchisida ko'rsatilgan o'rindan boshlab satr oxirigacha o'chiriladi. Agar pos va n ko'rsatilmagan bo'lsa, satr to'liq o'chiriladi. #include #include int main() string s = "Assalomu alaykum bo'lajak dasturchilar"; cout << s << endl; // 16 - belgidan boshlab 9 ta belgini o'chirish s.erase(16, 9); cout << s << endl; // Assalomu alaykum dasturchilar - chiqadi // s = "Assalomu alaykum dasturchilar"; // 16 - belgidan boshlab satr oxirigacha o'chirish s.erase(16); cout << s << endl; // Assalomu alaykum - chiqadi s.erase(); cout << s << endl; // bo'sh satr chiqariladi system ("pause"); return 0; Satrni satr orasiga qo'shish Biror satrga boshqa satrning istalgan qismini qo'shish uchun insert funksiyasidan foydalaniladi. insert(unsigned int pos1, const string &str); Satrga pos1 o'rindan boshlab, str satrini qo'shish. insert(unsigned int pos1, const string &str, unsigned int pos2,unsigned int n); Satrga pos1 o'rindan boshlab, str satrining pos2 o'rnidan boshlab n ta belgini qo'shish. insert(unsigned int pos1, const char *str, int n); Satrga pos1 o'rindan boshlab, char toifasidagi satrning n ta belgisini qo'shish. #include #include int main() string s = "Assalomu alaykum do'stlar"; string c = "Merhibon_va_muhtarama_ayollar"; char p[] = "Salomlashish odobi"; cout << s << endl; // 17 - belgidan boshlab yangi satrni qo'shish s.insert(17, "aziz_"); cout << s << endl; // Assalomu alaykum aziz do'stlar // c satridan 8 - belgidan boshlab 10 ta belgi qo'shish s.insert(21, c, 8, 10); cout << s << endl; // Assalomu alaykum aziz_va_muhtar_do'stlar // char toifasidagi satrdan 13 ta belgini qo'shish s.insert(0, p, 13); cout << s << endl; system ("pause"); return 0; Satr qismini almashtirish Satrning biror qismini almashtirish kerak bo'lsa, replace funksiyasidan foydalanish mumkin. replace (unsigned int pos1, unsigned int n1, const string &str); replace (unsigned int pos1, unsigned int n1, const string & str, unsigned int pos2, unsigned int n2); replace (unsigned int pos1, unsigned int n1, const char *str, int n); replace funksiyasi insert kabi ishlaydi, faqat qo'shilishi kerak bo'lan satrni pos1 - o'rindan boshlab n1 ta belgi o'rniga qo'shadi. 2 ta satrni to'la almashtirish uchun swap funksiyasi ishlatilad i. #include #include using namespace std; int main() string s = "Assalomu alaykum do'stlar"; string c = "Merhibon va muhtarama ayol"; cout << s << endl; // 17 - belgidan boshlab 5 ta belgi o'rniga c satrni qo'shish s.replace(17, 5, c); cout << s << endl; s.swap(c); // 2 ta satrni to'la almashtirish cout << s << endl; s.replace(0, 0, c, 0, 17); s.erase(25); cout << s << endl; system ("pause"); return 0; String 1C:Enterprise 8 tizimidagi ibtidoiy ma'lumotlar turlaridan biridir.Tiri bo'lgan o'zgaruvchilar chiziq matnni o'z ichiga oladi. O'zgaruvchan qiymatlarni yozing chiziq qo'sh tirnoq ichiga olinadi. Bir nechta o'zgaruvchilar bu turdagi katlanishi mumkin. Per1 = "So'z 1" ; Per2 = "Word 2" ; Per3 = Per1 + "" + Per2; Natijada Per3 muhim bo'ladi" 1-so'z 2-so'z. Bundan tashqari, 1C: Enterprise 8 tizimlari satrlar bilan ishlash funktsiyalarini ta'minlaydi. Asosiylarini ko'rib chiqing: EnterString(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — funktsiya foydalanuvchi turidagi o'zgaruvchining qiymatini belgilashi mumkin bo'lgan dialog oynasini ko'rsatish uchun mo'ljallangan Chiziq. Parametr <Строка> talab qilinadi va kiritilgan satr yoziladigan o'zgaruvchining nomini o'z ichiga oladi. Parametr <Подсказка> ixtiyoriy - dialog oynasining sarlavhasi. Parametr <Длина> ixtiyoriy, kiritish satrining maksimal uzunligini bildiradi. Standart nolga teng, bu cheksiz uzunlikni bildiradi. Parametr <Многострочность> ixtiyoriy. Ko'p qatorli matn kiritish rejimini belgilaydi: True — qator ajratgichlar bilan ko'p qatorli matn kiritish; False - oddiy qatorni kiriting. Unicode-dagi belgilar kodini bilib, satr kiritilishi mumkin: Belgi(<КодСимвола>) — Kod raqam sifatida kiritiladi. Harf= Belgi(1103 ); // I Belgining kodini topishga imkon beruvchi teskari funksiya ham mavjud. SymbolCode(<Строка>, <НомерСимвола>) — Belgilangan belgining Unicode raqamini raqam sifatida qaytaradi. Matn registrlarini o'zgartirish funktsiyalari: VReg(<Строка>) - Satrdagi barcha belgilarni bosh harfga o'zgartiradi. HReg(<Строка>) - Satrdagi barcha belgilarni kichik harflarga o'zgartiradi. TReg(<Строка>) - satrning barcha belgilarini sarlavha registriga aylantiradi. Ya'ni, barcha so'zlardagi birinchi harflar bosh harfga, qolgan harflar esa kichik harfga aylantiriladi. Satrdagi belgilarni qidirish va almashtirish funktsiyalari: Topmoq(<Строка>, <ПодстрокаПоиска>) - qidiruv satrining paydo bo'lishining belgi raqamini topadi. Misol uchun: Toping ("String", "ko'z"); // 4 StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) — qidiruv pastki satrining paydo bo'lishining belgi raqamini topadi, hodisa raqami mos keladigan parametrda ko'rsatiladi. Bunday holda, qidiruv soni parametrda ko'rsatilgan belgidan boshlanadi Boshlanish pozitsiyasi. Qidiruv satrning boshidan yoki oxiridan mumkin. Misol uchun: 4-raqamli yozuv = StrFind( "Himoyaviylik", "o" , Qidiruv yoʻnalishi. Birinchidan, 1 , 4 ); // 7 StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) Manba satrida qidiruv satrining barcha takrorlanishini topadi va uni almashtiriladigan pastki qator bilan almashtiradi. StrReplace("String" , "ko'z" , "" ); // sahifa bo'sh qator (<Строка>) - satrda muhim belgilar mavjudligini tekshiradi. Agar muhim belgilar bo'lmasa yoki umuman belgilar bo'lmasa, qiymat qaytariladi To'g'ri. Aks holda - Yolg'on. StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) – manba qatoridagi qidiruv pastki qatorining takrorlanish sonini hisoblab chiqadi. StrNumberOccurrences ( "O'qing, o'qing va yana o'qing", "o'rganish" , "" ) ; // 3 StrTemplate(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — parametrlarni qatorga raqam bilan almashtiradi. Satrda quyidagi shaklning almashtirish belgilari bo'lishi kerak: "% 1..% N". Markerlarni raqamlash 1 dan boshlanadi. Agar parametr qiymati Aniqlanmagan, bo'sh satr almashtiriladi. StrPattern ( "1-variant = %1, 2-variant = %2", "1" , "2" ) ; // Parametr 1= 1, Parametr 2 = 2 String konvertatsiya qilish funktsiyalari: sher(<Строка>, <ЧислоСимволов>) satrning birinchi belgilarini qaytaradi. To'g'ri(<Строка>, <ЧислоСимволов>) - satrning oxirgi belgilarini qaytaradi. chorshanba(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - uzunlikdagi qatorni qaytaradi<ЧислоСимволов>, belgi bilan boshlanadi<НачальныйНомер>. qisqartma(<Строка>) —birinchisining chap tomonidagi ahamiyatsiz belgilarni kesib tashlaydi muhim belgi mos ravishda. abbr(<Строка>) - satrdagi oxirgi muhim belgining o'ng tomonidagi ahamiyatsiz belgilarni kesib tashlaydi. Abbrl(<Строка>) - satrdagi birinchi muhim belgining chap tomonidagi va oxirgi muhim belgining o'ng tomonidagi ahamiyatsiz belgilarni kesib tashlaydi. StrGetString(<Строка>, <НомерСтроки>) – ko‘p qatorli qatorni raqam bo‘yicha oladi. Boshqa xususiyatlar: StrLength(<Строка>) - satrdagi belgilar sonini qaytaradi. StrNumber of Lines(<Строка>) - ko'p qatorli satrlar sonini qaytaradi. Agar oldingi satrdan yangi satr belgisi bilan ajratilgan satr yangi hisoblanadi. StrCompare(<Строка1>, <Строка2> ) - ikki qatorni katta-kichik harflarni sezmasdan solishtiradi. Funktsiya ob'ekt kabi ishlaydi Qiymatlarni solishtirish. Qaytaradi: 1 - agar birinchi qator ikkinchisidan katta bo'lsa -1 - agar ikkinchi qator birinchisidan katta bo'lsa 0 - agar satrlar teng bo'lsa StrCompare("Birinchi qator" , "Ikkinchi qator" ); // bitta String turi barcha dasturlash tillarida uchraydi. Bu ibtidoiy va 1C da u bilan ishlash uchun juda ko'p funktsiyalar mavjud. Ushbu maqolada biz batafsilroq ko'rib chiqamiz turli yo'llar bilan 1C 8.3 va 8.2 da string turlari bilan misollar bilan ishlash. Chiziq Har qanday turdagi o'zgaruvchini satrga aylantirish uchun bir xil nomdagi "String ()" funksiyasi mavjud. Kirish parametri o'zgaruvchining o'zi bo'ladi, uning satr tasviri olinadi. String(False) // "Yo'q"ni qaytaradi String (12345) // "12 345" ni qaytaradi String(CurrentDate()) //"21.07.2017 11:55:36" Satrga faqat ibtidoiy turlarni emas, balki boshqa, masalan, katalog va hujjatlarning elementlarini ham aylantirish mumkin. Qisqartirilgan LP, qisqartirilgan L, qisqartirilgan P Bu funksiyalarning kirish parametrlari qator tipidagi o‘zgaruvchidir. Funktsiyalar ahamiyatsiz belgilarni (bo'shliqlar, karetaning qaytishi va boshqalar) olib tashlaydi: chap va o'ng tomondan, faqat chap tomondan va faqat o'ngdan. abbrl("Ikkala tomondagi bo'shliqlar o'chiriladi") // "Ikkala tomondagi bo'shliqlar o'chiriladi" abbr("Ikkala tomondagi bo'shliqlar o'chiriladi") // "Chapdagi bo'shliqlar o'chiriladi" abbr(" Ikkala tomondagi bo'shliqlar o'chiriladi ") // "O'ngdagi bo'shliqlar o'chiriladi" Arslon, o'ng, o'rta Bu funksiyalar qatorning bir qismini kesish imkonini beradi. Lion() funksiyasi belgilangan uzunlikdagi satrning chap tomonidagi qismini qaytaradi. "O'ng ()" funktsiyasi shunga o'xshash, ammo kesish o'ngda amalga oshiriladi. "Wed()" funksiyasi qator tanlanadigan belgilar raqamini va uning uzunligini belgilash imkonini beradi. Lion("String o'zgaruvchisi", 4) // "Stro" ni qaytaradi Right("String o'zgaruvchisi", 7) // "o'zgaruvchi"ni qaytaradi avg("String o'zgaruvchisi", 2, 5)// "troko" ni qaytaradi StrLength Funktsiya satr o'zgaruvchisi tarkibidagi belgilar sonini aniqlaydi. StrLength("Word") // bajarilish natijasi 5 raqami bo'ladi Topmoq Funktsiya satr o'zgaruvchisida satrning bir qismini qidirish imkonini beradi. Qaytish qiymati topilgan satr boshining o'rnini ko'rsatadigan raqam bo'ladi. Hech qanday moslik topilmasa, nol qaytariladi. Qidiruv katta-kichik harflarga sezgir ekanligini unutmang. Agar asl satrda qidiruv satrining bir nechta takrorlanishi bo'lsa, funktsiya birinchi takrorlanishning boshlanishini qaytaradi. Find("bir, ikki, bir, ikki, uch", "ikki") // funksiya 6 raqamini qaytaradi Bo'sh qator Ushbu funktsiyadan foydalanish satr bo'sh yoki yo'qligini aniqlash imkonini beradi. Bo'sh joy, karetaning qaytishi va boshqalar kabi ahamiyatsiz belgilar hisobga olinmaydi. EmptyString("Vasiliy Ivanovich Qovoq") // funksiya False qiymatini qaytaradi EmptyString(" ") // funksiya True qaytaradi VReg, NReg, TReg Bu funksiyalar qator o‘zgaruvchilarni solishtirish va konvertatsiya qilishda juda foydali. "Vreg()" asl satrni katta harf bilan, "HReg()" kichik harf bilan qaytaradi va "TReg()" uni har bir alohida so'zning birinchi belgisi bilan bo'ladigan tarzda formatlaydi. Bosh harf, va keyingi barchalari kichik bilan. VReg("GENERAL DIRECTOR") // qaytariladigan qiymat - "GENERAL DIRECTOR" HReg("GENERAL DIRECTOR") // qaytariladigan qiymat - "CEO" TReg("GENERAL DIRECTOR") // qaytariladigan qiymat - "Bosh direktor" StrReplace Bu funktsiyani almashtirishga o'xshaydi matn muharrirlari. U qator oʻzgaruvchilarda bir belgi yoki belgilar toʻplamini boshqasiga almashtirish imkonini beradi. StrReplace("qizil, oq, sariq", ",", ";") // "qizil"ni qaytaradi; Oq; sariq" strNumberRows Funktsiya matn o'zgaruvchisida karetaning qaytishi bilan ajratilgan qatorlar sonini aniqlash imkonini beradi. Quyidagi misoldagi tsikl uchta aylanadan o'tadi, chunki StrNumberRows funktsiyasi 3 qiymatini qaytaradi: Ind \u003d 1 uchun StrNumber of Lines ("Line1" + Symbols.PS + "String2" + Symbols.PS + "Line3") Loop <тело цикла> EndCycle; StrGetString Bu funksiya ko'p qatorli matn bilan xuddi oldingisi kabi ishlaydi. Bu matn o'zgaruvchisidan ma'lum bir qatorni olish imkonini beradi. StrGetString("String1" + Symbols.PS + "String2" + Symbols.PS + "String3", 2) // "2-qator" ni qaytaradi StrNumberOccurrences Funktsiya qidirilayotgan satrda belgi yoki pastki qatorning takrorlanish sonini hisoblaydi. StrNumberInstallations("a;b;c;d; ", ";") // funksiya 4 raqamini qaytaradi Symbol va SymbolCode Bu funksiyalar belgini uning Unicode kodi bo'yicha olish, shuningdek, ushbu kodni belgining o'zi bilan aniqlash imkonini beradi. SymbolCode("A") // funksiya 1 040 raqamini qaytaradi SymbolCode (1040) // funktsiya "A" ni qaytaradi Satrlar bilan ishlashda tez-tez bajariladigan vazifalar Satrlarni birlashtirish Bir nechta satrlarni birlashtirish (birlashtirish) uchun qo'shish operatoridan foydalaning. "1-qator" + "2-qator" //ikkita qatorni qo'shish natijasi "1-qator 2-qator" bo'ladi. Konvertatsiya turi Turni satrga, masalan, lug‘at elementiga, raqamga va hokazolarga havolani aylantirish uchun “String ()” funksiyasidan foydalanish kifoya. "ShortLP()" kabi funktsiyalar ham o'zgaruvchilarni satrga aylantiradi, lekin darhol ahamiyatsiz belgilarni kesib tashlaydi. String (1000) // "1000" ni qaytaradi E'tibor bering, raqamni satrga o'zgartirganda, dastur avtomatik ravishda mingni ajratib turadigan bo'sh joy qo'shadi. Bunga yo'l qo'ymaslik uchun siz quyidagi tuzilmalardan foydalanishingiz mumkin: StrReplace(String(1000),Characters.NPP,"") // "1000"ni qaytaradi String(Format(1000,"CH=")) // "1000"ni qaytaradi Satrdagi iqtiboslar Ko'pincha siz satr o'zgaruvchisiga tirnoq qo'yish zarurati bilan shug'ullanishingiz kerak bo'ladi. Bu konfiguratorda yozilgan so'rov matni yoki shunchaki o'zgaruvchi bo'lishi mumkin. Ushbu muammoni hal qilish uchun siz ikkita tirnoq belgisini o'rnatishingiz kerak. Header = String("Horns and Hooves LLC - bu biz!") // "Roga and Hooves LLC - biz!" Ko'p qatorli, qator uzilishi Ko'p qatorli matn yaratish uchun unga satrlarni ajratish belgilarini (Symbols.PS) qo'shish kifoya MultilineText = "Birinchi qator" + Belgilar.PS + "Ikkinchi qator" Bo'shliqlarni qanday olib tashlash mumkin O'ng yoki chapdagi bo'shliqlarni olib tashlash uchun siz "Stretch()" funksiyasidan foydalanishingiz mumkin (shuningdek, "Scrpt()" va "ScreenP()"): StringWithoutSpaces = ShortLP(" Ko'p harf ") // funktsiya "Ko'p harf" qiymatini qaytaradi Agar raqamni satrga aylantirgandan so'ng, siz uzilmaydigan bo'shliqlarni olib tashlashingiz kerak bo'lsa, quyidagi konstruktsiyadan foydalaning: StringWithoutSpaces = StrReplace(String(99999),Characters.NPP,"") // "99999"ni qaytaradi Bundan tashqari, dasturchilar ko'pincha matn o'zgaruvchisining barcha bo'shliqlarini olib tashlash yoki boshqa belgi bilan almashtirish imkonini beruvchi quyidagi konstruktsiyadan foydalanadilar: StringWithoutSpaces = StrReplace(" salom", " " ,"") // "salom"ni qaytaradi Iplarni bir-biri bilan solishtirish Siz atamalarni odatdagi tenglik belgisi bilan solishtirishingiz mumkin. Taqqoslash katta-kichik harflarga sezgir. "salom" = "salom" // yolg'onni qaytaradi "Salom" = "Salom" // "To'g'ri" ni qaytaradi "Salom" = "Alvido" // False qiymatini qaytaradi Looking Glassdan eslatmalar 18/08/2014 Satrlar bilan ishlash uchun yangi funksiyalar 8.3.6.1977 versiyasida amalga oshirilgan. Biz satrlar bilan ishlash uchun funktsiyalar to'plamini kengaytirdik. Biz buni sizga string ma'lumotlarini tahlil qilish uchun yanada ilg'or vositalarni taqdim etish uchun qildik. Yangi funktsiyalar matnni tahlil qilishning texnologik vazifalarida qulay va foydali bo'ladi. Formatlangan shakldagi ma'lumotlarni o'z ichiga olgan matnni tahlil qilish bilan bog'liq vazifalarda. Bu uskunadan olingan ba'zi fayllarni tahlil qilish yoki, masalan, texnologik jurnalni tahlil qilish bo'lishi mumkin. Yangi funksiyalar bajaradigan barcha amallarni siz oldin bajarishingiz mumkin edi. O'rnatilgan tilda yozilgan ko'p yoki kamroq murakkab algoritmlar yordamida. Shunday qilib, yangi funktsiyalar sizga mutlaqo yangi imkoniyatlar bermaydi. Biroq, ular sizga kod miqdorini kamaytirish, kodni sodda va tushunarli qilish imkonini beradi. Bundan tashqari, ular sizga harakatlarning bajarilishini tezlashtirishga imkon beradi. Chunki platformada amalga oshirilgan funksiyalar, albatta, o'rnatilgan tilda yozilgan shunga o'xshash algoritmdan tezroq ishlaydi. Format funktsiyasi StrTemplate() Bu funksiya parametrlarni satrga almashtiradi. Bunday konvertatsiya qilish zarurati ko'pincha, masalan, ogohlantirish xabarlarini ko'rsatishda paydo bo'ladi. Ushbu funktsiyaning sintaksisi quyidagicha: StrTemplate(<Шаблон>, <Значение1-Значение10>) <Шаблон>parametr tasvirlarini almashtirish uchun qatordir. <Значение1> , ... <Значение10>- bu parametrlar (maksimal - o'nta), ularning tasvirlari qatorga almashtirilishi kerak. Shablonda almashtirishni amalga oshirmoqchi bo'lgan aniq joyni belgilash uchun %1, ... %10 ko'rinishdagi markerlardan foydalanish kerak. Shablonga kiritilgan markerlar soni va qiymatlarni o'z ichiga olgan parametrlar soni mos kelishi kerak. Masalan, bunday operatorni bajarish natijasi: qator bo'ladi: 2-qatordagi maʼlumotlar xatosi (Sana turini talab qiladi) String funktsiyasi StrCompare() Bu funksiya ikki qatorni katta-kichik harflarni sezmasdan solishtiradi. Masalan, bu kabi: Ob'ektni ishlatishdan oldin xuddi shu amalni bajarishingiz mumkin Qiymatlarni olishtirish: Biroq, yangi funksiyadan foydalanish osonroq ko'rinadi. Va bundan tashqari, ob'ektdan farqli o'laroq, funktsiya Qiymatlarni solishtirish, ichida ishlaydi nozik mijoz, va veb-mijozda. String funktsiyalari StrBeginsC(), StrEndsTo() Bu funksiyalar satr belgilangan pastki satr bilan boshlanishini yoki satr belgilangan pastki qator bilan tugashini aniqlaydi. Ushbu funktsiyalarning algoritmini o'rnatilgan tilda amalga oshirish qiyin emas, lekin ularning mavjudligi sizga toza va tushunarli kod yozish imkonini beradi. Va ular tezroq ishlaydi. Masalan, ularni operatorda ishlatish qulay Agar: Download 57,79 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling