列ロボットの新機能。 列ロボットの新機能 1C 8.3 列ロボットの機能

ゴロヴナ / 基本機能

インポートされた 1C 言語の 1C 8.3 の行にはプリミティブ型の値があります 。 このタイプの意味は、非常に長い間、行を Unicode 形式で置き換えることです。 行タイプの変更は、足元の関節のシンボルのセットです。

例 1. 簡単なテキストを作成してみましょう。

リャドコヴァ・ズミナ = 「Hello world!」;

行1sを持つロボットの機能 8.3

このセクションには、行を 1 秒で変更したり、行に適合する情報を分析したりできる基本的な機能があります。

線の長さ

StrLength(<Строка>) 。 パラメータで渡された行に収まるように文字数を回転します。

例 2. 「Hello world!」行のシンボルの数を確認します。

行 = "Hello world!"; 文字数 = StrLength(Row); アナウンス (文字数);

このコードの結果は、連続するシンボルの数だけ画面に表示されます: 11。

略語

略語(<Строка>) 。 連続する最初のシンボルの前に、左向きに立つ重要でないシンボルがあります。
小文字:

  • 壊す;
  • 空き地は破ることができません。
  • 集計;
  • キャリッジの回転。
  • 行シフト。
  • フォームの翻訳(サイドストーリー)。

例 3. 光の列の左側からすべての空き地を掃除します。 そこに「Hello」行を追加します。

行 = AbbrL (「光!」); 行 = "こんにちは" + 行; 表示(行);

コードを入力すると、画面上の「Hello world!」の行にコードが表示されます。

略称

略語(<Строка>) 。 行の最初のシンボルのすぐ隣に、重要ではないシンボルが立っています。

例 4. 一連の「こんにちは」と「Svit!」を形成します。 「Hello world!」というフレーズ

Row = 略語("Hello")+"+ 略語("light!"); Show(Row);

略語LP

略語LP(<Строка>) 。 行の最初の文字の前に右向きに立つ重要でない記号もあり、行の最初の文字の前に左向きに立つ重要でない記号もあります。 この関数はより汎用的であるため、頻繁に使用されます。

例 5. 雇われた取引相手から、重要ではないシンボルの左巻きと右巻きを取得します。

Counterparty = 当局.Counterparty.KnowByRequisite("IPN", "0777121211"); CounterpartyObject = Counterparty.OtrimatiObject(); 取引相手のオブジェクト。 名前 = AbbrLP (取引相手オブジェクト。名前); カウンターパーティオブジェクト。 書く();

ライオン

ライオン(<Строка>, <ЧислоСимволов>) 。 パラメータで指定された文字数分の行の最初の文字を削除します。 文字数。

尻 6. 構造物に行く スピブロビトニク名前は父の軍服から取ったあだ名です。 名前とイニシャルから行を削除します。

Initial = Lev(Spivrobitnik.Im'ya, 1); バトキフシチナの頭文字 = レオ(Spivrobitnik. Po-Batkovy、1)。 イムヤの外=スピブロビトニク。 ニックネーム+「 」+名前のイニシャル+「」。 + 祖国のイニシアチブ + ".";

私はトランシーバーを使います

右(<Строка>, <ЧислоСимволов>) 。 行の残りのシンボル、パラメータで指定されたシンボルの数を選択します 文字数。シンボルの数を指定して行の一番下に移動すると、行全体が回転します。

例 7. たとえば、行を変更すると、日付が「yyyymmdd」の形式で書き込まれます。日付が含まれる行を削除して、その型に変更します。 日付.

行 = "行日: 20170910"; RowDate = Right(Row, 8); 日付 = 日付(RowDate);

セレドヴィチェ

セレドヴィチェ<Строка>, <НачальныйНомер>, <ЧислоСимволов>) 。 パラメータで渡された順序から順序を削除します 記号で始まるパラメータの各表示の番号 コブ番号パラメータに渡される追加量 文字数。行内の文字の番号は 1 から始まります。 コブ番号 0 以下の値が指定された場合、パラメーターは値 1 をとります。 文字数指定しない場合、シンボルは行の終わりまで選択されます。

例 8. 次の行の 9 番目から順に地域コードを入力し、それを選択して次の行に書き留めます。

行 = "地域: 99 r. モスクワ"; 地域 = セレドヴィシュチェ (行、9、2);

ページ検索

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) 。 この関数は、指定された注文を行内で検索し、見つかった注文の最初のシンボルの位置番号を返します。 この関数のパラメータを見てみましょう。

  • 。 列を出る;
  • ポドリヤトカポシュク。 列をなして急いでいます。
  • 直接検索。 行内の行の検索を直接示します。 次の値を取得できます。
    • 率直に言うと、冗談です。;
    • 直接聞いてみます。;
  • ポチャトコワポジション。 検索が開始される行内の位置を示します。
  • 部屋入口。 出力行で選択されている行のエントリ番号を示します。

