【告知】フォームに表示できる文字数の上限について

前のトピックを表示 次のトピックを表示 Go down

【告知】フォームに表示できる文字数の上限について

投稿 by miyako on 2017-02-25, 8:36 pm

テキスト型の変数またはフィールドは,仕様上,最高2GBの文字列を代入することができるようになっています。4Dは内部的にUTF-16エンコーディングを採用しているので,これは10億文字強(サロゲートペアや結合文字などを除く)に相当します。しかし,フォームオブジェクトの変数/フィールド・スタティックテキスト・リストボックス・コンボボックスなどに表示できるテキストには,ずっと低い上限が設定されています。

Windowsでは,100,000文字でシステムが自動的に表示テキストを切り捨てます。Macはもう少し余裕がありますが,やはり,上限があります。このことは,ドキュメントにも述べられています。

http://doc.4d.com/4Dv15/4D/15.4/Field-and-variable-objects.300-3285416.ja.html

: フォームにおけるテキスト変数とテキストフィールドは,"常識的な"サイズのコンテンツを表示するためにデザインされています。数万文字を超える様な場合(上限はシステムによって変わります),フォーム内で見る事ができるのはテキストの一部だけに限られます。

『常識的な(原文:リーズナブルな)』サイズとは,どれくらいの文字数を指すのでしょうか。

現行のオペレーションシステムでは,Windowsが100,000文字,macOSが383,046文字のようです。これは,ウインドウ毎の割り当てられたメモリの容量や再描画のパフォーマンスコストを抑えるための措置なので,マシンやアプリケーションのメモリ総量に余裕があっても変わりません。

Control+Aで『すべてを選択』をした場合,表示されていない範囲を含め,全文がコピーされます。続けてテキストの途中または先頭に内容をペーストした場合,表示されるのは一部だとしても,変数やフィールドにはテキスト全体が代入されています。そのような意味で,フォームオブジェクトはテキストにアクセスするための『窓』のようだということができます。

miyako

投稿数 : 204
登録日 : 2016/07/05

トップに戻る Go down

Re: 【告知】フォームに表示できる文字数の上限について

投稿 by M_Fujihara on 2017-02-25, 9:51 pm

すごい文字数で,大抵の書類は全文が保存出来ますね。
2点お教え下さい。
v16でリストフォームにした場合,1行で全体が表示出来ない時には,左揃えでテキストの先頭を表示させようとしても,右揃えになってしまいます。

木になるリンゴ株・・・
大地のリンゴ株式・・・
にしたいのですが,

・・リンゴ株式会社
・・リンゴ株式会社
になります。Rバージョンでは修正されているのでしょうか。

もう一点はこれだけ大量の文字数だと,フィールド内で検索対象の文字が,どの位置にあるか示す必要が出てくると思うのですが,フィールドだと一度全文を変数に取って文字スタイルを変える以外に方法はあるのでしょうか。

M_Fujihara

投稿数 : 53
登録日 : 2016/12/03

トップに戻る Go down

Re: 【告知】フォームに表示できる文字数の上限について

投稿 by miyako on 2017-02-25, 10:51 pm

右揃えの問題については,15.4およびv16のナイトリービルドに関連項目があります(ACI0095871)。

https://github.com/4D-JP/release-notes/tree/master/v16/16.1
https://github.com/4D-JP/release-notes/tree/master/v15/15.4

Rバージョンは,そうでないバージョンよりも不具合が少ない(修正が進んでいる)』バージョンではないことにご留意ください。Rバージョンは,機能が追加されたバージョンであって,修正が施されたバージョンではありません。たとえば,15R5は,15.4よりも不具合が少ないのではなく,15.0よりも機能が増えている(v16に近い)バージョンということでリリースされています。修正の進み具合についていえば,15R5は(リリース時期からして)15.2と15.3の間くらいのレベルです。 ふたつのチャンネルがあってややこしいかもしれませんが『いち早く新しい機能が使えること』を求めるなら『Rリリース』,『不具合の少ないこと』を求めるなら『ナイトリービルド』とお考えください。

こうしたリリース体制の背景には,新しいコードが追加されることによって発生する未知の不具合と,昔から存在する既知の不具合を明確に区別するという意図があります。たとえば,以前であれば,『新しいバージョンはちょっと不安だから,少し様子をみることにしよう』と考えてアップグレードを控えることがあったかもしれません。つまり,新機能などのメリットよりも,既知の不具合が修正されることを優先するという考え方です。現行の体制で,それは『Rリリースを避ける』という選択に相当します。一方,Rリリースは,積極的にアップグレードを進めたい,というデベロッパーのために提供されています。

miyako

投稿数 : 204
登録日 : 2016/07/05

トップに戻る Go down

Re: 【告知】フォームに表示できる文字数の上限について

投稿 by Sponsored content


Sponsored content


トップに戻る Go down

前のトピックを表示 次のトピックを表示 トップに戻る


 
Permissions in this forum:
返信投稿: 不可