KLWPで登録しておくと何かと便利なグローバル変数-曜日の英語表記・漢数字で日付時間など

フルカスタマイズできるライブ壁紙アプリ『KLWP』で、いろいろなホーム画面を作っていると何度も同じような式を書いていることがあります。そういった「何度も使うもの」はグローバル変数に登録しておくと便利です。とりあえずそのグローバル変数を登録しただけのプリセットを作っておき、新しいものを作る時はそのプリセットから始める、というのが賢いです。

グローバル変数の使い方

20161109-klwp-220161109-klwp-3

グローバル変数は編集画面のルートからタブを移動していくと出てきます。変数として登録できるものは「フォント」「色」「On/Off切り替え」などあります。
「フォント」を登録しておき、実際の各アイテムでフォントにこのグローバル変数を設定しておけば、複数のアイテムのフォントをいっぺんに変更することができます。「色」も同じです。

20161109-klwp-420161109-klwp-5

テキストのグローバル変数を登録しておけば、それを各アイテムで式の中に組み込むことができます。$gv(変数名)$で簡単に呼び出すことができます。

式の中で何度も使うようなものはこのテキストのグローバル変数に登録しておくと便利です。そういう意味で便利かもしれない式をいくつか紹介します。

曜日名を英語で表示

アプリの言語を日本語にしておくと、$df(EEEE)$で表示する曜日名も日本語になってしまいます。表示が日本語ではかっこ悪いからアプリの言語も英語にする、という手もありますがそれで操作しにくいのでは困ります。なので曜日番号を表示する$df(f)$を使って、自分の好きな言葉で曜日を表示します。

ifを使う

$if(df(f)=1,mon,df(f)=2,tue,df(f)=3,wed,df(f)=4,thu,df(f)=5,fri,df(f)=6,sat,sun)$

$df(f)$は曜日を数字で表示するもので、それとifを組み合わせています。df(f)が1なら「mon」、そうでなくdf(f)が2なら「tue」と言った感じです。ifを並べてるので美しくないと言えば美しくないのですが、意外とこのほうが早かったりします。

tc(split)を使う

$tc(split, "z#mon#tue#wed#thu#fri#sat#sun", "#", df(f))$

$tc(split, “A”, “B”, C)$はAの文字列をBの文字で区切ったときにC番目のものを表示、ということです。上の式だとz#mon#tue#wed#thu#fri#sat#sun#で区切って、df(f)つまり曜日番号にあったものを表示します。0番目のために先頭にzを付けてます。

月名を英語で表示

同じパターンで今度は月名です。3文字の短縮版ですが、フル表示したい場合は単に文を置き換えればOKです。

$if(df(M)=1,jan,df(M)=2,feb,df(M)=3,mar,df(M)=4,apr,df(M)=5,may,df(M)=6,jun,df(M)=7,jul,df(M)=8,aug,df(M)=9,sep,df(M)=10,oct,df(M)=11,nov,dec)$

ここまで数があるとtc(split)を使ったほうが楽ですね。

$tc(split, "z#jan#feb#mar#apr#may#jun#jul#aug#sep#oct#nov#dec", "#", df(f))$

当月・前月の日数

カレンダーなどを作るときに使うかもしれません。

当月の日数:$df(o)$ 前月の日数:$df(o, r1M)$

漢数字で月

20161109-klwp-10

11月を十一月というように漢数字で表示します。

$if(df(M)=1,一,df(M)=2,二,df(M)=3,三,df(M)=4,四,df(M)=5,五,df(M)=6,六,df(M)=7,七,df(M)=8,八,df(M)=9,九,df(M)=10,十,df(M)=11,十一,df(M)=12,十二)$月

KLWPは日本語の入力に難があるので、コピペしておくと簡単です。

漢数字で日

20161109-klwp-11

漢数字で日を表示します。さすがに31日間すべてバラバラに置き換えるのは大変なので、10の位と1の位で分けて考えています。

$if(df(d)>=30,三十,df(d)>=20,二十,df(d)>=10,十)$$if(df(d)%10=0,"",df(d)%10=1,一,df(d)%10=2,二,df(d)%10=3,三,df(d)%10=4,四,df(d)%10=5,五,df(d)%10=6,六,df(d)%10=7,七,df(d)%10=8,八,df(d)%10=9,九)$日

10の位は今日の日付df(d)が30以上なら「三十」、20以上なら「二十」、10以上なら「十」と表示させています。

$if(df(d)>=30,三十,df(d)>=20,二十,df(d)>=10,十)$

1の位は今日の日付df(d)を10で割って、その余りをそれぞれ漢数字に変換しています。

$if(df(d)%10=0,"",df(d)%10=1,一,df(d)%10=2,二,df(d)%10=3,三,df(d)%10=4,四,df(d)%10=5,五,df(d)%10=6,六,df(d)%10=7,七,df(d)%10=8,八,df(d)%10=9,九)$日

漢数字で「時」

20161109-klwp-12

時分の時を漢数字で表示します。
$if(df(h)>=20,二十,df(h)>=10,十)$$if(df(h)%10=0,"",df(h)%10=1,一,df(h)%10=2,二,df(h)%10=3,三,df(h)%10=4,四,df(h)%10=5,五,df(h)%10=6,六,df(h)%10=7,七,df(h)%10=8,八,df(h)%10=9,九)$時

基本的に漢数字で日を表示したのと同じです。12時間表示だったら、そのまま数字を漢数字に変換したほうが楽かもですね。

漢数字で「分」

20161109-klwp-13

こちらも基本的な考えは同じで、10の位と1の位で分けて表示します。

$if(df(m)=0,〇,df(m)>=50,五十,df(m)>=40,四十,df(m)>=30,三十,df(m)>=20,二十,df(m)>=10,十)$$if(df(m)%10=0,"",df(m)%10=1,一,df(m)%10=2,二,df(m)%10=3,三,df(m)%10=4,四,df(m)%10=5,五,df(m)%10=6,六,df(m)%10=7,七,df(m)%10=8,八,df(m)%10=9,九)$分

ただし、分には「0分」があるので、その場合を最初に入れています。df(m)=0,〇

まとめ

20161109-klwp-14

左の画像はいろいろ試しているときのものなのでゴチャゴチャですが、上で書いたような式を使って、漢数字の縦書き表示をしています。縦書き自体はテキストのタイプを「幅を固定する」にして調整すれば簡単にできます。

案外KLWPでも和風なホーム画面はかんたんに作れそうですね。

他にもこんなグローバル変数を登録しておくと便利だ、というようなものがあったらぜひ教えてください。


KLWPの使い方についてはこちらのページにてまとめています。使い方に困ったときなど、こちらのページも参考にしてください。

OREFOLDERの最新情報をお届けします
author icon
orefolder
OREFOLDER編集長。
1979年静岡県清水市生まれ、茨城県つくば市在住。

様々な巡り合わせから、このサイト1本で生活してる氷河期世代の一人。ガジェットに限らず広く浅く様々なものに興味があります。
⇨orefolderの記事一覧