rumah - jendela
Fungsi baru untuk bekerja dengan string. Fungsi baru untuk bekerja dengan string Operasi dengan string 1c

Ada beberapa mekanisme untuk bekerja dengan string dalam kueri 1C. Pertama, garis bisa ditambahkan. Kedua, Anda dapat mengambil substring dari sebuah string. Ketiga, string dapat dibandingkan, termasuk berdasarkan pola. Mungkin hanya itu yang bisa dilakukan dengan string.

Penambahan string

Untuk menambahkan baris dalam kueri, operasi “+” digunakan. Anda hanya dapat menambahkan string dengan panjang terbatas.

PILIH "Nama: " + Rekanan. Nama SEBAGAI Kolom 1 DARI Direktori. Rekanan SEBAGAI Rekanan DI MANA Rekanan = & Tautan

Fungsi substring

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

Analog dari fungsi Environment() dari model objek. Fungsi Substring() dapat diterapkan ke data string dan memungkinkan Anda memilih sebuah fragmen <Строки> , dimulai dengan nomor karakter <НачальнаяПозиция> (karakter dalam satu baris diberi nomor mulai dari 1) dan panjangnya <Длина> karakter. Hasil perhitungan fungsi bertipe string dengan panjang variabel, dan panjangnya dianggap tidak terbatas jika <Строка> memiliki panjang dan parameter yang tidak terbatas <Длина> tidak konstan atau lebih besar dari 1024.

Jika panjang string kurang dari yang ditentukan pada parameter kedua, maka fungsi akan mengembalikan string kosong.

Perhatian! Tidak disarankan menggunakan fungsi SUBSTRING() untuk mengonversi string dengan panjang tak terbatas menjadi string dengan panjang terbatas. Sebaliknya, lebih baik menggunakan operator cast EXPRESS().

Fungsi Serupa

Jika kita perlu memastikan bahwa atribut string memenuhi kriteria tertentu, kita membandingkannya:

PILIH Rekanan. Nama SEBAGAI Kolom 1 DARI Direktori. Rekanan SEBAGAI Rekanan DIMANA Nama = "Gazprom"

Namun bagaimana jika Anda memerlukan perbandingan yang lebih halus? Bukan sekadar kesetaraan atau ketimpangan, tapi kesamaan pola tertentu? Untuk itulah fungsi SIMILAR diciptakan.

LIKE — Operator untuk memeriksa kesamaan string dengan suatu pola. Analogi LIKE dalam SQL.

Operator SIMILAR memungkinkan Anda membandingkan nilai ekspresi yang ditentukan di sebelah kirinya dengan string pola yang ditentukan di sebelah kanan. Nilai ekspresi harus bertipe string. Jika nilai ekspresi cocok dengan pola, hasil operatornya adalah TRUE, jika tidak, maka FALSE.

Karakter berikut dalam string templat adalah karakter layanan dan memiliki arti berbeda dari karakter string:

  • % (persen): urutan yang berisi sejumlah karakter arbitrer;
  • _ (garis bawah): satu karakter arbitrer;
  • […] (satu atau lebih karakter dalam tanda kurung siku): setiap karakter yang tercantum di dalam tanda kurung siku. Pencacahan dapat berisi rentang, misalnya a-z, yang berarti karakter sembarang yang termasuk dalam rentang tersebut, termasuk ujung rentang;
  • [^...] (dalam tanda kurung siku, tanda negasi diikuti oleh satu atau lebih karakter): karakter apa pun selain yang tercantum setelah tanda negasi.

Simbol lainnya berarti dirinya sendiri dan tidak membawa beban tambahan apa pun. Jika salah satu karakter yang tercantum perlu ditulis sendiri, maka harus didahului dengan<Спецсимвол>. Saya sendiri<Спецсимвол>(karakter apa pun yang sesuai) didefinisikan dalam pernyataan yang sama setelah kata kunci KARAKTER KHUSUS.

Catatan dari Melalui Kaca Tampak

18/08/2014 Fungsi baru untuk bekerja dengan string

Diimplementasikan pada versi 8.3.6.1977.

