Căutați funcții pentru șiruri în 1s. Funcții noi pentru lucrul cu șiruri. Funcție pentru lucrul cu șiruri StrCompare ()

Există puține mecanisme pentru lucrul cu șiruri de caractere în interogările 1C. În primul rând, liniile pot fi adăugate. În al doilea rând, puteți lua un șir dintr-un șir. În al treilea rând, șirurile pot fi comparate, inclusiv după model. Probabil asta este tot ce puteți face cu șiruri.

Concatenarea șirurilor

Pentru a adăuga șiruri într-o interogare, utilizați operația „+”. Se pot adăuga numai șiruri de lungime limitată.

SELECȚIAȚI „Nume:" + Contrapărți. Nume AS Coloană1 DIN Director. Contrapărți CA CONTRAPARTI UNDE Contrapărți. Link = & Link

Funcția de șir

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

Analog al funcției Environment () din modelul obiect. Funcția Substring () poate fi aplicată datelor de tip șir și vă permite să selectați un fragment <Строки> începând cu numărul caracterului <НачальнаяПозиция> (caracterele din șir sunt numerotate de la 1) și lungime <Длина> personaje. Rezultatul evaluării funcției are un tip de șir de lungime variabilă, iar lungimea va fi considerată nelimitată dacă <Строка> are lungime și parametri nelimitați <Длина> nu este constantă sau depășește 1024.

Dacă lungimea șirului este mai mică decât cea specificată în al doilea parametru, atunci funcția va returna un șir gol.

Atenţie! Nu este recomandată utilizarea funcției SUBSTRING () pentru a converti șiruri de lungime nelimitată în șiruri de lungime limitată. Este mai bine să utilizați în schimb o operație de turnare ca EXPRESS ().

Funcție ca

Dacă trebuie să ne asigurăm că un atribut șir îndeplinește anumite criterii, îl comparăm:

SELEGEȚI Contrapărți. Nume AS Coloană1 DIN Director. Contrapărți CA CONTRAPARTI UNDE Contrapărți. Nume = "Gazprom"

Dar dacă doriți o comparație mai complicată? Nu doar egalitatea sau inegalitatea, ci ca un anumit tipar? Tocmai pentru asta a fost creată funcția LIKE.

LIKE - Operator pentru verificarea unui șir ca un model. Analog LIKE în SQL.

Operatorul LIKE vă permite să comparați valoarea expresiei specificată în stânga acesteia cu șirul șablon specificat în dreapta. Valoarea expresiei trebuie să fie de tip șir. Dacă valoarea expresiei se potrivește cu modelul, operatorul va întoarce TRUE, altfel va fi FALS.

Următoarele caractere din șablonul șablon sunt caractere de serviciu și au o semnificație diferită de caracterul șir:

  • % (procent): o secvență care conține orice număr de caractere arbitrare;
  • _ (subliniere): un caracter arbitrar;
  • [...] (în paranteza patrata unul sau mai multe caractere): orice caracter unic listat între paranteze drepte. Enumerarea poate conține intervale, de exemplu, a-z, adică un caracter arbitrar inclus în interval, inclusiv capetele intervalului;
  • [^…] (Între paranteze drepte un semn de negație urmat de unul sau mai multe caractere): orice caracter unic, cu excepția celor enumerate după semnul de negare.

Orice alt simbol înseamnă el însuși și nu are nicio semnificație suplimentară. Dacă este necesar să scrieți unul dintre personajele listate ca pe sine, atunci trebuie să fie precedat de<Спецсимвол>... Se<Спецсимвол>(orice caracter care se potrivește) este definit în aceeași declarație după cuvânt cheie SIMBOL SPECIAL.

LA capabilități de bază limbajul de programare este denumit de obicei lucrul cu numerele și șirurile. De obicei, aceste caracteristici sunt codificate în codul compilatorului (sau sunt implementate clasele „de bază” ale limbajului de programare).

