Dizelerle çalışmak için yeni işlevler. Dizelerle çalışmak için yeni işlevler 1s 8.2 Bir dizedeki karakterin seri numarası

String türü tüm programlama dillerinde bulunur. İlkeldir ve 1C'de onunla çalışmak için birçok işlev vardır. Bu makalede, örnekler kullanarak 1C 8.3 ve 8.2'deki dize türleriyle çalışmanın çeşitli yollarını ayrıntılı olarak inceleyeceğiz.

Astar

Herhangi bir türdeki değişkeni dizeye dönüştürmek için aynı adı taşıyan “String()” işlevi vardır. Giriş parametresi, dize temsilinin elde edilmesi gereken değişkenin kendisi olacaktır.

String(False) // "Hayır" değerini döndürür
String(12345) // "12,345" değerini döndürür
String(CurrentDate()) //"07/21/2017 11:55:36"

Yalnızca ilkel türleri değil, aynı zamanda dizin ve belge öğeleri gibi diğer türleri de bir dizeye dönüştürmek mümkündür.

SokrLP, SokrL, SokrP

Bu işlevlerin giriş parametreleri dize tipinde bir değişkendir. İşlevler önemsiz karakterleri (boşluklar, satırbaşları vb.) kaldırır: sırasıyla sol ve sağ taraftan, yalnızca sol taraftan ve yalnızca sağdan.

Abbreviation(" Her iki taraftaki boşluklar kaldırılacak ") // "Her iki taraftaki boşluklar kaldırılacak"
Abbreviation(" Her iki taraftaki boşluklar kaldırılacaktır ") // "Soldaki boşluklar kaldırılacaktır "
Abbreviation(" Her iki taraftaki boşluklar kaldırılacaktır ") // "Sağdaki boşluklar kaldırılacaktır"

Aslan, Sağ, Orta

Bu işlevler bir dizenin bir kısmını kırpmanıza olanak tanır. "Left()" işlevi, bir dizenin sol tarafından belirtilen uzunluktaki kısmını döndürür. "Right()" işlevi de benzerdir ancak sağdan kırpılır. “Avg()” fonksiyonu satırın seçileceği karakterin sayısını ve uzunluğunu belirlemenizi sağlar.

Lev("String değişkeni", 4) // "Str" değerini döndürür
Right("Dize değişkeni", 7) // "değişken" değerini döndürür
Medium("String değişkeni", 2, 5) // "troco" değerini döndürür

StrLength

İşlev, bir dize değişkeninde bulunan karakter sayısını belirler.

StrLength("Word") // uygulamanın sonucu 5 sayısı olacaktır

Bulmak

İşlev, bir dize değişkeninde bir dizenin bir kısmını aramayı mümkün kılar. Dönüş değeri, bulunan dizenin başlangıcının konumunu gösteren bir sayı olacaktır. Eşleşme bulunamazsa sıfır döndürülür.

Lütfen aramanın büyük/küçük harfe duyarlı olduğunu unutmayın. Orijinal dizede arama alt dizesinin birden fazla oluşumu varsa, işlev ilk geçtiği yerin başlangıcını döndürür.

Bul("bir, iki, bir, iki, üç", "iki") // fonksiyonu 6 sayısını döndürecektir

Boş satır

Bu işlevi kullanmak bir dizenin boş olup olmadığını belirlemenizi sağlar. Boşluk, satırbaşı ve diğerleri gibi küçük karakterler dikkate alınmaz.

EmptyString("Pupkin Vasily Ivanovich") // işlevi False değerini döndürecektir
EmptyString(" ") // fonksiyon True değerini döndürecek

VReg, NReg, TReg

Bu işlevler dize değişkenlerini karşılaştırırken ve dönüştürürken çok kullanışlıdır. "Vreg()" orijinal dizeyi büyük harfle, "HPreg()" küçük harfle döndürecek ve "TReg()" onu her bir kelimenin ilk karakteri büyük harfle ve sonraki tüm karakterler büyük harfle yazılacak şekilde biçimlendirecektir.

VReg("GENEL MÜDÜR") // dönüş değeri - "GENEL MÜDÜR"
NReg(“CEO DIRECTOR”) // dönüş değeri – “CEO”
TREG(“CEO DIRECTOR”) // dönüş değeri – “Genel Müdür”

