共用ルーチン(レコード操作、Excel互換)
レコードの挿入・書換・検索・削除、Excel互換
ご自由にテストください共用ルーチンの組込利用により、本プログラムの作成が簡明になります。
このテストプログラムは、下記定型規格(データファイル・フォーマット)に適合した可変長ファイルすべてにつき適用できます。
-
ファイルの選択 (形式別にテストファイルを用意)
ファイルの表示 (JavaScript による)
ファイルの読取 (cg_00io30.pl による)
-
ファイルのフォーマット取得・フォーマットチェック
データの挿入、書替
データの検索・削除
Excelファイル(タブ切りTEXT)のアップロード・変換
Excel用ファイル(タブ切りTEXT)のダウンロード前変換
データファイル・フォーマット(可変長)
-
サンプルフォーム cg-03v0.txt 1)ファイル名 3字目は " - " 2)第 0 行
項目名第0項目 「inc」:昇順コード
「inctrs」:時系列
「incthd」:スレッド (主副分離は「_」)
「dec」:降順コード
「lst」:昇順番号・末尾追加( 1 - )
「fst」:降順番号・先頭追加( - 1 )3)第 1 行
フォーマット第0項目 キー:6桁以上
「//////」:昇順コード
「||||||」:降順コード
「//////」:昇順番号・末尾追加( 1 - )
「||||||」:降順番号・先頭追加( - 1 )4)全行
(第 0/1行含む)文字数合計 自由 項目数 規定項目数 項目分離 _SP_ キー
第0項目キー:重複不可、、「 - 」「 _ 」を除く半角記号は回避 固定長(コード:過不足入力の場合のチェックまたは事前の自動調整要) その他項目 可変長 項目内の「改行」は事前に<br />に 最終項目 END「\n 改行」
ファイル操作・共用プログラム( cg_00fx30.pl )操作明細
- フォーマット取得・チェック
事前指定変数 $file1 ファイルアドレス サブルーティン 取得(最初の2行)
チェック(全行)&fl_fileformat($file1)
&fl_filecheck($file1)操作結果 (グロバール変数) $f1_file ファイルアドレス(=$file1) $f1_filename ファイル名 $f1_type ="var"(可変長) $f1_colnmbr 項目数 $f1_line0 第0行目レコード $f1_line1 第1行目レコード @f1_title 項目名(第0行目) @f1_format フォーマット(第1行目、主に、固定長) $f1_order ="inc"、="dec"、="lst"、="fst" $f1_ordermark ="/"("inc"、"lst")、="|"("dec"、="fst") $f1_order2 ="trs"、="thd" $keylen キー字数(半角6字以上、「 - 」「 _ 」(スレッドの場合不可)以外の記号を除く) $f1_linenmbr レコード行数(第 0/1行含む) $errmsg(ローカル) 不調の場合のコメント、順調の場合は「 "" 」
- 挿入・書換(単一レコード)
事前指定変数 $file1 ファイルアドレス @data[0 - ] データ
キー($data[0])は挿入(「lst,fst」)の場合、番号キー空白
配列:項目順、項目内の改行コードは<br /> に自動変換エラー中断 $out="err"(エラーコメントを画面表示、管理メールの後、中断) サブルーティン 挿入
書換
(レコード作成のみ)$errmsg=&fl_rcrdinsert($file1,$out)
$errmsg=&fl_rcrdrewrite($file1,$out)
&fl_rcrdform操作結果 $f1_record レコード $f1_key 挿入(「lst/fst」)の場合、番号キー return($errmsg) 不調の場合のコメント、順調の場合は「 "" 」
- 検索・削除(複数レコード)
事前指定変数 $file1 ファイルアドレス $keynmbr キー総数 @keylist[0 - ] 全キーリスト (先頭からの部分可) サブルーティン 検索
削除&fl_rcrdsearch($file1)
&fl_rcrddelete($file1)操作結果 $f2_rcrdnmbr (該当)レコード総数 @f2_rcrdlist[0 - ] (該当)レコードリスト $f8_keynmbr (該当なし)キー総数 @f8_keylist[0 - ] (該当なし)キーリスト(該当なし)
プログラムご希望の方は:
- このサーバーでは
パス ファイル /home/ sr_cntrl30.css
STYLESHEETbasiccgi30/ cntrl/ cg_0330.html
cg_03lock30.txt
本ページ
ロックファイルcgi-bin/ cg_0330.cgi
cg_00io30.pl
cg_00st30.pl
cg_00fl30.pl
本(テスト用)プログラム
共用ルーチン
入出力操作
ファイル操作
文字列操作03data/ データファイル 03upexcel/ Excel関連ファイル - キーに「 _ 」を除く半角記号が含まれる場合は
if($key =~ /\W/){ ................ }
により除外できます。 - CGI共用ルーチンでは、原則として、橋渡しのグローバル変数名には通常「 _ 」を含み、内部変数はローカル「 my 」または「 local 」設定をしています。
- .htaccess、CGI(.cgi/.pl)、StyleSheet(.css)、JavaScript(.js)ファイルは内容表示のために、仮の拡張子「.txt]を使用しています。
HTML ファイルのソースコードの参照は、画面右クリック「ソースの表示」で。
- 要確認・変更箇所は、HTML、CGI 両ファイル上に
====begin===================
====end=====================
で明記してあります。
(特に、サーバにより各ファイル・URLのパス設定が異なります。)