În 1C, capacitatea de a lucra cu șiruri este programată în platformă. Astăzi vom lua în considerare caracteristicile de lucru cu șiruri 1C în programe în limbajul 1C încorporat.

Valoarea liniei 1C

1. Să începem cu cel mai simplu. Crearea unei variabile și atribuirea unei valori constante a șirului arată astfel în 1C:

Variabilă = "Bună ziua lume!";

Dacă trebuie să specificați un ghilimel într-o valoare de șir constantă 1C, atunci trebuie să îl dublați ""

Variabilă = "Bună ziua", "lume" "!";

2. Împachetarea liniei 1C poate fi specificată în două moduri simultan. Primul folosește simbolul |

Variabilă = "Bună ziua,
| pace! ";

Al doilea este utilizarea enumerării sistemului Symbols. Vă permite să adăugați atât întreruperi de linie 1C, cât și alte caractere neprimabile, cum ar fi TAB.

Variable = "Hello" + Symbols.PS + "world!";

3. Configurările în 1C pot fi dezvoltate nu numai pentru o limbă (rusă, engleză sau alta) - ci simultan pentru mai multe limbi. În acest caz, limba utilizată în prezent este selectată în partea de jos a ferestrei 1C.

Lista limbilor se află în fereastra de configurare din ramura General / Limbi. Fiecare limbă are un identificator scurt, cum ar fi ru sau ing.

Este clar că atunci când programăm o astfel de configurație, liniile 1C pot fi, de asemenea, multilingve. Pentru a face acest lucru, este posibil să creați o astfel de linie 1C specificând prin; opțiuni după identificatorul de limbă:

Variable = "ru =" "Hello, world!" "; En =" "Hello, world!" "";

Dacă utilizați șirul 1C format în acest mod ca de obicei, atunci va fi ceea ce este scris în el. Pentru ca sistemul să îl împartă în două opțiuni și să o utilizeze pe cea dorită, trebuie să utilizați funcția HStr ():

// corect pentru configurații bilingve
Raport (НStr (Variabilă));

Accesorii cu linie tip 1C

O recuzită este un câmp al unei referințe / documente 1C. Acesta diferă de o variabilă într-un program 1C prin faptul că tipul său (număr, șir 1C etc.) este indicat cu precizie pentru recuzită. Dacă trebuie să analizăm ce sunt recuzita, consultați lecția.

Dacă specificați tipul de atribut - linia 1C, atunci trebuie să specificați suplimentar parametrii.

Șirurile 1C au o lungime nelimitată (specificată ca lungime = 0) și o lungime limitată, indicând numărul exact de caractere. Liniile 1C de lungime nelimitată sunt stocate într-un separat Tabel SQL prin urmare, utilizarea lor este mai puțin productivă decât limitată.

De aceea, utilizarea șirurilor 1C de lungime nelimitată are propriile sale limitări - nu este posibil să le folosiți peste tot. De exemplu, nu poate fi folosit ca număr de document, cod director, dimensiune.

Lucrul cu șiruri 1C

Există mai multe funcții încorporate ale platformei 1C pentru lucrul cu șiruri.

  • SocrLP („Incredibil, dar adevărat!”)
    Elimină spațiile suplimentare de pe linia 1C. Poate fi, de asemenea, utilizat pentru a converti orice tip în șir 1C (de exemplu, numere).
  • Variabilă = "Vasya" + SokrLP ("plus") + "Olya"; // va fi „Vasya plus Olya”
    Un exemplu de însumare a mai multor valori de șir 1C. Rezultatul va fi o linie de 1C.
  • Variabilă = Leu („Muzică”, 2); // va fi „Mu”
    Variabilă = miercuri („Muzică”, 2, 2); // va fi „shl”
    Variabilă = Dreapta („Muzică”, 2); // va fi „ka”
    Diverse opțiuni pentru obținerea unui sub șir dintr-un șir 1C.
  • Variabilă = Găsire („Muzică”, „Shl”); // va fi 3
    Căutați un subșir în șirul 1C, începând de la caracterul 1.
  • Variabilă = StrLength („Muzică”); // va fi 6
    Returnează numărul de caractere din linia 1C.
  • Raportați („Bună ziua”) // în fereastra de mesaje din partea de jos a ferestrei 1C
    Avertisment („Bună ziua”) // fereastră pop-up
    State („Bună ziua”) // în linia de stare din stânga jos
    .

