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.txtcg[03x0.txtcg]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 )操作明細

  1. フォーマット取得・チェック
    事前指定変数
    $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 」

  2. 挿入・書替(単一レコード)
    事前指定変数
    $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の場合のみ)

  3. 検索・削除(複数レコード)
    事前指定変数
    $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 - ]検索・削除:結果レコードリスト

    プログラムご希望の方は:

    1. このサーバーでは
      パスファイル
      /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

    2. キーに「 _ 」を除く半角記号が含まれる場合は
      if($f1_key =~ /\W/){ ................ }
      により除外されます。

    3. 基礎の共用(〜6)プログラムの内容は、目次から各該当ページをご参照ください。
      原則として、橋渡しの変数名には通常「 _ 」を含み、内部変数はローカル「 local 」「 my 」設定をしています。

    4. CGI(.cgi/.pl)、CSS、JavaScriptファイルは内容表示のために、仮の拡張子「.txt]を使用しています。
      HTML ファイルのソースコードの参照は、画面右クリック「ソースの表示」で。
      FRAME ファイルのソースコードの参照はメニューバーの「表示」「ソース」で。

    5. 要確認・変更箇所は、HTML、CGI 両ファイル上に
      ====begin===================
      ====end=====================
      で明記してあります。

    6. あわせて、左側の目次から「SSI・CGI 基本」から「SSI・CGI概要」、「CGI プログラム要領」、「CGI 呼出方法」を参照ください。
      (特に、サーバにより各ファイル・URLのパス設定が異なります。)
14”N 02ŒŽ 27“ú‰ü’ù
ご批評・ご意見賜りたく(表紙へ)