Unifinityでメッセージを改行して表示する方法

テックポエム

本記事はUnifinity Advent Calendarの記事になります。

本日はUnifinityで表示するメッセージを任意の位置で改行する方法についてお話しします。
Unifinityを使い慣れた方にとっては既に常識かと思いますが、
最近Unifinityを使い始めた方には、過去の自分のようにやり方がわからない方もいるかもしれませんので、
生温かい目で見てくださると幸いです。


私が入社したてのころの話ですが、
取得したデータを連結してメッセージボックスに表示する簡単なアプリをUnifinityで作っていると、
メッセージボックスの1行が長すぎるために変な箇所で強制的に改行させられてしまい、
そのせいでとても読みにくいメッセージが表示されることに困っておりました。
しかし、これは適切な位置で改行を挿入するだけで解決する簡単な問題です。
メッセージを改行するには、文字列の間に改行文字を連結する必要がありますが、
Unifinityの仕様をよく知らなかった当時の私は【文字列関数/連結】ロジックの文字列入力欄でEnterを押すだけで改行できると思っていました。
しかし実際にEnterを押しても入力欄の表示は変わらず、改行を直接入力することできませんでした。

adventcalendar_maeda_image1.png

その後、入力欄に”\n”や”\r\n”などを入力するといった無駄なあがきをしましたが、
当然入力した文字がそのままメッセージとして表示されるだけで、どれもうまくいきませんでした。

どうやら【文字列関数/連結】ロジックに改行を直接入力することはできないようなので、
別ロジックで改行文字を作成し、その結果を引き継いで連結することにしました。

adventcalendar_maeda_image2.png

しばらくロジックコンポーネントとにらめっこして改行文字を作成する方法を探した結果、
2種類のロジックで改行文字を作成することができました。
以下はその改行文字を作成する2種類の方法となります。

改行文字を作成する方法1【独自/スクリプト】

【独自/スクリプト】ロジックに”\n”を返すだけの簡単なスクリプトを記述すると、その処理結果は改行コードとして認識されます。
adventcalendar_maeda_image3.png
このロジックの処理結果を改行したい位置に連結すると...
adventcalendar_maeda_image6.png
正しく改行することができました。
しかし簡単なスクリプトとはいえ、改行するだけのことにいちいちコードを書くのは、あまりいい方法とは言えません。
そもそもUnifinityはノンプログラミング化を目指してますので、コードを書くようなやり方はナンセンスと言えます。
なので、基本的には次の方法で改行文字を作成することをお勧めします。


改行文字を作成する方法2【独自/入力文字列返却】

これが最も簡単で単純な方法かと思います。
その方法は、【独自/入力文字列返却】ロジックの入力欄でEnterを押すだけです。
adventcalendar_maeda_image5.png
このロジックの処理結果を先程と同様に改行したい位置で連結すると...
adventcalendar_maeda_image6.png
この方法でも正しく改行することができました。

とても簡単な方法で実装することができましたが、どちらの方法も【独自】ロジックを使っています。
 【独自】ロジックは普段あまり使われないような、どちらかというとマイナーなイメージですが、
普段使わないロジックでもたまにピックアップしてみると、意外と新しい使い方が見つかるかもしれません。

このようなTipsは当社のサポートサイトUnifinity Creative Loungeにもたくさんコンテンツがあります。是非参考にしてください。