Aruncarea obiectelor pe linia 1C

După cum știți, cel mai popular format pentru schimbul de informații structurate în prezent este XML. Chiar ultima versiune DOMNIȘOARĂ Office Wordși Excel salvează fișiere în acest format (docx și, respectiv, xlsx, modifică extensia în zip, deschideți în arhivator).

Platforma 1C pentru schimbul de date oferă mai multe opțiuni, dintre care principala este și XML.

1. Cea mai simplă metodă este utilizarea funcției Abreviere () sau Șir (). Puteți utiliza funcția REPRESENTARE () în corpul interogării. Rezultatul acțiunii lor este același - generează o reprezentare șir a oricărui obiect 1C pentru utilizator.

Pentru o carte de referință, acesta va fi numele său implicit. Pentru un document - numele documentului, numărul și data.

2. Orice obiect 1C (cu restricții) poate fi convertit în XML și invers. Procesul de conversie se numește serializare.

ViewStringXml = XMLString (Valoare); // obțineți XML din valoarea 1C
Value1C = XMLValue (Type ("ReferenceLink.Nomenclature"), ViewStringXml); // obțineți valoarea 1C din șirul XML, trebuie să specificați tipul 1C care ar trebui primit

3. Există o modalitate a platformei 1C de a converti orice obiect 1C într-un șir. El a migrat de la versiunea 1C 7.7. Acest format nu este înțeles de alte programe, dar este înțeles de un alt 1C, ceea ce face ușoară utilizarea acestuia pentru schimbul între bazele 1C.

String = ValueVSStringInter (Value1C); // obțineți linia 1C din valoarea 1C
ValueVFile ("C: \ MyFile.txt", Value1C); // o altă opțiune, obținem un fișier cu un șir salvat din valoarea 1C
Value1C = ValueFromStringInternal (String); // înapoi de la linia 1C
Value1C = ValueOfFile ("C: \ MyFile.txt"); // înapoi din fișier

Editarea liniilor 1C pe formular

Pe lângă faptul că lucrez cu șiruri 1C într-un program 1C, desigur, aș dori ca utilizatorul să le poată edita. Există mai multe posibilități pentru aceasta:

1. Cel mai simplu mod este de a solicita introducerea liniei 1C la cerere. Această metodă este utilizată la predarea programării 1C, în viață este folosită mult mai rar (dar aplicată!).

Variabilă = "";
Șir = EnterValue (Variabilă, „Introduceți numele dvs. complet”);

2. Pentru a afișa atributul obiectului 1C (carte de referință / document) sau atributul formularului (vezi), câmpul de intrare este cel mai des folosit. Acesta este cel mai comun instrument din 1C pentru lucrul utilizatorilor cu câmpuri de editare.

3. Posibilitățile câmpului de intrare pot fi extinse (consultați proprietățile câmpului de intrare, faceți clic dreapta pe acesta, pentru mai multe detalii):

  • Bifați Modul de editare pe mai multe linii
  • Casetă de selectare Editare avansată (disponibilă dacă este bifată caseta de selectare anterioară)
  • Casetă de selectare Mod parolă (vezi).

4. Dacă toate posibilitățile câmpului de intrare nu sunt suficiente pentru dvs., există un editor încorporat. Pentru a-l adăuga la formular, trebuie să adăugați un câmp în meniul de control Form / Insert. document text... În proprietățile sale, puteți specifica modul de funcționare - proprietatea Extensie.

Un câmp de document text nu poate fi legat direct de date. Este necesar să scrieți o funcție în gestionatorul de evenimente OnOpen () al formularului (a se vedea):

