EN JA
form(3X)
form(3X) form(3X)

名称

form - form をプログラムするための curses 拡張

書式

#include <form.h>
 

解説

form ライブラリは、文字セル端末の form スクリーンを構成するための端末独立の機能を提供します。ライブラリは、次のものを含んでいます。 form フィールドを作り修正するフィールドルーチン、 form 中のフィールドをグループ化する form ルーチン、スクリーンの form の表示、ユーザとのハンドル相互作用です。

form ライブラリは、 curses ライブラリを使用します。 form ライブラリを使用するためには、オプション -lform -lcurses でリンクします。

利用者のプログラムは、例えば、次のようなロケールを設定すべきです。

 


setlocale(LC_ALL, "");

 

これにより、入力/出力処理は、動作します。

これらの関数のいずれかを使用する前に、 initscr のような curses 初期化ルーチンを呼び出さなければなりません。

フィールド属性のための現在デフォルト値

form ライブラリは、フィールド属性のためのデフォルト値を維持します。 NULL フィールドポインタで適切な set_ か取り出し (検索) ルーチンを呼ぶことによりこのデフォルトを得るか設定できます。 set_ 関数は、将来のフィールド生成に影響するが、既に作られたフィールドの解釈は、変更しません。

ルーチン名インデックス

次のテーブルは、各 form ルーチンと記述されるマニュアルページの名前をリストしています。
curses ルーチン名 マニュアルページ名
current_field form_page(3X)
data_ahead form_data(3X)
data_behind form_data(3X)
dup_field form_field_new(3X)
dynamic_field_info form_field_info(3X)
field_arg form_field_validation(3X)
field_back form_field_attributes(3X)
field_buffer form_field_buffer(3X)
field_count form_field(3X)
field_fore form_field_attributes(3X)
field_index form_page(3X)
field_info form_field_info(3X)
field_init form_hook(3X)
field_just form_field_just(3X)
field_opts form_field_opts(3X)
field_opts_off form_field_opts(3X)
field_opts_on form_field_opts(3X)
field_pad form_field_attributes(3X)
field_status form_field_buffer(3X)
field_term form_hook(3X)
field_type form_field_validation(3X)
field_userptr form_field_userptr(3X)
form_driver form_driver(3X)
form_fields form_field(3X)
form_init form_hook(3X)
form_opts form_opts(3X)
form_opts_off form_opts(3X)
form_opts_on form_opts(3X)
form_page form_page(3X)
form_request_by_name form_requestname(3X)
form_request_name form_requestname(3X)
form_sub form_win(3X)
form_term form_hook(3X)
form_userptr form_userptr(3X)
form_win form_win(3X)
free_field form_field_new(3X)
free_fieldtype form_fieldtype(3X)
free_form form_new(3X)
link_field form_field_new(3X)
link_fieldtype form_fieldtype(3X)
move_field form_field(3X)
new_field form_field_new(3X)
new_fieldtype form_fieldtype(3X)
new_form form_new(3X)
new_page form_new_page(3X)
pos_form_cursor form_cursor(3X)
post_form form_post(3X)
scale_form form_win(3X)
set_current_field form_page(3X)
set_field_back form_field_attributes(3X)
set_field_buffer form_field_buffer(3X)
set_field_fore form_field_attributes(3X)
set_field_init form_hook(3X)
set_field_just form_field_just(3X)
set_field_opts form_field_opts(3X)
set_field_pad form_field_attributes(3X)
set_field_status form_field_buffer(3X)
set_field_term form_hook(3X)
set_field_type form_field_validation(3X)
set_field_userptr form_field_userptr(3X)
set_fieldtype_arg form_fieldtype(3X)
set_fieldtype_choice form_fieldtype(3X)
set_form_fields form_field(3X)
set_form_init form_hook(3X)
set_form_opts form_field_opts(3X)
set_form_page form_page(3X)
set_form_sub form_win(3X)
set_form_term form_hook(3X)
set_form_userptr form_userptr(3X)
set_form_win form_win(3X)
set_max_field form_field_buffer(3X)
set_new_page form_new_page(3X)
unpost_form form_post(3X)

戻り値

ポインタを返すルーチンは、エラーの場合に、 NULL を返し、整数を返す関数によって返された、対応するエラーコードを errno に設定します。整数を返すルーチンは、次のエラーコードの一つを返します。
E_OK
ルーチンが成功した。
E_BAD_ARGUMENT
ルーチンは、正しくないか範囲外の引数を検知しました。
E_BAD_STATE
ルーチンは、初期化または終了の関数から呼ばれました。
E_CONNECTED
フィールドは、form に既に接続されます。
E_INVALID_FIELD
フィールドの内容は、有効ではありません。
E_NOT_CONNECTED
フィールドは、form に接続されません。
E_NOT_POSTED
form は、記入されていません。
E_NO_ROOM
form は、そのウィンドウには大きすぎます。
E_POSTED
form は、既に記入されています。
E_REQUEST_DENIED
form ドライバは、要求を処理することができませんでした。
E_SYSTEM_ERROR
システムエラーが生じた ( errno 参照)。
E_UNKNOWN_COMMAND
form ドライバコードは、未知の要求コードを合いました。

関連項目

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

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

ライブラリリスト中で、libform.a は、libncurses.a の前にあるべきです。すなわち、`-lform -lncurses' です。反対なら、(使用しているほとんどのリンカで、リンクエラーとなります)。

移植性

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

作者

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

関連項目

これは、 ncurses のバージョン . (パッチ) について説明しています。