例 9. 「Hello world!」の行 「i」記号に残りの入力の位置を示します。

PositionNumber = StrFind("Hello, world!", "i", DirectlySearch.End); アナウンス(位置番号);

コードを入力すると、画面に「i」記号に入力されている残りの番号「9」が表示されます。

VReg

VReg(<Строка>) 。 138 の指定された行のすべての文字を大文字に変換します。

例 10. 「Hello light!」の行を反転します。 大文字にします。

RowVreg = VRreg("こんにちは、光!"); 表示 (行);

コードを入力すると、画面の「HELLO SWIT!」の行にコードが表示されます。

NReg

NReg(<Строка>) 。 1s 8 の指定された行のすべての文字を小文字に変換します。

例 11. 「HELLO SWIT!」の行を反転します。 小文字にします。

RowNreg = NReg("HELLO SWIT!"); 表示 (行);

コードを入力すると、画面の「Hello World!」行にコードが表示されます。

トレグ

treg(<Строка>) 。 次のステップで行が再配置されます。単語の最初の文字が大文字に変換され、単語の最後の記号が小文字に変換されます。

例 12. 「Hello, world!」の行で素晴らしい最初の文字を獲得します。

RowTreg = TReg("こんにちは、光!"); Show(RowTreg);

コードを入力すると、画面の「Hello World!」行にコードが表示されます。

シンボル

シンボル(<КодСимвола>) 。 Unicod コードの背後にある文字を削除します。

例 13. 「Hello World!」の行におけるドーダモの左利きと右利き 記号★

星付き RowZi = Symbol("9733")+"Hello World!"+Symbol("9733"); アナウンス (星と並ぶ);

コードを入力すると、画面の「Hello World!★」の行にコードが表示されます。

コードシンボル

コードキャラクター(<Строка>, <НомерСимвола>) 。 最初のパラメータで割り当てられた順序で、位置が拡張され、別のパラメータに割り当てられた Unicode の文字のコードを取得します。

例 14. 「Hello World!」行の残りのシンボルのコードを見つけます。

行 = "Hello World!"; CodeSymbol = CodeSymbol(Row, LineLength(Row)); 表示(コードシンボル);

コードを入力すると、画面に「!」マークが表示されます。 - 33.

空ステッチ

空ステッチ(<Строка>) 。 重要でないシンボルのみの行が形成されているかどうかを確認し、その行が空になっているかどうかを確認します。

例 15. 空の行が 3 つのスペースで構成されていることを確認します。

空 = EmptyRow(" "); ポビドミティ(空);

このコードの結果は、画面上に「So」という単語 (論理的な意味の正規表現) が表示されます。 真実).

ページ置換

ページ置換 (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) 。 出力行内のすべての入力行を検索し、置換順序で置き換えます。

例 16. 「Hello World!」の行 「世界」という言葉を「友達」という言葉に置き換えてください。

Row = StrReplace("Hello World!", "ワールド", "フレンズ"); 表示(行);

コードを入力すると、画面の「Hello Friends!」の行にコードが表示されます。

ページ番号行

StrNumberRow(<Строка>) 。 連続して複数の列を栽培できます。 新しい行 1c 8 に移動するには、シンボルが活性化されます。 PS(行反転のシンボル)。

例 17. テキストの行数を計算します。
「最初の行
もう一列
3列目」

Number = StrNumberRow("最初の行" + シンボル。PS + "別の行" + シンボル。PS + "3 行目"); (数値) を表示;

このコードの結果は、画面に表示されるテキストの行数になります: 3

ラインオトリマティ行

ストロトリマティロク(<Строка>, <НомерСтроки>) 。 y 番目の番号の後の行からその行を減算します。 行の番号付けは最初から始まります。

例 18. テキストから残りの行を削除します。
「最初の行
もう一列
3列目」

テキスト = 「最初の行」 + 記号。 PS + 「別の行」 + 記号。 PS +「3行目」; RemainingRow = StrOtrimatiRoku(Text, StrNumberRow(Text)); 表示(OstAnyaRow);

このコードを入力すると、「3行目」の行の画面にコードが表示されます。

ページ番号インドゼン

StrNUMINCODE(<Строка>, <ПодстрокаПоиска>) 。 指定された行のエントリの数を 1 つの行に回転します。 この関数はレジスタに依存します。

例 19. レジスタに関係なく、行「1c 8.3 および 8.2 の行」の前に文字「c」が何回入力されるかを調べます。

行 = "1c 8.3 および 8.2 の行"; NumberInput = StrNumberInput(Vreg(Row), "C"); Povidity(NumberInputs);

このコードの結果は、入力された数値 2 を表示します。

