FUJI21・やさしく・CGI)
共用プログラム・テスト
ファイル操作(データの挿入・書換・検索・削除)
ご自由にテストください
共用プログラムの組込利用により、本プログラムの作成が簡明になります。
このテストプログラムは、規格に適合した可変長・固定長ファイルすべてにつき適用できます。
ファイルの選択
(形式別にテストファイルを用意)
ファイル
(テスト用)
昇降順コード
(「選択」により下の各データファイル名が入力されます)
可変長ファイル
cg-03vi.txt
コード、昇順
inc
cg-03vd.txt
コード、降順
dec
cg-03vl.txt
番号、昇順、最後の行に追加
lst
cg-03vf.txt
番号、降順、最初の行に追加
fst
固定長ファイル (キーファイル)
cg[03xi.txt
(
cg]03xi.txt
)
コード、昇順
inc
cg[03xd.txt
(
cg]03xd.txt
)
コード、降順
dec
cg[03xl.txt
(
cg]03xl.txt
)
番号、昇順、最後の行に追加
lst
cg[03xf.txt
(
cg]03xf.txt
)
番号、降順、最初の行に追加
fst
ファイル
(他のプログラムから)
(「入力」「確認」により下の各データファイル名が入力されます)
(下記フォーマット規格に準拠するデータファイル、キーの長さ(4以上)、
項目数(このテストでは20まで)、その他の仕様は各プログラムの設定による)
ファイルの表示
(JavaScript による)
データファイル(URL)名:(上記、「ファイルの選択」でクリックください)
ファイルの読取
(cg_00io10.pl による)
データファイル(パス)名:(上記、「ファイルの選択」でクリックください)
ファイルのフォーマット取得・フォーマットチェック
データファイル(パス)名:(上記、「ファイルの選択」でクリックください)
フォーマット取得(最初2行)、
全行チェック
データの挿入、書替
データファイル(パス)名:(上記、「ファイルの選択」でクリックください)
キー:(コード、番号)
挿入の場合番号キーは不要、その他、規定(この例では
6字
)外の長さ、または、「 _ 」を除く半角記号を含むキーは認められません
データ(4項目):
文字
数値
数値
文字
挿入、
書替
データの検索・削除
データファイル(パス)名:(上記、「ファイルの種類選択」でクリックください)
キー(番号):先頭からの一部を記入すれば、その対象レコードは複数になります
検索、
削除
固定長ファイルの削除レコードは、キー項目に「*DEL」を記入、ファイルに残っています。
固定長ファイルの更新(削除レコードの除去)
ファイル・フォーマット
可変長ファイル
固定長ファイル
キーファイル
サンプルフォーム
cg-03v0.txt
cg[03x0.txt
cg]03x0.txt
1)ファイル名
3字目は " - "
3字目は" [ "
3字目は" ] "
2)第 0 行
項目名
固定:第0項目
キー:第1項目
--
昇順連番(1 -)
対応連番
可変:第0項目
固定:第1項目
キー:第0項目
「inc」
:昇順コード
「dec」
:降順コード
「lst」
:昇順番号・末尾追加( 1 - )
「fst」
:降順番号・先頭追加( - 1 )
3)第 1 行
フォーマット
固定:第0項目
キー:第1項目
--
連番:4桁以上
「////」
「----」
可変:第0項目
固定:第1項目
キー:第0項目
キー:4桁以上
「//////」
:昇順コード
「||||||」
:降順コード
「//////」
:昇順番号・末尾追加( 1 - )
「||||||」
:降順番号・先頭追加( - 1 )
文字項目
「----」
「--------」
--
数字項目
「00000.00」
少数位置指定
4)全行
(第 0/1行含む)
文字数合計
自由
規定字数
項目数
規定項目数
項目分離
<SP>
キー
可変:第0項目
固定:第1項目
可変:第0項目
キー:重複不可
コード:可変長
番 号:固定長
固定長
その他項目
可変長
固定長
項目内の「改行」:<BR>
最終項目
(キー:第2項目)
END「\n 改行」
ファイル・共用プログラム( cg_00fx10.pl )操作明細
フォーマット取得・チェック
事前指定変数
$f1_file
ファイル(パス)名
サブルーティン
取得(最初の2行)
チェック(全行)
&file_format($f1_file)
&file_check($f1_file)
操作結果
$f1_type
="var"(可変長)、="fix"(固定長)
$f1_colnmbr
項目数
$f1_line0
第0行目レコード
$f1_line1
第1行目レコード(=$f1_rcrdform、固定長)
@f1_title
項目名(第0行目)
@f1_format
フォーマット(第1行目、主に、固定長)
$f1_rcrdlen
レコード字数(固定長)
$f1_order
="inc"、="dec"、="lst"、="fst"
$f1_nmbrlen
連番桁数(固定長)
$f1_keylen
キー字数
$f1_linenmbr
レコード行数(第 0/1行含む)
$err_msg
不調の場合のコメント、順調の場合は「 0 」
挿入・書替
(単一レコード)
事前指定変数
$f1_file
ファイル(パス)名
$out = "err"
挿入・更新:
不調の場合のコメントを画面表示、管理メールの後、「exit」
@f1_data[0 - ]
挿入・更新:
データ(キー部分:$f1_data[0])
挿入
・番号キー(lst/fstの場合のみ):空白
配列:項目順、改行コード:<BR> に自動変換
サブルーティン
挿入
更新
(内 レコード作成)
&rcrd_insert($f1_file,$out)
&rcrd_rewrite($f1_file,$out)
&rcrd_form
操作結果
$err_msg
挿入・更新:
不調の場合のコメント、順調の場合は「 0 」
$f1_record(可変長)
$f1_fixrcrd(固定長)
挿入・更新:
レコード
$f1_key
挿入:
番号キー(lst/fstの場合のみ)
検索・削除
(複数レコード)
事前指定変数
$f1_file
ファイル(パス)名
$f1_keynmbr
検索・削除:
キー総数
@f1_keylist[0 - ]
検索・削除:
全キーリスト (頭部部分キー可)
サブルーティン
検索
削除
削除ファイル更新
&rcrd_search($f1_file)
&rcrd_delete($f1_file)
&fix_renew($f1_file)
操作結果
$f8_keynmbr
検索・削除:
キー総数(該当なし)
@f8_keylist[0 - ]
検索・削除:
キーリスト(該当なし)
$f2_rcrdnmbr
検索・削除:
結果総数
@f2_rcrdlist[0 - ]
検索・削除:
結果レコードリスト
プログラムご希望の方は:
このサーバーでは
パス
ファイル
/home/
(URLで
は省略)
basiccgi/
cgi-bin/
cg_0310.cgi
cg_00io10.pl
cg_00fx10.pl
cg_00st10.pl
jcode.pl
本(テスト用)プログラム
共用プログラム
入出力操作
ファイル操作
文字列操作
日本語処理
cntrl/
cg_0310.html
cg_03lock.txt
本ページ
ロックファイル
cg_00.css
STYLESHEET
キーに「 _ 」を除く半角記号が含まれる場合は
if($f1_key
=~ /\W/
){ ................ }
により除外されます。
基礎の共用(〜6)プログラムの内容は、目次から各該当ページをご参照ください。
原則として、橋渡しの変数名には通常
「 _ 」
を含み、内部変数はローカル「 local 」「 my 」設定をしています。
CGI(.cgi/.pl)、CSS、JavaScriptファイルは内容表示のために、仮の拡張子「.txt]を使用しています。
HTML ファイルのソースコードの参照は、画面右クリック「ソースの表示」で。
FRAME ファイルのソースコードの参照はメニューバーの「表示」「ソース」で。
要確認・変更箇所は、HTML、CGI 両ファイル上に
====begin===================
====end=====================
で明記してあります。
あわせて、左側の目次から「SSI・CGI 基本」から「SSI・CGI概要」、「CGI プログラム要領」、「CGI 呼出方法」を参照ください。
(特に、サーバにより各ファイル・URLのパス設定が異なります。)
08年 03月 11日改訂
ご批評・ご意見賜りたく(表紙へ)