| 2013/02/06(Wed) 15:46:40 編集(投稿者)
名札 メイン 条件 (#配列要素数("Swin名")=-1) VAR 共通,文{ &Swin名} 条件 (#配列要素数("Swintb")=-1) var 共通,文{ &Swintb = #一括パス名 + "user.tbl" } if ( #FSIZE( &Swintb ) = -1 ) call 表の作成(&Swintb,"WSNAME,文字列,M10252","略字,文字列,M1252","年,文字列,M1352") /* #ユーザ名,#WSNAME */ 終了 表 編集対象表 end 表 &Swintb 検索 [WSNAME] { #WSNAME }, 文字比較方法=自動, 部分一致検索=しない,終了状態=&秒 if ( &秒 = -1 ) 確認 "指定されたユーザー"+#WSNAME+"は登録されていません" 終了 表 編集対象表 中止 else &Swin名 = [略字] 終了 表 編集対象表 end call 行挿入終了( #行番号,1 )
proc 行挿入終了(長整数 &明細番号,長整数 &モード) var 文 { &主 = #日時文字列( #日時値, 9, 4, 2 ) } 手続き実行 日付文字作( &主 ) 確認 &主+&Swin名 手続き実行 主キーを変更( &主 ) 確認 &主+#WSNAME end
proc 表の作成(文 &Sfn ,文 &Sitem1 ,文 &Sitem2 ,文 &Sitem3 ) var 文 {&Se="英字作成.k3"},Long {&Ie[4],&Lct=0,&Lk} 印字開始 &Se,終了状態=&Ie[4] 印字 """"+#対応文字列(&Sitem1,1)+""","""+#対応文字列(&Sitem1,2)+""","""+#対応文字列(&Sitem1,3)+"""" 印字 """"+#対応文字列(&Sitem2,1)+""","""+#対応文字列(&Sitem2,2)+""","""+#対応文字列(&Sitem2,3)+"""" 印字 """"+#対応文字列(&Sitem3,1)+""","""+#対応文字列(&Sitem3,2)+""","""+#対応文字列(&Sitem3,3)+"""" 印字終了 改頁=しない 表作成 &Sfn, 定義ファイル=&Se,モード=専有, 終了状態=&Ie[4] for &Ie[1]=65,122 if ( (&Ie[1]>64)*(&Ie[1]<91)+(&Ie[1]>96)*(&Ie[1]<123)=1) for &Ie[2]=65,122 if ( (&Ie[2]>64)*(&Ie[2]<91)+(&Ie[2]>96)*(&Ie[2]<123)=1) Eval "行追加 終了状態=&Ie[3],["+#対応文字列(&Sitem2,1)+"]=#J(&Ie[1])+#J(&Ie[2]),["+#対応文字列(&Sitem3,1)+"]=#str(#代入(&Lct,&Lct+1),4)" end end end end end proc 日付文字作( reffer 文 &S主 ) var 文{&S年 = #SSTR( &S主,1,4),&S英1,&S英2} &S英1 = #sstr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",#切り上げ(#NUM(&S年)/52,0),1) &S英2 = #sstr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",1+#MOD(#NUM(&S年)-1,52),1) &S主 = #計算( /* 月からミリ秒の1桁のみを抜き出し */\ #代入(&S主,#SSTR(&S主,5,17))\ ,#代入(&S主\ ,#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(\ #S(#S(#S(#S(#S(#S(#S(#S(#S(#S(\ #S(#S(#S(#S(#S(#S(#S(#S(&S主\ ,"00","0"),"01","1"),"02","2"),"03","3"),"04","4")\ ,"05","5"),"06","6"),"07","7"),"08","8"),"09","9")\ ,"10","A"),"11","B"),"12","C"),"13","D"),"14","E")\ ,"15","F"),"16","G"),"17","H"),"18","I"),"19","J")\ ,"20","K"),"21","L"),"22","M"),"23","N"),"24","O")\ ,"25","P"),"26","Q"),"27","R"))\ ,#代入(&S主\ ,#S(#S(#S(#S(#S(#S(#S(#S(#S(#S(\ #S(#S(#S(#S(#S(#S(#S(#S(#S(#S(\ #S(#S(#S(#S(#S(#S(#S(#S(&S主\ ,"28","S"),"29","T"),"30","U"),"31","V"),"32","W")\ ,"33","X"),"34","Y"),"35","a"),"36","b"),"37","c")\ ,"38","d"),"39","e"),"38","d"),"39","e"),"40","f")\ ,"41","g"),"42","h"),"43","i"),"44","j"),"45","k")\ ,"46","l"),"47","m"),"48","n"),"49","o"),"50","p")\ ,"51","q"),"52","r"),"53","s"))\ ,#代入(&S主\ ,#S(#S(#S(#S(#S(#S(&S主,"54","t")\ ,"55","u"),"56","v"),"57","w"),"58","x"),"59","y"))\ ,&S英1 + &S英2 + #S(#S(#S(#TRIM(&S主,4),"/",""),":",""),".","")) end
proc 主キーを変更( reffer 文 &S主 ) var 整数 { &I年1 , &I年2 } ,文字列 { &S年 , &S月 , &S日 , &S時 , &S分 , &S秒 , &Sミリ } &I年1 = #文字位置("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",#SSTR(&S主,1,1)) &I年2 = #文字位置("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",#SSTR(&S主,2,1)) &S年 = #STR((&I年1-1)*52+&I年2,4) &S月 = #SSTR(&S主,3,1) &S日 = #SSTR(&S主,4,1) &S時 = #SSTR(&S主,5,1) &S分 = #SSTR(&S主,6,1) &S秒 = #SSTR(&S主,7,1) &Sミリ = #SSTR(&S主,8,1) call 変換(&S月) call 変換(&S日) call 変換(&S時) call 変換(&S分) call 変換(&S秒) &S主 = &S年+"/"+&S月+"/"+&S日+" "+&S時+":"+&S分+":"+&S秒+"."+&Sミリ end
proc 変換( reffer STR &S暗号) &S暗号=#STR(#文字位置("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrstuvwxy",&S暗号)-1,2) end
|