から始まる

で始まる(<Строка>, <СтрокаПоиска>) 。 最初のパラメータで一連の送信を確認し、他のパラメータで一連の送信を開始します。

例 20. 重要なのは、選択した取引相手の IPN が数字 1 で始まることです。変更を忘れないでください。 取引相手 取引相手.

IPN = カウンターパーティ.IPN; BeginsUnits = StrBeginsWith(IPN, "1"); 開始方法Unit Todi //コード EndYaksto;

ページ終了位置

StrEndsWith(<Строка>, <СтрокаПоиска>) 。 最初のパラメータの一連の送信が終了し、別のパラメータの一連の送信が終了したかどうかを確認します。

例 21. 選択した相手先の IPN が 2 で終わることを意味します。交換業者に問い合わせてください。 取引相手付録アイテムへのメッセージの送信が保存されます。 取引相手.

IPN = カウンターパーティ.IPN; 2 で終わる = ページは (IPN, "2") で終わります。 2 日で終了する方法 // コードの終了方法;

共有

分ける(<Строка>, <Разделитель>, <ВключатьПустые>) 。 行を指定された区切り記号に続く部分に分割し、配列から減算された行を記録します。 最初のパラメータは終了行を保存し、2 番目のパラメータはセパレータを配置する行を設定します。3 番目のパラメータは配列に空の行を記録する必要があるかどうかを指定します(クリーニング後) 真実).

例 22. 数値を記号「;」で区切ることができる系列がある場合、数値の配列を順番に選択できます。

行 = "1; 2; 3"; 配列 = ROZDILITI(行, ";"); アカウント = 0 配列による。 数量 () - 1 サイクル サンプル配列 [Sch] = 数値 (AbbrLP (配列 [Sch])); ヴィニャトク・マシヴ [Sch] = 0; EndTry EndCycle;

その結果、1 から 3 までの数値の配列が選択されます。

ストラゼドナティ

StrZ'ednati(<Строки>, <Разделитель>) 。 配列のすべての要素をセパレータ、別のパラメータの値を介して配置するために、最初のパラメータの行の配列を行に変換します。

例 23. Vikoristovuyuchi の番号の配列を前端から取り出し、出口列を取得します。

アカウント = 0 配列による。 数量 () - 1 サイクル 配列 [Sch] = 行 (配列 [Sch]); KіnetsCycle; 行 = StrZ'ednati(配列, "; ");

『ビハインド・ザ・ルッキング・グラス』の楽譜

2014/08/18 ロボットの新機能が続々登場

バージョン 8.3.6.1977 で実装されました。

行を操作するための関数の範囲を拡張しました。 これは、行データを分析するための高度なツールを提供するために作成されました。 新しい機能は便利で、技術的に高度なテキスト分析を補完するものになります。 テキスト解析に関連するタスク。書式設定されたビューのデータに対応します。 これには、所有中に取得されたファイルの分析や、たとえば技術ジャーナルの分析が含まれる場合があります。

新しい機能を導入するすべてのイベントは、事前に削除できます。 さらに役立つように、私のインスピレーションによって書かれた複雑なアルゴリズムはほとんどありません。 したがって、新しい関数によって新しい機能が提供されるわけではありません。 ただし、コードを短縮できるため、コードの作成がより簡単かつ理解しやすくなります。 さらに、悪臭により戦争が加速します。 プラットフォームに実装された関数は、基本的に、私が作成した同様のアルゴリズムの下で動作するためです。

関数の書式設定 StrTemplate()

この関数は行パラメータを提供します。 このような再作成の必要性は、たとえば、事前に通知される時間前に発生することがよくあります。 この関数の構文は次のようになります。

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

<Шаблон>- パラメータを入力する必要がある順序。

<Значение1> , ... <Значение10>- これらのパラメーター (最大 10 個) を 1 行に入力する必要があります。

置換を選択する必要があるテンプレート内の特定の場所を指定するには、%1、... %10 のようなマーカーを選択する必要があります。 テンプレートに割り当てられたマーカーの数と、値を変更するためのパラメーターの数が失われる可能性があります。

たとえば、このようなオペレーターの Wiki の結果は次のようになります。

次の行が表示されます。

行 2 のデータ処理 (日付型が必要)

行ロボット関数 Compare()

この関数は、レジスタを調整せずに 2 つの行を等化します。 たとえば、次のようになります。

これはまさに、別のオブジェクトのためにもっと早く終了できたはずのものです ランク値:

ただし、新しい機能の導入はもっと簡単なようです。 オブジェクトの機能は何ですか? ランク値これは、シン クライアントと Web クライアントの両方で機能します。

行を持つロボットの関数 LineStartsWith()、LineEndsWith()