Kami telah memperluas rangkaian fungsi yang dirancang untuk bekerja dengan string. Kami melakukan ini untuk memberi Anda alat yang lebih canggih dalam mengurai data string. Fungsi-fungsi baru ini akan nyaman dan berguna dalam tugas-tugas teknologi analisis teks. Dalam tugas yang berkaitan dengan penguraian teks yang berisi data dalam bentuk yang diformat. Ini bisa berupa analisis beberapa file yang diterima dari peralatan, atau, misalnya, analisis log teknologi.

Anda dapat melakukan semua tindakan yang menjalankan fungsi baru sebelumnya. Menggunakan algoritma yang kurang lebih kompleks yang ditulis dalam bahasa bawaan. Oleh karena itu, fungsi-fungsi baru tidak memberi Anda kemampuan baru yang mendasar. Namun, mereka memungkinkan Anda mengurangi jumlah kode dan membuat kode lebih sederhana dan mudah dipahami. Selain itu, mereka memungkinkan Anda untuk mempercepat pelaksanaan tindakan. Karena fungsi yang diimplementasikan dalam platform tentu saja bekerja lebih cepat dibandingkan algoritma serupa yang ditulis dalam bahasa bawaan.

Fungsi pemformatan StrTemplate()

Fungsi ini menggantikan parameter menjadi string. Kebutuhan akan konversi seperti itu sering kali muncul, misalnya saat menampilkan pesan peringatan. Sintaks untuk fungsi ini adalah sebagai berikut:

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

<Шаблон>- ini adalah string yang Anda perlukan untuk mengganti representasi parameter.

<Значение1> , ... <Значение10>- ini adalah parameter (maksimum sepuluh), yang representasinya harus diganti ke dalam string.

Untuk menunjukkan tempat tertentu di templat tempat Anda ingin melakukan substitusi, Anda perlu menggunakan penanda seperti %1, ... %10. Jumlah penanda yang terlibat dalam templat dan jumlah parameter yang berisi nilai harus cocok.

Misalnya, hasil dari mengeksekusi operator seperti itu:

akan ada garis:

Kesalahan data pada baris 2 (Jenis tanggal diperlukan)

Fungsi untuk bekerja dengan string StrCompare()

Fungsi ini membandingkan dua string dengan cara yang tidak peka huruf besar-kecil. Misalnya seperti ini:

Anda dapat melakukan tindakan yang sama sebelumnya menggunakan objek tersebut Perbandingan Nilai:

Namun penggunaan fitur baru terlihat lebih mudah. Selain itu, fungsi, bukan objek Perbandingan Nilai, berfungsi di klien tipis dan klien web.

Fungsi untuk bekerja dengan string StrStartsWith(), StrEndsAt()

Fungsi-fungsi ini menentukan apakah suatu string dimulai dengan substring tertentu atau apakah suatu string diakhiri dengan substring tertentu. Algoritme untuk fungsi-fungsi ini tidak sulit untuk diterapkan dalam bahasa yang disematkan, tetapi kehadirannya memungkinkan Anda menulis kode yang lebih bersih dan mudah dipahami. Dan mereka bekerja lebih cepat.

Misalnya, akan lebih mudah untuk menggunakannya di operator Jika:

Fungsi untuk bekerja dengan string StrDivide(), StrConnect()

Fungsi-fungsi ini membagi string menjadi beberapa bagian menggunakan pembatas yang ditentukan. Atau sebaliknya, mereka menggabungkan beberapa baris menjadi satu, menyisipkan pemisah yang dipilih di antara baris-baris tersebut. Mereka berguna untuk membuat atau menganalisis log dan jurnal teknologi. Misalnya, Anda dapat dengan mudah mengurai entri log teknologi menjadi beberapa bagian yang sesuai untuk analisis lebih lanjut:

Fungsi untuk bekerja dengan string StrFind()

Alih-alih fungsi lama Menemukan() Kami telah menerapkan fungsi baru yang memiliki kemampuan tambahan:

  • Cari ke berbagai arah (dari awal, dari akhir);
  • Cari dari posisi tertentu;
  • Mencari suatu kejadian dengan nomor tertentu (kedua, ketiga, dst).

Faktanya, ini menduplikasi kemampuan fungsi lama. Hal ini dilakukan untuk menjaga kompatibilitas dengan modul yang dikompilasi di versi lama. Fungsi lama Menemukan() Disarankan untuk tidak menggunakannya lagi.