SayfaDeğiştir

Bu işlev, metin düzenleyicilerdeki değiştirme işlevine benzer. Dize değişkenlerinde bir karakteri veya karakter kümesini başka bir karakterle değiştirmenize olanak tanır.

StrReplace("kırmızı, beyaz, sarı", ","", ";") // "kırmızı;" değerini döndürür; beyaz; sarı"

StrNumberLines

İşlev, bir metin değişkeninde satırbaşları ile ayrılan satır sayısını belirlemenize olanak tanır.

Aşağıdaki örnekteki döngü üç turdan geçecektir çünkü LineNumberRow işlevi 3 değerini döndürecektir:

İnd = 1 için StrNumber of Strings ("Satır1" + Semboller.PS + "Satır2" + Semboller.PS + "Satır3") Döngüsü
<тело цикла>
EndCycle;

StrGetString

Bu işlev, çok satırlı metinlerle öncekiyle aynı şekilde çalışır. Bir metin değişkeninden belirli bir dize almanızı sağlar.

StrGetString("Dize1" + Karakterler.PS + "Dize2" + Karakterler.PS + "Dize3", 2) // "Dize2"yi döndür

Sayfa NumarasıOluşum Sayısı

İşlev, arama dizesinde bir karakterin veya alt dizenin oluşum sayısını sayar.

StrNumberAttachments("a;b;c;d; ", ";") // işlevi 4 sayısını döndürecektir

Sembol ve Sembol Kodu

Bu işlevler, bir karakteri Unicode kodlamasındaki koduna göre elde etmenize ve bu kodu karakterin kendisine göre belirlemenize olanak tanır.

SembolKodu("A") // fonksiyonu 1.040 sayısını döndürecektir
CharacterCode(1040) // fonksiyon “A” değerini döndürecek

Dizelerle çalışırken ortak görevler

Dizeleri Birleştirme

Birkaç dizeyi birleştirmek (birleştirme işlemini gerçekleştirmek için) toplama operatörünü kullanmak yeterlidir.

“Satır 1” + “Satır 2” //iki satırın eklenmesi sonucu “Satır 1 Satır 2” olacaktır.

Tür Dönüşümü

Bir türü, örneğin bir dizin öğesine bağlantı, bir sayı vb. gibi bir dizeye dönüştürmek için “String()” işlevini kullanmak yeterlidir. “ScrLP()” gibi işlevler de değişkenleri bir dizeye dönüştürecek, ancak hemen önemsiz karakterleri kesecek.

String(1000) // "1.000" değerini döndürür

Lütfen bir sayıyı dizeye dönüştürürken programın binlik rakamını ayıran bir boşluk eklediğini unutmayın. Bunu önlemek için aşağıdaki yapıları kullanabilirsiniz:

StrReplace(String(1000),Characters.NPP,"") // "1000" değerini döndürür

String(Format(1000,"HG=")) // "1000" değerini döndürür

Bir dizedeki alıntılar

Çoğu zaman bir dize değişkeninde tırnak işaretleri belirtme ihtiyacıyla uğraşmak zorunda kalacaksınız. Bu, yapılandırıcıda yazılan istek metni veya yalnızca bir değişken olabilir. Bu sorunu çözmek için iki tırnak işareti koymanız yeterlidir.

Header = String("Horns and Hooves LLC - işte biziz!") // şunu döndürecektir: "Horns and Hooves LLC - işte biziz!"

Çok satırlı, satır sonu

Çok satırlı metin oluşturmak için satır sonlarını (Symbols.PS) eklemeniz yeterlidir.

MultilineText = “İlk Satır” + Semboller.PS + “İkinci Satır”

Boşluklar nasıl kaldırılır

Sağdaki veya soldaki boşlukları kaldırmak için “ScrAP()” işlevini (“ScrL()” ve “ScrP()”nin yanı sıra) kullanabilirsiniz:

StringNoSpaces = Kısaltma(" ​​Birçok harf ") // fonksiyon "Birçok harf" değerini döndürecektir

Bir sayıyı dizeye dönüştürdükten sonra bölünemeyen boşlukları kaldırmanız gerekiyorsa, aşağıdaki yapıyı kullanın:

StringNoSpaces = StrReplace(String(99999),Characters.NPP,"") // "99999" değerini döndürür

Programcılar ayrıca, bir metin değişkenindeki tüm boşlukları kaldırmanıza veya başka bir karakterle değiştirmenize olanak tanıyan aşağıdaki yapıyı da sıklıkla kullanır:

StringNoSpaces = StrReplace("merhaba", "") // "merhaba" değerini döndürür

Dizeleri birbirleriyle karşılaştırma

Terimleri her zamanki eşittir işaretiyle karşılaştırabilirsiniz. Karşılaştırma büyük/küçük harfe duyarlıdır.

"Merhaba" = "merhaba" // Yanlış değerini döndürür
"Merhaba" = "Merhaba" // Doğru değerini döndürür
"Merhaba" = "Güle güle" // False değerini döndürecektir

Bir dize, 1C:Enterprise 8 sistemlerindeki ilkel veri türlerinden biridir. astar metin içerir.

Değişken değerlerini yazın astarçift ​​tırnak içine alınır. Bu türden birkaç değişken eklenebilir.

Per1 = "Kelime 1";
Per2 = "Kelime 2";
Per3 = Per1 + " " + Per2 ;

Sonunda Per3"anlamına gelecektir" Kelime 1 Kelime 2″.

Ayrıca 1C:Enterprise 8 sistemleri dizelerle çalışmaya yönelik işlevler sağlar. Başlıcalarına bakalım:

EnterString(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — işlev, kullanıcının bir tür değişkenin değerini belirtebileceği bir iletişim kutusu görüntülemek üzere tasarlanmıştır. Astar. Parametre <Строка> gereklidir ve girilen dizenin yazılacağı değişkenin adını içerir. Parametre <Подсказка> isteğe bağlı - bu, iletişim kutusunun başlığıdır. Parametre <Длина> isteğe bağlı, giriş dizesinin maksimum uzunluğunu gösterir. Varsayılan olarak sıfırdır, bu da sınırsız uzunluk anlamına gelir. Parametre <Многострочность> isteğe bağlı. Çok satırlı metin giriş modunu tanımlar: Doğru—satır ayırıcılarla çok satırlı metin girişi; Yanlış - basit bir dize girin.

Unicode'daki karakter kodunu biliyorsanız bir dize girebilirsiniz:

Sembol(<КодСимвола>) — kod sayı olarak girilir.

Harf= Sembol(1103) ; // BEN

Bir sembolün kodunu bulmanızı sağlayan bir ters fonksiyon da vardır.

SembolKodu(<Строка>, <НомерСимвола>) — Belirtilen karakterin Unicode numarasını sayı olarak döndürür.

Metin durumu dönüştürme işlevleri:

VReg(<Строка>) — Bir dizedeki tüm karakterleri büyük harfe dönüştürür.

NReg(<Строка>) — Bir dizedeki tüm karakterleri küçük harfe dönüştürür.

TReg(<Строка>) — dizedeki tüm karakterleri başlık harfine dönüştürür. Yani tüm kelimelerin ilk harfleri büyük harfe, kalan harfler ise küçük harfe dönüştürülür.

Bir dizedeki karakterleri arama ve değiştirme işlevleri:

Bulmak(<Строка>, <ПодстрокаПоиска>) — arama alt dizisinin oluşumunun karakter numarasını bulur. Örneğin:

Bul ("Dize", "oka"); // 4

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) - arama alt dizisinin oluşumunun karakter numarasını bulur; oluşum numarası ilgili parametrede gösterilir. Bu durumda arama parametrede numarası belirtilen karakterle başlar. İlk pozisyon. Arama dizenin başından veya sonundan itibaren mümkündür. Örneğin:

Sayı4 Oluşumları = Str Bul ( "Savunmacılık", "hakkında", Arama Yönü. Başlangıç, 1, 4); // 7

StrDeğiştir(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) – kaynak dizgede arama alt dizgisinin tüm oluşumlarını bulur ve onu değiştirilen alt dizgeyle değiştirir.

StrReplace ("Dize", "oka", ""); // Sayfa

Boş satır(<Строка>) – dizeyi önemli karakterler açısından kontrol eder. Önemli karakter yoksa veya hiç karakter yoksa değer döndürülür Doğru. Aksi takdirde - Yalan.

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) – Arama alt dizesinin kaynak dizede tekrarlanma sayısını hesaplar.