FormElements.ElementNameTextDocumentField.SetText (ValueString); // aici ValueString este textul obținut, de exemplu, din recuzită

Și în handlerul de salvare - de exemplu, în butonul Salvare - adăugați o salvare:

ValueString = FormElements.ElementNameTextDocumentField.GetText (); // Valoare Șirul de aici este recuzita în care stocăm valoarea

5. În versiunea 1C 8.2.11, în formulare gestionate a apărut o nouă oportunitate reprezentare linie 1C - Câmp document formatat.


Similar cu câmpul unui document text, trebuie să îl setați atunci când deschideți și să scrieți atunci când salvați singur textul utilizând programul.

  • În obiectul 1C, a cărui formă realizăm (carte de referință, document, procesare etc.) - adăugați un atribut cu tipul de stocare
  • În funcția ReadOnServer (), setați textul din recuzită

    // aici Props este proprietatea adăugată a obiectului 1C
    // aici FormattedDocument este numele câmpului din formularul de editat
    & Pe server

    FormattedDocument = CurrentObject.Props.Get ();
    Sfârșitul procedurii

  • În funcția BeforeWriteOnServer () sau prin buton, scrieți textul din câmp

    & Pe server
    Procedură pentru ReadingOnServer (CurrentObject)
    CurrentObject.Props = NewValueStore (FormattedDocument);
    Sfârșitul procedurii

Un șir este unul dintre tipurile de date primitive din 1C: Enterprise 8. Variabile cu tipul linia conține text.

Valorile variabilelor de tip linia sunt cuprinse între ghilimele duble. Variabile multiple de acest tip poate fi pliat.

Per1 = "Cuvântul 1";
Per2 = "Cuvântul 2";
Per3 = Per1 + "" + Per2;

În cele din urmă Per3 va însemna „ Cuvânt 1 Cuvânt 2 ″.

În plus, sistemele 1C: Enterprise 8 oferă funcții pentru lucrul cu șiruri. Să luăm în considerare principalele:

Introduceți șirul (<Строка>, <Подсказка>, <Длина>, <Многострочность>) — funcția este destinată afișării unei casete de dialog în care utilizatorul poate specifica valoarea unei variabile de tip Linia... Parametru <Строка> este obligatoriu și conține numele variabilei la care va fi scris șirul introdus. Parametru <Подсказка> opțional este titlul casetei de dialog. Parametru <Длина> opțional, indică lungimea maximă a șirului de intrare. Valoarea implicită este zero, ceea ce înseamnă o lungime nelimitată. Parametru <Многострочность> opțional. Determină modul de introducere pentru textul cu mai multe linii: Adevărat - introducerea textului cu mai multe linii cu separatoare de linie; Fals - introducerea unui șir simplu.

Șirul poate fi introdus și poate primi codul de caractere Unicode:

Simbol(<КодСимвола>) — codul este introdus ca număr.

Scrisoare = Simbol (1103); // eu

Există, de asemenea, o funcție inversă care vă permite să aflați codul unui personaj.

SymbolCode (<Строка>, <НомерСимвола>) — returnează numărul de caractere Unicode specificat ca număr.

Funcții de conversie a carcasei:

BReg (<Строка>) - convertește toate caracterele din șir în majuscule.

HPreg (<Строка>) - convertește toate caracterele din șir în minuscule.

Treg (<Строка>) - convertește toate caracterele dintr-un șir în majuscule. Adică, primele litere din toate cuvintele sunt convertite în majuscule, iar restul literelor sunt convertite în minuscule.

Funcții pentru căutarea și înlocuirea caracterelor dintr-un șir:

A găsi(<Строка>, <ПодстрокаПоиска>) - găsește numărul de caractere al apariției sub șirului de căutare. De exemplu:

Găsiți („Șir”, „Oka”); // patru

Găsi (<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) - găsește numărul caracterului apariției sub șirului de căutare, numărul apariției este indicat în parametrul corespunzător. În acest caz, căutarea începe cu un caracter al cărui număr este specificat în parametru Poziția inițială. Căutarea este posibilă de la începutul sau de la sfârșitul șirului. De exemplu:

