EN JA
form_field_buffer(3X)
form_field_buffer(3X) form_field_buffer(3X)

名称

form_field_buffer - フィールドバッファ制御

書式

#include <form.h>
 
int set_field_buffer(FIELD *field, int buf, const char *value);
 
char *field_buffer(const FIELD *field, int buffer);
 
int set_field_status(FIELD *field, bool status);
 
bool field_status(const FIELD *field);
 
int set_max_field(FIELD *field, int max);
 

解説

関数 set_field_buffer は、与えられた文字列に含まれる与えられたフィールドの番号が付けられたバッファを設定します。
-
バッファ 0 は、フィールドの表示された値です。
-
他の番号が付けられたバッファは、form ライブラリによって操作されない nbuf 引数 ( form_field_new(3X) を参照) を通じてアプリケーションによって割り付けられます。

関数 field_buffer は、与えられた番号が付けられたバッファの内容へのポインタを返します。

-
バッファの内容は、常に同じ長さがあり、必要に応じて、この長さが同じであることを確実にするために後続する (トレーリング) スペースで詰め物がされます。
-
どのように設定されたかによって、バッファは、先導する (リーディング) スペースを含みます。
-
バッファの内容は、 set_field_buffer で設定されるか、対応するフィールドで任意の編集操作の副作用として設定されます。
-
編集操作は、 string ではなくフィールドを表示する window に基づいています。ウィンドウは、印刷可能な文字のみを含み、空白で満たされます。生のデータを望むなら、バッファの中からの値をコピーし、先導するスペース、後続するスペースを取り除く自分自身のルーチンを書かなければなりません。
-
編集操作がウィンドウに対応するバッファの内容を変更するので、利用者は、form データの長期記憶域のためにバッファを使用することを当てにするべきではありません。

関数 set_field_status は、 field の関連するステータスフラグを設定します。 field_status は、現在値を得ます。フィールドが変わる場合は、常に、ステータスフラグは、0 でない価値に設定されます。

関数 set_max_field は、動的なフィールドのために最大サイズを設定します。 0 の引数は、そのフィールドのどんな最大サイズ限界を切替えます。

戻り値

field_buffer 関数は、エラーの場合 NULL を返します。それは、成功したかどうかに従って、errno を設定します:
E_OK
ルーチンが成功した。
E_BAD_ARGUMENT
ルーチンは、正しくないか範囲外の引数を検知しました。

field_status 関数は、 TRUEFALSE を返します。

残りのルーチンは、次の 1 つを返します:

E_OK
ルーチンが成功した。
E_SYSTEM_ERROR
システムエラーが生じた ( errno 参照)。
E_BAD_ARGUMENT
ルーチンは、正しくないか範囲外の引数を検知しました。

関連項目

エントリポイントの詳細な説明のための "form_"で始まる名前は、 curses(3X) と関連するページ。 (訳注: curses(3X) は、存在しません。ncurses(3) 参照)

ヘッダファイル <form.h> は、自動的にヘッダファイル <curses.h> を含んでいます。

ワイド文字のために設定されるとき、 field_buffer は、 (ライブラリによって、割り付けられ、解放される) 一時記憶領域へのポインタを返します。アプリケーションは、データを変更する試みを行うべきではありません。それは、同じバッファを返すために field_buffer への次の呼び出しで、解放されます。

移植性

これらのルーチンは、System V メニューライブラリをエミュレートします。それらは、Version 7 または BSD バージョンでは、サポートされませんでした。

作者

Juergen Pfeifer。マニュアルページと新しい curses の適応は、Eric S. Raymond。