これらの関数は、行が指定された順序で始まるかどうか、および行が指定された順序で終了するかどうかを示します。 これらの関数のアルゴリズムは設計上実装が困難ですが、その明確さにより、よりクリーンでインテリジェントなコードを作成できます。 スウェーデンの匂いがします。

たとえば、オペレータで簡単に可視化できます。 ヤクシチョ:

行を含むロボット関数 Build()

これらの関数は、行を指定された分割線の後ろの部分に分割します。 それ以外の場合は、行の間に選択区切り文字を挿入して、複数の行を 1 つに結合します。 結果は手動で作成され、ログや技術ジャーナルによって分析されます。 たとえば、技術ログ エントリは、さらに分析するために簡単にいくつかの部分に分割できます。

ロボット行関数 StrFind()

古い機能の置き換え 知る()追加機能を備えた新しい関数を実装しました。

  • さまざまな方向のポシュク(最初から最後まで)。
  • 指定した位置から検索する
  • 割り当てられた番号 (別の番号、3 番目など) からエントリを検索します。

実際、これは古い関数の機能を複製します。 これは、古いバージョンからコンパイルされたモジュールの混乱を避けるために行われます。 古い機能 知る()これ以上刺激しないことをお勧めします。

お尻は下を向いており、これはビコリストの新たなジョークの可能性です。 URL 内のファイル名の外側など、形式化された行の残りのフラグメントが必要な場合は、直接検索が便利です。 指定された位置からのジョークは、行全体ではなく特定の断片でジョークを言う必要がある場合に役立ちます。

1C 電源の行を操作するメカニズムはほとんどありません。 まず第一に、行を折りたたむことができます。 別の方法では、行から行を取得することもできます。 第三に、テンプレートに従って行を整列させることができます。 軸は、行内で作業できるすべてのものである可能性があります。

行を折りたたむ

行に行を追加するには、「+」演算を使用します。 積み重ねることができるのは、並んだ行のみです。

VIBRATI "名前: " + Counterparties.Named YAK Column 1 Z Dovidnik.Counterparties YAK Counterparties DE Counterparties.Posilannya = &Posilannya

機能調整

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

オブジェクト モデルの Sered() 関数に相当します。 Substring() 関数は行タイプのデータに要約でき、フラグメントを表示できます。 <Строки> 、数字記号で始まります <НачальнаяПозиция> (連続するシンボルには 1 の番号が付けられます) および dovzina <Длина> 文字。 関数の計算結果は変更可能な dowzhin の行タイプであり、dowzhin は交換可能ではありません。 <Строка> そのパラメータを交換することはできません <Длина> 定数は 1024 ではありません。

空行が小さい場合は、低い行が別のパラメータに設定され、関数は空行になります。

尊敬! PIDSTROW() 関数を使用して、カットされていないラインの行をカット ラインの行に減らすことはお勧めできません。 代わりに、VIRASITI() タイプの演算を使用することをお勧めします。

同様の機能

行の詳細が次の基準を満たしていることを確認する必要がある場合は、次のことに同意します。

VIBRATI Counterparties.Name YAK 列 1 Z Dovidnik.Counterparties YAK Counterparties DE Counterparties.Name = "Gazprom"

なぜレベリング以上の狡猾さが必要なのでしょうか? 嫉妬や緊張だけでなく、曲のテンプレートとの類似性? 関数自体も同様の方法でこの目的のために作成されます。

CONFIRMATIVE - パターンに一致するように行を反転する演算子。 SQL の LIKE に似ています。

この演算子を使用すると、右辺で指定された式の値を等化することもできます。 母の列は重要です。 式の値がテンプレートを満たす場合、演算子の結果は TRUE になり、そうでない場合は FALSE になります。

テンプレートの行内の対応するシンボルはサービス シンボルであり、行のシンボルに割り当てられた意味を持ちます。

  • % (百単位): できるだけ多くの文字を収容するためのシーケンス。
  • _ (椅子): 追加の 1 文字。
  • […] (四角腕には 1 つ以上のシンボルがあります): 四角腕の中央の任意の 1 つのシンボル。 再配置は、より狭い範囲、たとえば a ~ z を持つ場合があります。これは、範囲の終わりを含む、範囲に含まれる最後のシンボルを意味します。
  • [^...] (四角形の腕の中に十字記号があり、その後に 1 つ以上の記号が続きます): 十字記号の後にリストされている記号に加えて、任意の 1 つの記号。

他のシンボルはそれ自体を意味し、不可欠な追加の魅力ではありません。 リストされているシンボルのいずれかを自分で書き留める必要がある場合は、次のコードを転送できます。<Спецсимвол>。 自分自身<Спецсимвол>(任意の特殊記号) は、キーワード SPECIAL CHARACTER の後の同じ演算子に表示されます。

© 2024 androidas.ru - Android のすべて