FileMakerが使える・楽しく・学べるサンプルを紹介

ファイルメーカーで作成したサンプルを無料公開しています。ダウンロードして自由にカスタマイズしてご利用ください。

*

文字数をリアルタイムに数える方法

      2015/01/11

ブログやサイトの記事を管理出来る
システムを作ってみました。

その際に必要だった機能「記事の文字数のカウント」です。

文字数を数える方法

検索エンジンで上位表示されるためには、
タイトルでは60文字以内、
記事の内容では500文字以上が、
必要だとされています。

記事を書きながら、
現在の文字数が表示されると、
一つの目安となります。

リアルタイムに数える

この記事の場合、
現在、176文字ですので、
検索エンジンに引っかかりやすくするためには、
あと324文字は必要になります。

では、早速作り方です。

フィールドの構成

フィールドの作成
フィールドの構成はシンプルに、
記事内容フィールド(テキスト)と、
記事文字数フィールド(計算:数字)を作成します。

Length(テキスト) 文字数を取り出す関数

記事文字数フィールドの計算式は、文字数を数える関数を使います。
カッコの中にある文字の数をカウントするシンプルな関数です。
フィールド名を入れると、そのレコードで入っている値の文字数を数えてくれます。

文字数を数える関数

使用例
Length ( “文字をリアルタイムに数える” ) → 13
この場合「文字をリアルタイムに数える」が13文字なので、「13」を返します。

今回の場合は、
Length ( 文字をカウントするフィールド名 )
例:Length ( 記事内容 )

計算式の設定方法

フィールドの形式を計算にして上記計算式を書込ます。
画面右下にある「索引オプション」をクリックして、
【計算結果を保存せず必要時に再計算する】に
チェックが入っている場合は、外す。

これで、フィールド設定は完了です。

このままでも、
文字数をカウントしてくれますが、
フィールドがアクティブのままだと、
レコード確定にならないため、
リアルタイムに文字がカウントされません。

リアルタイムに文字数を反映させるスクリプト設定

文字を打ち込む度に数を反映して欲しいので、
下記スクリプトを作成し、
そのフィールドのスクリプトトリガを
設定する必要があります。

フィールドの文字が変更される度に
スクリプトを走らせます。

編集モードで、記事内容フィールドを選択し、
スクリプトトリガを設定します。

選ぶスクリプトトリガは、
【OnObjectModify】です。

フィールドに更新があると、指定のスクリプトがスタートします。

現在のカーソル位置を変数に入れておき、
フィールド移動でレコード確定し、
選択範囲を設定で、カーソルを元の位置へ戻します。

フィールドの文字数が変わる毎に、
1. カーソルの位置を覚える
2. 入力した内容をを確定
3. 文字数がカウントされる
4. カーソルと元の位置に戻す
バックグラウンドではこのような動きをすることとなります。
裏では、一文字打つ毎に結構忙しく動いているわけですね。

なので、ファイルメーカーをインストールしている機種によっては、
ちょっと動作がもたつく感じがあるかもしれません。

リアルタイムに文字数を数えなくても良いなら、
スクリプト無しで、フィールドだけの設定でも十分だと思います。

無料サンプルファイルがダウンロード出来ます

 - 役立つ備忘録, 無料で使えるサンプル , , ,

  • このエントリーをはてなブックマークに追加
  • Pocket
  • 15 follow us in feedly

コメントを残す

  関連記事

パスワード自動生成
Filemaker内でパスワードを生成する方法!桁数や使用する文字も制限可能

ファイルメーカーの中でパスワードを生成する方法を紹介します。 ユーザーを管理シス …

iphone_barcode
FileMaker Go iPhoneのカメラでバーコードを読み取る2つの方法

FileMaker Goでは iPhoneやiPadのカメラでバーコードを読み取 …

バイト数で文字の長さを制限
カスタム関数Leftbを使って指定のバイト数だけ文字を取り出す方法

FileMakerは、ウェブサイトや楽天やYahoo!ショップなどのネットショッ …

ソースの色付けイメージ
スクリプトに色付けや全文コピー出来る無料プラグインの紹介

htmlやCSS、プログラムで使うエディタでは、 色がついて見やすくなっています …

アクティブなポータル行完成イメージ
ポータル内のアクティブ行だけにボタンを表示する方法

ファイルメーカーで、ポータルの選択した行にだけに ボタンを表示する方法を紹介しま …

結構良いサンプルが出来ました
リスト形式でアクティブな行にだけボタンやゴミ箱を表示する方法

前回は、ポータル内のアクティブな行にだけ、 ゴミ箱や詳細ボタンを表示する方法を紹 …

iPhone・iPadのデバイス判定
接続する端末をOSによって判定するスクリプトのまとめ

FileMakerのファイルを開いたとき、接続する端末によってレイアウトを切り替 …

複数のポータル移動
同じレコード内に複数のポータルがあるときの行移動

同じレイアウト内にポータルを複数貼り付けることがあります。 スクリプトを作成して …

関連レコード総数
ポータル内の行数、関連レコード数を簡単に数える方法

ポータルの行数を取得したい場合に使う関数と計算式を紹介します。 「ポータルの行数 …