Numărul 4 de apariții = StrFind ( „Capacitate de apărare”, "o", direcția de căutare. De la început, 1, 4); // 7

PageReplace (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) - găsește toate aparițiile șirului de căutare în șirul original și îl înlocuiește cu șirul de înlocuire.

StrReplace ("Șir", "Oka", ""); // Pagină

Linie goală (<Строка>) - verifică șirul pentru caracterele semnificative. Dacă nu există caractere semnificative sau deloc caractere, atunci valoarea este returnată Adevărat... In caz contrar - Fals.

StrNumber of Occurrences (<Строка>, <ПодстрокаПоиска>) - calculează numărul de apariții al șirului de căutare din șirul original.

StrNumber of Occurrences ( „Studiază, studiază și studiază din nou”, "a studia" , "" ) ; // 3

PageTemplate (<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — înlocuiește parametrii în șir cu numărul. Linia trebuie să conțină markeri de substituție de forma: „% 1 ..% N”. Markerele sunt numerotate începând de la 1. Dacă valoarea parametrului Nedefinit, se înlocuiește un șir gol.

PageTemplate ( "Parametrul 1 =% 1, Parametrul 2 =% 2", "1" , "2" ) ; // Parametrul 1 = 1, Parametrul 2 = 2

Funcții de conversie șir:

Un leu(<Строка>, <ЧислоСимволов>) - returnează mai întâi primele caractere ale șirului.

Dreapta (<Строка>, <ЧислоСимволов>) - returnează ultimele caractere ale șirului.

Miercuri (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - returnează un șir de lungime<ЧислоСимволов>începând cu personajul<НачальныйНомер>.

AbbrL (<Строка>) trunchiază caractere nesemnificative în stânga primului caracter semnificativ din șir.

Abreviere (<Строка>) - taie caractere nesemnificative în dreapta ultimului caracter semnificativ din șir.

SocrLP (<Строка>) - taie caractere nesemnificative la stânga primului personaj semnificativ din linie și la dreapta ultimului personaj semnificativ din linie.

StrGetString (<Строка>, <НомерСтроки>) - primește un șir dintr-un șir cu mai multe linii după număr.

Alte funcții:

StrLength (<Строка>) - returnează numărul de caractere dintr-un șir.

StrNumber of Lines (<Строка>) - returnează numărul de linii dintr-un șir cu mai multe linii. O linie este considerată nouă dacă este separată de linia anterioară de un caracter de linie nouă.

Comparați (<Строка1>, <Строка2> ) - compară două șiruri, fără sensibilitate la majuscule. Funcția funcționează la fel ca un obiect Compararea valorilor... Se intoarce:

  • 1 - dacă prima linie este mai mare decât a doua
  • -1 - dacă a doua linie este mai mare decât prima
  • 0 - dacă șirurile sunt egale

StrCompare ("Prima linie", "A doua linie"); // unu

Implementat în versiunea 8.3.6.1977.

Am extins setul de funcții pentru lucrul cu șiruri. Am făcut acest lucru pentru a vă oferi instrumente mai avansate pentru analiza datelor șirului. Noile funcții vor fi convenabile și utile în sarcinile tehnologice de analiză a textului. În sarcinile legate de analiza textului care conține date formatate. Aceasta poate fi analiza unor fișiere primite de la echipament sau, de exemplu, analiza unui jurnal tehnologic.

Toate acțiunile care îndeplinesc funcții noi, le-ai fi putut efectua înainte. Cu ajutorul unor algoritmi mai mult sau mai puțin complexi scrise într-un limbaj încorporat. Prin urmare, noile funcții nu vă oferă posibilități fundamental noi. Cu toate acestea, acestea vă permit să reduceți cantitatea de cod, să faceți codul mai simplu și mai ușor de înțeles. Și, în plus, vă permit să accelerați executarea acțiunilor. Deoarece funcțiile implementate în platformă sunt, desigur, mai rapide decât un algoritm similar scris într-un limbaj încorporat.

Funcția de formatare PpTemplate ()

Această funcție înlocuiește parametrii într-un șir. Necesitatea unei astfel de conversii apare adesea, de exemplu, atunci când se afișează mesaje de avertizare. Sintaxa pentru această funcție este următoarea:

PageTemplate (<Шаблон>, <Значение1-Значение10>)

<Шаблон>este un șir care să înlocuiască reprezentările parametrilor.

<Значение1> , ... <Значение10>- aceștia sunt parametri (maximum - zece), ale căror reprezentări trebuie înlocuite în șir.

Pentru a indica un anumit loc în șablon în care doriți să efectuați înlocuirea, trebuie să utilizați jetoane de forma% 1, ...% 10. Numărul de markeri utilizați în șablon și numărul de parametri care conțin valori trebuie să fie aceleași.

De exemplu, rezultatul executării unei astfel de instrucțiuni:

va exista o linie:

Eroare de date pe linia 2 (este necesar tipul de dată)

Funcție pentru lucrul cu șiruri StrCompare ()

Această funcție compară două șiruri într-un mod insensibil la majuscule. De exemplu, astfel:

Ați fi putut efectua aceeași acțiune mai devreme folosind obiectul Comparare valoare:

Cu toate acestea, utilizarea noii funcții pare mai simplă. Și, pe lângă aceasta, funcția, spre deosebire de obiectul Compararea valorilor, funcționează în client slab, și în clientul web.

Funcții pentru lucrul cu șiruri RowStart With (), RREnd With ()

Aceste funcții determină dacă un șir începe cu un șir specificat sau se termină cu un șir specificat. Algoritmul acestor funcții nu este dificil de implementat în limbajul încorporat, dar prezența lor vă permite să scrieți un cod mai curat și mai ușor de înțeles. Și funcționează mai repede.

De exemplu, este convenabil să le utilizați în If:

Funcții pentru lucrul cu șiruri StrSplit (), StrConnect ()

Aceste funcții împart șirul în părți în funcție de delimitatorul specificat. Sau invers, unesc mai multe linii într-una, inserând separatorul selectat între ele. Acestea sunt convenabile pentru crearea sau analiza jurnale, jurnale tehnologice. De exemplu, puteți dezasambla cu ușurință o înregistrare a unui jurnal tehnologic în piese adecvate pentru analize suplimentare:

Funcție pentru lucrul cu șiruri StrFind ()

În loc de vechea funcție Find (), am implementat funcție nouă, care are caracteristici suplimentare:

  • Căutați în direcții diferite (de la început, de la sfârșit);
  • Căutați dintr-o poziție specificată;
  • Căutați o apariție cu numărul specificat (al doilea, al treilea etc.).

De fapt, duplică capacitățile vechii funcții. Acest lucru se face pentru a menține compatibilitatea cu modulele compilate în versiuni mai vechi. Se recomandă să nu mai folosiți vechea funcție Find ().

Mai jos este un exemplu de utilizare a noilor funcții de căutare. Căutarea înapoi este utilă atunci când aveți nevoie de ultima bucată dintr-un șir formalizat, de exemplu Numele complet fișier în adresa URL. Și căutarea dintr-o poziție specificată ajută în acele cazuri când trebuie să căutați într-un fragment cunoscut și nu în întregul șir.

Însemnări dinspre geam

18.08.2014 Noi funcții pentru lucrul cu șiruri

Implementat în versiunea 8.3.6.1977.

Am extins setul de funcții pentru lucrul cu șiruri. Am făcut acest lucru pentru a vă oferi instrumente mai avansate pentru analiza datelor șirului. Noile funcții vor fi convenabile și utile în sarcinile tehnologice de analiză a textului. În sarcinile legate de analiza textului care conține date formatate. Aceasta poate fi analiza unor fișiere primite de la echipament sau, de exemplu, analiza unui jurnal tehnologic.

Toate acțiunile care îndeplinesc funcții noi, le-ai fi putut efectua înainte. Cu ajutorul unor algoritmi mai mult sau mai puțin complexi scrise într-un limbaj încorporat. Prin urmare, noile funcții nu vă oferă posibilități fundamental noi. Cu toate acestea, acestea vă permit să reduceți cantitatea de cod, să faceți codul mai simplu și mai ușor de înțeles. Și, în plus, vă permit să accelerați executarea acțiunilor. Deoarece funcțiile implementate în platformă sunt, desigur, mai rapide decât un algoritm similar scris într-un limbaj încorporat.

Funcția de formatare PpTemplate ()

Această funcție înlocuiește parametrii într-un șir. Necesitatea unei astfel de conversii apare adesea, de exemplu, atunci când se afișează mesaje de avertizare. Sintaxa pentru această funcție este următoarea:

PageTemplate (<Шаблон>, <Значение1-Значение10>)

<Шаблон>este un șir care să înlocuiască reprezentările parametrilor.

<Значение1> , ... <Значение10>- aceștia sunt parametri (maximum - zece), ale căror reprezentări trebuie înlocuite în șir.

Pentru a indica un anumit loc în șablon în care doriți să efectuați înlocuirea, trebuie să utilizați jetoane de forma% 1, ...% 10. Numărul de markeri utilizați în șablon și numărul de parametri care conțin valori trebuie să fie aceleași.

De exemplu, rezultatul executării unei astfel de instrucțiuni:

va exista o linie:

Eroare de date pe linia 2 (este necesar tipul de dată)

Funcție pentru lucrul cu șiruri StrCompare ()

Această funcție compară două șiruri într-un mod insensibil la majuscule. De exemplu, astfel:

Ați fi putut efectua aceeași acțiune înainte de a utiliza obiectul Compararea valorilor:

Cu toate acestea, utilizarea noii funcții pare mai simplă. Și pe lângă asta, o funcție, spre deosebire de un obiect Compararea valorilor, funcționează atât în ​​clientul subțire, cât și în clientul web.

Funcții pentru lucrul cu șiruri RowStart With (), RREnd With ()

Aceste funcții determină dacă un șir începe cu un șir specificat sau se termină cu un șir specificat. Algoritmul acestor funcții nu este dificil de implementat în limbajul încorporat, dar prezența lor vă permite să scrieți un cod mai curat și mai ușor de înțeles. Și funcționează mai repede.

De exemplu, este convenabil să le utilizați în operator În cazul în care un:

Funcții pentru lucrul cu șiruri StrSplit (), StrConnect ()

Aceste funcții împart șirul în părți în funcție de delimitatorul specificat. Sau invers, unesc mai multe linii într-una, inserând separatorul selectat între ele. Acestea sunt convenabile pentru crearea sau analiza jurnale, jurnale tehnologice. De exemplu, puteți dezasambla cu ușurință o înregistrare a unui jurnal tehnologic în piese adecvate pentru analize suplimentare:

Funcție pentru lucrul cu șiruri StrFind ()

În loc de vechea funcție A găsi() am implementat o nouă funcție care are caracteristici suplimentare:

  • Căutați în direcții diferite (de la început, de la sfârșit);
  • Căutați dintr-o poziție specificată;
  • Căutați o apariție cu numărul specificat (al doilea, al treilea etc.).

De fapt, duplică capacitățile vechii funcții. Acest lucru se face pentru a menține compatibilitatea cu modulele compilate în versiuni mai vechi. Funcție veche A găsi() este recomandat să nu-l mai folosiți.

Mai jos este un exemplu de utilizare a noilor funcții de căutare. Căutările înapoi sunt utile atunci când aveți nevoie de ultima bucată dintr-un șir formalizat, cum ar fi numele de fișier complet calificat dintr-o adresă URL. Și căutarea dintr-o poziție specificată ajută în acele cazuri când trebuie să căutați într-un fragment cunoscut și nu în întregul șir.