Di bawah ini adalah contoh penggunaan kemampuan pencarian baru. Pencarian terbalik berguna ketika Anda memerlukan bagian terakhir dari string yang diformalkan, seperti nama file lengkap di URL. Dan mencari dari posisi tertentu membantu jika Anda perlu mencari di bagian yang diketahui, dan bukan di seluruh baris.

Kemampuan dasar bahasa pemrograman biasanya mencakup bekerja dengan angka dan string. Biasanya fitur-fitur ini dikodekan ke dalam kode kompiler (atau kelas “dasar” dari bahasa pemrograman diimplementasikan).

Di 1C, kemampuan untuk bekerja dengan string diprogram di platform itu sendiri. Hari ini kita akan melihat fitur bekerja dengan string 1C dalam program dalam bahasa bawaan 1C.

Nilai garis 1C

1. Mari kita mulai dengan yang paling sederhana. Membuat variabel dan menetapkan nilai string konstan terlihat seperti ini di 1C:

Variabel = "Halo dunia!";

Jika Anda perlu menentukan karakter kutipan dalam nilai string 1C yang konstan, maka Anda perlu menggandakannya “”

Variabel = "Halo dunia"!;

2. Line break 1C dapat ditentukan dengan dua cara sekaligus. Yang pertama menggunakan simbol |

Variabel = "Halo,
| dunia! ";

Yang kedua adalah menggunakan sistem enumerasi Simbol. Ini memungkinkan Anda untuk menambahkan jeda baris 1C dan karakter non-cetak lainnya, seperti TAB.

Variabel = "Halo" + Simbol.PS + "damai!";

3. Konfigurasi dalam 1C dapat dikembangkan tidak hanya untuk satu bahasa (Rusia, Inggris, atau lainnya) - tetapi secara bersamaan untuk beberapa bahasa. Dalam hal ini, bahasa yang digunakan saat ini dipilih di bagian bawah jendela 1C.

Daftar bahasa terletak di jendela konfigurasi di cabang Umum/Bahasa. Setiap bahasa memiliki pengenal singkat seperti ru atau bahasa Inggris.

Jelas bahwa ketika memprogram konfigurasi seperti itu, jalur 1C juga bisa multibahasa. Untuk melakukan ini, Anda dapat membuat garis 1C dengan menentukan melalui; pilihan berdasarkan pengidentifikasi bahasa:

Variabel = "ru=""Halo dunia!"; en=""Halo dunia! """;

Jika menggunakan garis 1C yang dibentuk seperti biasa, maka akan sesuai dengan yang tertulis di dalamnya. Agar sistem dapat membaginya menjadi dua opsi dan menggunakan opsi yang diinginkan, Anda perlu menggunakan fungsi НStr():

//benar untuk konfigurasi bilingual
Laporan(NStr(Variabel));

Alat peraga dengan tipe garis 1C

Atributnya adalah bidang di direktori/dokumen 1C. Ini berbeda dari variabel dalam program dalam bahasa 1C karena tipenya ditunjukkan secara tepat untuk atribut (angka, string 1C, dll.). Jika Anda perlu menyegarkan ingatan Anda tentang apa itu alat peraga, tontonlah pelajaran selanjutnya.

Jika Anda menentukan jenis atribut - baris 1C, maka Anda juga harus menentukan parameternya.

Garis 1C memiliki panjang yang tidak terbatas (ditunjukkan sebagai panjang = 0) dan panjangnya terbatas, yang menunjukkan jumlah karakter yang tepat. Baris 1C dengan panjang tidak terbatas disimpan dalam tabel SQL terpisah, sehingga penggunaannya kurang produktif dibandingkan yang terbatas.

Itulah sebabnya penggunaan string 1C dengan panjang tidak terbatas memiliki keterbatasan - tidak mungkin untuk menggunakannya di mana pun. Misalnya, tidak diperbolehkan sebagai nomor dokumen, kode referensi, atau ukuran.

Bekerja dengan string 1C

Ada beberapa fungsi bawaan platform 1C untuk bekerja dengan string.

  • AbbrLP (“Luar biasa, tapi benar!”)
    Menghapus spasi ekstra dari baris 1C. Dapat juga digunakan untuk mengonversi tipe apa pun menjadi string 1C (misalnya, angka).
  • Variabel = "Vasya" + AbbrLP(" plus") + "Olya"; //akan ada "Vasya plus Olya"
    Contoh menjumlahkan beberapa nilai string 1C. Hasilnya akan menjadi satu baris 1C.
  • Variabel = Lev("Musik", 2); //akan menjadi "Mu"
    Variabel = Sedang("Musik", 2, 2); //akan ada "ancaman"
    Variabel = Hak("Musik", 2); //akan ada "ka"
    Berbagai pilihan untuk mendapatkan substring dari string 1C.
  • Variabel = Temukan("Musik", "zy"); //akan ada 3
    Cari substring di string 1C, dimulai dengan karakter 1.
  • Variabel = StrLength("Musik"); //akan ada 6
    Mengembalikan jumlah karakter di baris 1C.
  • Laporkan("Halo") //di jendela pesan di bagian bawah jendela 1C
    Peringatan("Halo") //dialog munculan
    Status("Halo") //pada baris tampilan status di kiri bawah
    .

Membawa objek ke garis 1C

Seperti yang Anda ketahui, format pertukaran informasi terstruktur yang paling populer saat ini adalah XML. Bahkan versi terbaru MS Office Word dan Excel menyimpan file dalam format ini (masing-masing docx dan xlsx, ubah ekstensinya menjadi zip, buka di pengarsip).

Platform pertukaran data 1C menyediakan beberapa opsi, yang utama juga XML.

1. Cara paling sederhana adalah dengan menggunakan fungsi Singkatan() atau String(). Anda dapat menggunakan fungsi REPRESENTATION() di isi permintaan. Hasil dari tindakan mereka sama - mereka menghasilkan representasi string dari objek 1C apa pun untuk pengguna.

Untuk direktori secara default, ini akan menjadi namanya. Untuk dokumen – nama dokumen, nomor dan tanggal.

2. Objek 1C apa pun (dengan batasan) dapat dikonversi ke XML dan sebaliknya. Proses konversi disebut serialisasi.

StringViewXml = XMLString(Nilai); //dapatkan XML dari nilai 1C
Value1C = XMLValue(Type("DirectoryLink.Nomenclature"),TypeStringXml); //mendapatkan nilai 1C dari string XML, Anda harus menentukan tipe 1C yang harus diterima

3. Ada cara platform 1C sendiri untuk mengubah objek 1C menjadi string. Itu bermigrasi dari versi 1C 7.7. Format ini tidak dipahami oleh program lain, tetapi 1C lain memahaminya, sehingga mudah digunakan untuk pertukaran antar database 1C.

Baris = ValueInRowInt(Value1C); //dapatkan string 1C dari nilai 1C
ValueVFile("C:\MyFile.txt", Value1C); //pilihan lain, kita mendapatkan file dengan string yang disimpan dari nilai 1C
Nilai1C = NilaiDariStringInt(String); //kembali dari baris 1C
Value1C = ValueFile("C:\MyFile.txt"); //kembali dari file

Mengedit baris 1C pada formulir

Selain bekerja dengan string 1C dalam program berbahasa 1C, tentunya saya ingin pengguna dapat mengeditnya. Ada beberapa kemungkinan untuk hal ini:

1. Cara termudah adalah dengan meminta masuknya jalur 1C sesuai permintaan. Metode ini digunakan ketika mengajarkan pemrograman 1C; dalam kehidupan, metode ini lebih jarang digunakan (tetapi digunakan!).

Variabel = "";
Baris = EnterValue(Variabel, "Masukkan Nama Lengkap");

2. Untuk menampilkan detail objek 1C (direktori/dokumen) atau detail formulir (lihat), kolom input paling sering digunakan. Ini adalah alat paling umum di 1C bagi pengguna untuk bekerja dengan bidang pengeditan.

3. Kemampuan kolom input dapat diperluas (lihat properti kolom input, klik kanan padanya, lebih detail):

  • Mode pengeditan multiline kotak centang
  • Kotak centang pengeditan lanjutan (tersedia jika kotak centang sebelumnya dicentang)
  • Kotak centang Mode kata sandi (lihat).

4. Jika semua kemampuan kolom input tidak cukup untuk Anda, ada editor bawaan. Untuk menambahkannya ke formulir, Anda perlu menambahkan Bidang Dokumen Teks ke menu Kontrol Formulir/Sisipkan. Di propertinya Anda dapat menentukan mode operasinya – properti Ekstensi.

Bidang dokumen teks tidak dapat dikaitkan langsung dengan data. Penting untuk menulis fungsi di event handler OnOpen() dalam bentuk (lihat):

Elemen Formulir.ElementNameTextDocumentField.SetText(StringValue); //di sini ValueString adalah teks yang diterima, misalnya, dari atribut

Dan di pengendali simpanan - misalnya, di tombol Simpan - tambahkan simpanan:

ValueString = FormElements.ElementNameTextDocumentField.GetText(); //ValueBaris di sini adalah atribut tempat kita menyimpan nilainya

5. Dalam 1C versi 8.2.11, dalam formulir terkelola, opsi baru untuk mewakili baris 1C telah muncul - bidang Dokumen Terformat.


Mirip dengan bidang dokumen teks, Anda harus mengaturnya saat membukanya dan menuliskannya saat menyimpannya sendiri menggunakan program.

  • Pada objek 1C yang bentuknya kita buat (direktori, dokumen, pemrosesan, dll.) - tambahkan atribut dengan tipe Value Storage
  • Dalam fungsi OnReadOnServer() kita mengatur teks dari atribut

    //di sini Atribut adalah atribut tambahan dari objek 1C
    //di sini FormattedDocument adalah nama field pada formulir untuk diedit
    &Di server

    FormattedDocument = Objek Saat Ini.Atribut.Get();
    Akhir Prosedur

  • Dalam fungsi BeforeWritingOnServer() atau menggunakan tombol, kita akan menulis teks dari kolom

    &Di server
    Prosedur Saat MembacaOnServer(CurrentObject)
    CurrentObject.Props = NewValueStorage(FormattedDocument);
    Akhir Prosedur

Tipe String ditemukan di semua bahasa pemrograman. Ini primitif, dan 1C memiliki banyak fungsi untuk bekerja dengannya. Pada artikel ini kita akan melihat secara detail berbagai cara bekerja dengan tipe string di 1C 8.3 dan 8.2 menggunakan contoh.

Garis

Untuk mengubah variabel jenis apa pun menjadi string, ada fungsi dengan nama yang sama “String()”. Parameter masukannya adalah variabel itu sendiri, yang representasi stringnya harus diperoleh.

String(False) // mengembalikan "Tidak"
String(12345) // mengembalikan "12,345"
String(Tanggal Saat Ini()) //"21/07/2017 11:55:36″

Dimungkinkan untuk mengonversi tidak hanya tipe primitif menjadi string, tetapi juga tipe lain, misalnya, elemen direktori dan dokumen.

SokrLP, SokrL, SokrP

Parameter masukan dari fungsi ini adalah variabel bertipe string. Fungsi tersebut menghapus karakter yang tidak penting (spasi, pengangkutan kembali, dll.): masing-masing dari sisi kiri dan kanan, hanya dari sisi kiri, dan hanya dari kanan.

Singkatan("Spasi pada kedua sisi akan dihilangkan") // "Spasi pada kedua sisi akan dihilangkan"
Singkatan("Spasi di kedua sisi akan dihilangkan") // "Spasi di sebelah kiri akan dihilangkan"
Singkatan("Spasi di kedua sisi akan dihilangkan") // "Spasi di sebelah kanan akan dihilangkan"

Leo, Benar, Sedang

Fungsi-fungsi ini memungkinkan Anda untuk memotong bagian dari sebuah string. Fungsi "Left()" akan mengembalikan bagian string dari sisi kirinya dengan panjang yang ditentukan. Fungsi "Kanan()" serupa, tetapi dipotong dari kanan. Fungsi “Avg()” memungkinkan Anda menentukan jumlah karakter dari mana garis akan dipilih dan panjangnya.

Lev("Variabel string", 4) // mengembalikan "Str"
Kanan("Variabel string", 7) // mengembalikan "variabel"
Sedang("Variabel string", 2, 5) // mengembalikan "troco"

Panjang Str

Fungsi ini menentukan jumlah karakter yang terkandung dalam variabel string.

StrLength("Word") // hasil eksekusinya adalah angka 5

Menemukan

Fungsi ini memungkinkan untuk mencari bagian dari string dalam variabel string. Nilai yang dikembalikan akan berupa angka yang menunjukkan posisi awal string yang ditemukan. Jika tidak ditemukan kecocokan, nol dikembalikan.

Harap diperhatikan bahwa penelusuran peka huruf besar-kecil. Jika ada lebih dari satu kemunculan substring pencarian dalam string asli, fungsi akan mengembalikan awal kemunculan pertama.

Find("one, two, one, two, three", "two") // fungsi akan mengembalikan angka 6

Garis kosong

Menggunakan fungsi ini memungkinkan Anda menentukan apakah suatu string kosong. Karakter kecil seperti spasi, pengangkutan kembali, dan lain-lain tidak diperhitungkan.

BlankString("Pupkin Vasily Ivanovich") // fungsi akan mengembalikan nilai False
BlankString(" ") // fungsi akan mengembalikan nilai Benar

VReg, NReg, TReg

Fungsi-fungsi ini sangat berguna saat membandingkan dan mengonversi variabel string. "Vreg()" akan mengembalikan string asli dalam huruf besar, "HPreg()" dalam huruf kecil, dan "TReg()" akan memformatnya sehingga karakter pertama dari setiap kata menggunakan huruf kapital, dan semua karakter berikutnya menggunakan huruf kapital.

VReg("DIREKTUR UMUM") // nilai yang dikembalikan - "DIREKTUR UMUM"
NReg(“CEO DIRECTOR”) // nilai yang dikembalikan – “CEO”
TREG(“CEO DIRECTOR”) // nilai kembalian – “Direktur Umum”

Ganti Halaman

Fungsi ini dianalogikan dengan penggantian pada editor teks. Hal ini memungkinkan Anda untuk mengganti satu karakter atau kumpulan karakter dengan yang lain dalam variabel string.

StrReplace("merah, putih, kuning", ","", ";") // mengembalikan "merah; putih; kuning"

StrNumberLines

Fungsi ini memungkinkan Anda menentukan jumlah baris yang dipisahkan oleh carriage return dalam variabel teks.

Perulangan pada contoh di bawah ini akan melewati tiga putaran karena fungsi LineNumberRow akan mengembalikan nilai 3:

Untuk ind = 1 dengan StrNumber Strings ("Line1" + Symbols.PS + "Line2" + Symbols.PS + "Line3") Siklus
<тело цикла>
Siklus Akhir;

StrGetString

Fungsi ini bekerja dengan teks multiline dengan cara yang sama seperti yang sebelumnya. Ini memungkinkan Anda mendapatkan string tertentu dari variabel teks.

StrGetString("String1" + Karakter.PS + "String2" + Karakter.PS + "String3", 2) // mengembalikan "String2"

NomorHalamanKejadian

Fungsi ini menghitung jumlah kemunculan karakter atau substring dalam string pencarian.

StrNumberAttachments("a;b;c;d; ", ";") // fungsi akan mengembalikan angka 4

Simbol dan Kode Simbol

Fungsi-fungsi ini memungkinkan Anda memperoleh karakter berdasarkan kodenya dalam pengkodean Unicode, serta menentukan kode ini berdasarkan karakter itu sendiri.

SymbolCode("A") // fungsi akan mengembalikan angka 1.040
CharacterCode(1040) // fungsi akan mengembalikan “A”

Tugas umum saat bekerja dengan string

String Penggabungan

Untuk menggabungkan beberapa string (untuk melakukan penggabungan), cukup menggunakan operator penjumlahan.

“Baris 1″ + “Baris 2″ //hasil penjumlahan dua baris akan menjadi “Baris 1 Baris 2”

Jenis Konversi

Untuk mengubah suatu tipe menjadi string, misalnya link ke elemen direktori, angka, dll., cukup menggunakan fungsi “String()”. Fungsi seperti “ScrLP()” juga akan mengubah variabel menjadi string, tetapi langsung dengan memotong karakter yang tidak penting.

String(1000) // mengembalikan "1.000"

Harap dicatat bahwa saat mengonversi angka menjadi string, program secara otomatis menambahkan spasi yang memisahkan ribuan. Untuk menghindari hal ini, Anda dapat menggunakan konstruksi berikut:

StrReplace(String(1000),Karakter.NPP,"") // mengembalikan "1000"

String(Format(1000,"HG=")) // mengembalikan "1000"

Kutipan dalam sebuah string

Seringkali Anda harus menghadapi kebutuhan untuk menentukan tanda kutip dalam variabel string. Ini bisa berupa teks permintaan yang ditulis di konfigurator, atau hanya sebuah variabel. Untuk mengatasi masalah ini, Anda hanya perlu memberi dua tanda kutip.

Header = String("Horns and Hooves LLC - itu kami!") // akan mengembalikan "Horns and Hooves LLC - itu kami!"

Multi-baris, jeda baris

Untuk membuat teks multibaris, cukup tambahkan jeda baris (Symbols.PS) ke dalamnya.

MultilineText = “Baris Pertama” + Simbol.PS + “Baris Kedua”

Cara menghilangkan spasi

Untuk menghilangkan spasi di kanan atau kiri, Anda dapat menggunakan fungsi “ScrAP()” (serta “ScrL()” dan “ScrP()”):

StringNoSpaces = Singkatan("Banyak huruf") // fungsi akan mengembalikan nilai "Banyak huruf"

Jika, setelah mengonversi angka menjadi string, Anda perlu menghapus spasi yang tidak dapat terputus, gunakan konstruksi berikut:

StringNoSpaces = StrReplace(String(99999),Karakter.NPP,"") // mengembalikan "99999"

Pemrogram juga sering menggunakan konstruksi berikut, yang memungkinkan Anda menghapus atau mengganti dengan karakter lain semua spasi dalam variabel teks:

StringNoSpaces = StrReplace("halo","") // mengembalikan "halo"

Membandingkan string satu sama lain

Anda dapat membandingkan suku-suku dengan tanda sama dengan biasa. Perbandingannya peka huruf besar-kecil.

"Halo" = "halo" // mengembalikan False
"Halo" = "Halo" // mengembalikan Benar
"Halo" = "Selamat tinggal" // mengembalikan False

Diimplementasikan pada versi 8.3.6.1977.

Kami telah memperluas rangkaian fungsi yang dirancang untuk bekerja dengan string. Kami melakukan ini untuk memberi Anda alat yang lebih canggih dalam mengurai data string. Fungsi-fungsi baru ini akan nyaman dan berguna dalam tugas-tugas teknologi analisis teks. Dalam tugas yang berkaitan dengan penguraian teks yang berisi data dalam bentuk yang diformat. Ini bisa berupa analisis beberapa file yang diterima dari peralatan, atau, misalnya, analisis log teknologi.

Anda dapat melakukan semua tindakan yang menjalankan fungsi baru sebelumnya. Menggunakan algoritma yang kurang lebih kompleks yang ditulis dalam bahasa bawaan. Oleh karena itu, fungsi-fungsi baru tidak memberi Anda kemampuan baru yang mendasar. Namun, mereka memungkinkan Anda mengurangi jumlah kode dan membuat kode lebih sederhana dan mudah dipahami. Selain itu, mereka memungkinkan Anda untuk mempercepat pelaksanaan tindakan. Karena fungsi yang diimplementasikan dalam platform tentu saja bekerja lebih cepat dibandingkan algoritma serupa yang ditulis dalam bahasa bawaan.

Fungsi pemformatan StrTemplate()

Fungsi ini menggantikan parameter menjadi string. Kebutuhan akan konversi seperti itu sering kali muncul, misalnya saat menampilkan pesan peringatan. Sintaks untuk fungsi ini adalah sebagai berikut:

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

<Шаблон>- ini adalah string yang Anda perlukan untuk mengganti representasi parameter.

<Значение1> , ... <Значение10>- ini adalah parameter (maksimum sepuluh), yang representasinya harus diganti ke dalam string.

Untuk menunjukkan tempat tertentu di templat tempat Anda ingin melakukan substitusi, Anda perlu menggunakan penanda seperti %1, ... %10. Jumlah penanda yang terlibat dalam templat dan jumlah parameter yang berisi nilai harus cocok.

Misalnya, hasil dari mengeksekusi operator seperti itu:

akan ada garis:

Kesalahan data pada baris 2 (Jenis tanggal diperlukan)

Fungsi untuk bekerja dengan string StrCompare()

Fungsi ini membandingkan dua string dengan cara yang tidak peka huruf besar-kecil. Misalnya seperti ini:

Anda bisa melakukan tindakan yang sama sebelumnya menggunakan objek Perbandingan Nilai:

Namun penggunaan fitur baru terlihat lebih mudah. Selain itu, fungsinya, tidak seperti objek Perbandingan Nilai, berfungsi baik di klien tipis maupun klien web.

Fungsi untuk bekerja dengan string StrStartsWith(), StrEndsAt()

Fungsi-fungsi ini menentukan apakah suatu string dimulai dengan substring tertentu atau apakah suatu string diakhiri dengan substring tertentu. Algoritme untuk fungsi-fungsi ini tidak sulit untuk diterapkan dalam bahasa yang disematkan, tetapi kehadirannya memungkinkan Anda menulis kode yang lebih bersih dan mudah dipahami. Dan mereka bekerja lebih cepat.

Misalnya, mereka mudah digunakan dalam pernyataan If:

Fungsi untuk bekerja dengan string StrDivide(), StrConnect()

Fungsi-fungsi ini membagi string menjadi beberapa bagian menggunakan pembatas yang ditentukan. Atau sebaliknya, mereka menggabungkan beberapa baris menjadi satu, menyisipkan pemisah yang dipilih di antara baris-baris tersebut. Mereka berguna untuk membuat atau menganalisis log dan jurnal teknologi. Misalnya, Anda dapat dengan mudah mengurai entri log teknologi menjadi beberapa bagian yang sesuai untuk analisis lebih lanjut:

Fungsi untuk bekerja dengan string StrFind()

Daripada menggunakan fungsi Find() yang lama, kami telah mengimplementasikan fungsi baru yang memiliki kemampuan tambahan:

  • Cari ke berbagai arah (dari awal, dari akhir);
  • Cari dari posisi tertentu;
  • Mencari suatu kejadian dengan nomor tertentu (kedua, ketiga, dst).

Faktanya, ini menduplikasi kemampuan fungsi lama. Hal ini dilakukan untuk menjaga kompatibilitas dengan modul yang dikompilasi di versi lama. Disarankan agar Anda tidak lagi menggunakan fungsi Find() yang lama.

Di bawah ini adalah contoh penggunaan kemampuan pencarian baru. Pencarian terbalik berguna ketika Anda memerlukan bagian terakhir dari string yang diformalkan, seperti nama file lengkap di URL. Dan mencari dari posisi tertentu membantu jika Anda perlu mencari di bagian yang diketahui, dan bukan di seluruh baris.



 


Membaca:



Cara mengatur melodi Anda ke kontak yang diinginkan pada smartphone Nokia X2 dengan dua kartu SIM

Cara mengatur melodi Anda ke kontak yang diinginkan pada smartphone Nokia X2 dengan dua kartu SIM

ibnlive.in.com Bagaimana cara menyetel melodi di Nokia Lumia? Orang-orang menanyakan pertanyaan ini segera setelah membeli telepon. Lagi pula, biasanya, di semua zaman modern...

Program gratis untuk Windows diunduh secara gratis

Program gratis untuk Windows diunduh secara gratis

Microsoft .NET Framework dirancang untuk program yang berjalan pada arsitektur ".NET". Versi pertamanya dirilis pada tahun 2002 sebagai analog...

Cara membakar image ISO apa pun ke USB flash drive

Cara membakar image ISO apa pun ke USB flash drive

Halo teman teman! Hari ini kita akan membahas lagi tentang membuat flash drive USB yang dapat di-boot. Bagaimana cara membuat perangkat USB yang dapat di-boot? Untuk tujuan apa itu harus digunakan...

Panggilan dari nomor tak dikenal

Panggilan dari nomor tak dikenal

Baru-baru ini di Rusia, pengguna menemukan jenis "spam" baru, di mana pelanggan terus-menerus dipanggil dan dikeluarkan dari alamat yang tidak diketahui...

gambar umpan RSS