StrNumberOccurrences ( "Çalışın, çalışın ve tekrar çalışın", "çalışmak" , "" ) ; // 3

StrTemplate(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — parametreleri sayıya göre bir dizeye dönüştürür. Satır şu formdaki değiştirme işaretlerini içermelidir: “%1..%N”. İşaretleyici numaralandırması 1'den başlar. Parametre değeri Tanımsız boş bir dize değiştirilir.

StrTemplate ( "Parametre 1 = %1, Parametre 2 = %2", "1" , "2" ) ; // Parametre 1= 1, Parametre 2 = 2

Dize dönüştürme işlevleri:

Bir aslan(<Строка>, <ЧислоСимволов>) – Bir dizenin ilk karakterlerini döndürür.

Sağ(<Строка>, <ЧислоСимволов>) – Bir dizenin son karakterlerini döndürür.

Çarşamba(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) – bir uzunluk dizisi döndürür<ЧислоСимволов>, sembolden başlayarak<НачальныйНомер>.

KısaltL(<Строка>) Anlamlı olmayan karakterleri dizedeki ilk önemli karakterin soluna kırpar.

Kısaltma(<Строка>) — satırdaki son önemli karakterin sağındaki önemsiz karakterleri keser.

KısaltLP(<Строка>) – satırdaki ilk önemli karakterin solundaki ve satırdaki son önemli karakterin sağındaki önemsiz karakterleri keser.

StrGetString(<Строка>, <НомерСтроки>) – Sayıya göre çok satırlı bir dize alır.

Diğer özellikler:

StrLength(<Строка>) – dizedeki karakter sayısını döndürür.

StrNumberRow(<Строка>) – çok satırlı bir dizedeki satır sayısını döndürür. Bir satır öncekinden yeni satır karakteriyle ayrılmışsa yeni satır olarak kabul edilir.

StrKarşılaştır(<Строка1>, <Строка2> ) – iki dizeyi büyük/küçük harfe duyarlı olmayan bir şekilde karşılaştırır. Bir fonksiyon bir nesneye benzer şekilde çalışır Değerlerin Karşılaştırılması. İadeler:

  • 1 - eğer ilk satır ikinciden büyükse
  • -1 - eğer ikinci satır birinciden büyükse
  • 0 - dizeler eşitse

StrCompare("İlk satır", "İkinci satır"); // 1

Aynanın İçinden Notlar

18.08.2014 Dizelerle çalışmak için yeni işlevler

8.3.6.1977 sürümünde uygulandı.

Dizelerle çalışmak üzere tasarlanmış işlevler kümesini genişlettik. Bunu size dize verilerini ayrıştırmaya yönelik daha gelişmiş araçlar sunmak için yaptık. Yeni işlevler, metin analizinin teknolojik görevlerinde kullanışlı ve faydalı olacaktır. Biçimlendirilmiş biçimde veri içeren metnin ayrıştırılmasıyla ilgili görevlerde. Bu, ekipmandan alınan bazı dosyaların analizi veya örneğin teknolojik bir günlüğün analizi olabilir.

Daha önce yeni işlevler gerçekleştiren tüm eylemleri gerçekleştirebiliyordunuz. Yerleşik bir dilde yazılmış az çok karmaşık algoritmalar kullanmak. Bu nedenle, yeni işlevler size temelde yeni yetenekler sağlamaz. Ancak kod miktarını azaltmanıza ve kodu daha basit ve anlaşılır hale getirmenize olanak tanırlar. Ek olarak, eylemlerin yürütülmesini hızlandırmanıza da olanak tanır. Çünkü platformda uygulanan işlevler elbette yerleşik bir dilde yazılmış benzer bir algoritmadan daha hızlı çalışıyor.

Biçimlendirme işlevi StrTemplate()

Bu işlev, parametreleri bir dizeye dönüştürür. Böyle bir dönüşüme duyulan ihtiyaç, örneğin uyarı mesajları görüntülenirken sıklıkla ortaya çıkar. Bu işlevin sözdizimi aşağıdaki gibidir:

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

<Шаблон>- bu, parametre gösterimlerini değiştirmeniz gereken dizedir.

<Значение1> , ... <Значение10>- bunlar, temsillerinin dizede değiştirilmesi gereken parametrelerdir (en fazla on).

Değiştirme işlemini gerçekleştirmek istediğiniz şablonda belirli bir yeri belirtmek için %1, ... %10 gibi işaretçiler kullanmanız gerekir. Şablonda yer alan işaretçilerin sayısı ile değerleri içeren parametrelerin sayısı eşleşmelidir.

Örneğin, böyle bir operatörün yürütülmesinin sonucu:

bir satır olacak:

2. satırda veri hatası (Tarih türü gerekli)

Dizelerle çalışma işlevi StrCompare()

Bu işlev, iki dizeyi büyük/küçük harfe duyarlı olmayan bir şekilde karşılaştırır. Örneğin şöyle:

Aynı eylemi daha önce nesneyi kullanarak gerçekleştirebilirsiniz. Değerlerin Karşılaştırılması:

Ancak yeni özelliği kullanmak daha kolay görünüyor. Ve bunun yanı sıra, bir nesnenin aksine bir işlev Değerlerin Karşılaştırılması, hem ince istemcide hem de web istemcisinde çalışır.

StrStartsWith(), StrEndsAt() dizeleriyle çalışmaya yönelik işlevler

Bu işlevler, bir dizenin belirli bir alt dizeyle başlayıp başlamadığını veya bir dizenin belirli bir alt dizeyle bitip bitmediğini belirler. Bu işlevlere yönelik algoritmanın gömülü bir dilde uygulanması zor değildir, ancak bunların varlığı daha temiz ve anlaşılır kod yazmanıza olanak tanır. Ve daha hızlı çalışırlar.

Örneğin, bunları operatörde kullanmak uygundur Eğer:

StrDivide(), StrConnect() dizeleriyle çalışmaya yönelik işlevler

Bu işlevler, belirtilen sınırlayıcıyı kullanarak bir dizeyi parçalara ayırır. Veya tam tersi, seçilen ayırıcıyı aralarına yerleştirerek birkaç satırı tek bir satırda birleştirirler. Günlükleri ve teknolojik günlükleri oluşturmak veya analiz etmek için uygundurlar. Örneğin, teknolojik bir günlük girişini daha ileri analiz için uygun parçalara kolayca ayrıştırabilirsiniz:

Dizelerle çalışma işlevi StrFind()

Eski fonksiyon yerine Bulmak() Ek yeteneklere sahip yeni bir işlevi hayata geçirdik:

  • Farklı yönlerde arama yapın (baştan sona);
  • Belirtilen konumdan arama yapın;
  • Belirtilen sayıda (ikinci, üçüncü vb.) bir oluşumu arayın.

Aslında eski işlevin yeteneklerini kopyalıyor. Bu, eski sürümlerde derlenen modüllerle uyumluluğu korumak için yapılır. Eski işlev Bulmak() Bir daha kullanılmaması tavsiye edilir.

Aşağıda yeni arama yeteneklerinin kullanıldığı bir örnek verilmiştir. Tersine arama, bir URL'deki tam dosya adı gibi resmileştirilmiş bir dizenin son kısmına ihtiyaç duyduğunuzda kullanışlıdır. Ve belirli bir konumdan arama yapmak, satırın tamamında değil, bilinen bir parçada arama yapmanızın gerektiği durumlarda yardımcı olur.

1C sorgularında dizelerle çalışmak için birkaç mekanizma vardır. İlk olarak satırlar eklenebilir. İkinci olarak, bir dizeden bir alt dize alabilirsiniz. Üçüncüsü, dizeler, desene göre de dahil olmak üzere karşılaştırılabilir. Muhtemelen dizelerle yapılabilecek tek şey budur.

Dize ekleme

Bir sorguya satır eklemek için “+” işlemi kullanılır. Yalnızca sınırlı uzunlukta dizeler ekleyebilirsiniz.

"Ad: " + Karşı Taraflar SEÇİN. Dizinden AS Sütun 1 Adı. Karşı Taraflar Karşı Taraflar NEREDE Karşı Taraflar. Bağlantı = &Bağlantı

Alt dize işlevi

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

Nesne modelindeki Environment() fonksiyonunun bir benzeri. Substring() işlevi dize verilerine uygulanabilir ve bir parça seçmenize olanak tanır <Строки> , karakter numarasıyla başlayarak <НачальнаяПозиция> (bir satırdaki karakterler 1'den başlayarak numaralandırılır) ve uzunluk <Длина> karakterler. Fonksiyon hesaplamasının sonucu değişken uzunluklu bir dize tipine sahiptir ve eğer uzunluk sınırsız olarak kabul edilecektir. <Строка> sınırsız uzunluk ve parametreye sahiptir <Длина> sabit değildir veya 1024'ten büyük değildir.

Eğer dizenin uzunluğu ikinci parametrede belirtilenden daha azsa, işlev boş bir dize döndürecektir.

Dikkat! Sınırsız uzunluktaki dizeleri sınırlı uzunluktaki dizelere dönüştürmek için SUBSTRING() işlevinin kullanılması önerilmez. Bunun yerine EXPRESS() cast operatörünü kullanmak daha iyidir.

İşlev Benzer

Bir dize niteliğinin belirli kriterleri karşıladığından emin olmamız gerekiyorsa onu karşılaştırırız:

Karşı Tarafları SEÇİN Dizinden AS Sütun 1 Adı Karşı Taraflar Karşı Taraflar NEREDE Karşı Taraflar Ad = "Gazprom"

Peki ya daha incelikli bir karşılaştırmaya ihtiyacınız varsa? Sadece eşitlik veya eşitsizlik değil, belirli bir kalıba benzerlik mi? SIMILAR işlevi tam da bunun için yaratıldı.

LIKE — Bir dizenin bir kalıba benzerliğini kontrol etmek için kullanılan operatör. SQL'deki LIKE'ın benzeri.

SIMILAR operatörü, solunda belirtilen ifadenin değerini, sağında belirtilen model dizesiyle karşılaştırmanıza olanak tanır. İfadenin değeri string türünde olmalıdır. İfadenin değeri kalıpla eşleşiyorsa operatörün sonucu DOĞRU, aksi halde YANLIŞ olacaktır.

Şablon dizesindeki aşağıdaki karakterler hizmet karakterleridir ve dize karakterinden farklı bir anlama sahiptirler:

  • % (yüzde): herhangi bir sayıda rastgele karakter içeren bir dizi;
  • _ (alt çizgi): isteğe bağlı bir karakter;
  • […] (köşeli parantez içindeki bir veya daha fazla karakter): köşeli parantez içinde listelenen herhangi bir tek karakter. Numaralandırma, aralığın uçları da dahil olmak üzere aralığa dahil edilen rastgele bir karakter anlamına gelen a-z gibi aralıklar içerebilir;
  • [^...] (köşeli parantez içinde bir olumsuzluk işareti ve ardından bir veya daha fazla karakter): olumsuzluk işaretinin ardından listelenenler dışındaki herhangi bir tek karakter.

Bunun dışındaki herhangi bir sembol kendini ifade eder ve herhangi bir ek yük taşımaz. Listelenen karakterlerden birinin kendisi olarak yazılması gerekiyorsa, önüne şu karakter yazılmalıdır:<Спецсимвол>. Kendim<Спецсимвол>(herhangi bir uygun karakter), ÖZEL KARAKTER anahtar sözcüğünden sonra aynı ifadede tanımlanır.

8.3.6.1977 sürümünde uygulandı.

Dizelerle çalışmak üzere tasarlanmış işlevler kümesini genişlettik. Bunu size dize verilerini ayrıştırmaya yönelik daha gelişmiş araçlar sunmak için yaptık. Yeni işlevler, metin analizinin teknolojik görevlerinde kullanışlı ve faydalı olacaktır. Biçimlendirilmiş biçimde veri içeren metnin ayrıştırılmasıyla ilgili görevlerde. Bu, ekipmandan alınan bazı dosyaların analizi veya örneğin teknolojik bir günlüğün analizi olabilir.

Daha önce yeni işlevler gerçekleştiren tüm eylemleri gerçekleştirebiliyordunuz. Yerleşik bir dilde yazılmış az çok karmaşık algoritmalar kullanmak. Bu nedenle, yeni işlevler size temelde yeni yetenekler sağlamaz. Ancak kod miktarını azaltmanıza ve kodu daha basit ve anlaşılır hale getirmenize olanak tanırlar. Ek olarak, eylemlerin yürütülmesini hızlandırmanıza da olanak tanır. Çünkü platformda uygulanan işlevler elbette yerleşik bir dilde yazılmış benzer bir algoritmadan daha hızlı çalışıyor.

Biçimlendirme işlevi StrTemplate()

Bu işlev, parametreleri bir dizeye dönüştürür. Böyle bir dönüşüme duyulan ihtiyaç, örneğin uyarı mesajları görüntülenirken sıklıkla ortaya çıkar. Bu işlevin sözdizimi aşağıdaki gibidir:

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

<Шаблон>- bu, parametre gösterimlerini değiştirmeniz gereken dizedir.

<Значение1> , ... <Значение10>- bunlar, temsillerinin dizede değiştirilmesi gereken parametrelerdir (en fazla on).

Değiştirme işlemini gerçekleştirmek istediğiniz şablonda belirli bir yeri belirtmek için %1, ... %10 gibi işaretçiler kullanmanız gerekir. Şablonda yer alan işaretçilerin sayısı ile değerleri içeren parametrelerin sayısı eşleşmelidir.

Örneğin, böyle bir operatörün yürütülmesinin sonucu:

bir satır olacak:

2. satırda veri hatası (Tarih türü gerekli)

Dizelerle çalışma işlevi StrCompare()

Bu işlev, iki dizeyi büyük/küçük harfe duyarlı olmayan bir şekilde karşılaştırır. Örneğin şöyle:

Aynı eylemi daha önce Değer Karşılaştırma nesnesini kullanarak gerçekleştirebilirsiniz:

Ancak yeni özelliği kullanmak daha kolay görünüyor. Bunun yanı sıra işlev, Değer Karşılaştırma nesnesinden farklı olarak hem ince istemcide hem de web istemcisinde çalışır.

StrStartsWith(), StrEndsAt() dizeleriyle çalışmaya yönelik işlevler

Bu işlevler, bir dizenin belirli bir alt dizeyle başlayıp başlamadığını veya bir dizenin belirli bir alt dizeyle bitip bitmediğini belirler. Bu işlevlere yönelik algoritmanın gömülü bir dilde uygulanması zor değildir, ancak bunların varlığı daha temiz ve anlaşılır kod yazmanıza olanak tanır. Ve daha hızlı çalışırlar.

Örneğin, If deyiminde kullanılmaya uygundurlar:

StrDivide(), StrConnect() dizeleriyle çalışmaya yönelik işlevler

Bu işlevler, belirtilen sınırlayıcıyı kullanarak bir dizeyi parçalara ayırır. Veya tam tersi, seçilen ayırıcıyı aralarına yerleştirerek birkaç satırı tek bir satırda birleştirirler. Günlükleri ve teknolojik günlükleri oluşturmak veya analiz etmek için uygundurlar. Örneğin, teknolojik bir günlük girişini daha ileri analiz için uygun parçalara kolayca ayrıştırabilirsiniz:

Dizelerle çalışma işlevi StrFind()

Eski Find() işlevi yerine ek yeteneklere sahip yeni bir işlev uyguladık:

  • Farklı yönlerde arama yapın (baştan sona);
  • Belirtilen konumdan arama yapın;
  • Belirtilen sayıda (ikinci, üçüncü vb.) bir oluşumu arayın.

Aslında eski işlevin yeteneklerini kopyalıyor. Bu, eski sürümlerde derlenen modüllerle uyumluluğu korumak için yapılır. Artık eski Find() işlevini kullanmamanız önerilir.

Aşağıda yeni arama yeteneklerinin kullanıldığı bir örnek verilmiştir. Tersine arama, bir URL'deki tam dosya adı gibi resmileştirilmiş bir dizenin son kısmına ihtiyaç duyduğunuzda kullanışlıdır. Ve belirli bir konumdan arama yapmak, satırın tamamında değil, bilinen bir parçada arama yapmanızın gerektiği durumlarda yardımcı olur.