« 連番作図2 | トップページ | Numberメソッド »

2022年1月29日 (土)

連番作図3

連番作図2に、方向指定を追加しました。
3_20220129101001

@if(0==1) //連番作図3
@echo off
REM #jww
REM #cd
REM #0 文字の位置を指示してください (L)free (R)Read
REM #1 方向を指示してください (L)free (R)Read
REM #c 文字列を入力してください 例) XX-001 | 連番/スキップ|
REM #hr
REM #e
echo nbr %1 #>>jwc_temp.txt
cscript //nologo //e:jscript %0
copy temp.txt jwc_temp.txt
copy t_nbr.txt l_nbr.txt
del temp.txt
del t_nbr.txt
goto:eof
@end
//ファイルオープン
fso=new ActiveXObject("Scripting.FileSystemObject")
w=fso.CreateTextFile("temp.txt")
w1=fso.CreateTextFile("t_nbr.txt")
r=fso.OpenTextFile("jwc_temp.txt")
r1=fso.OpenTextFile("l_nbr.txt") //前回値
//初期設定
x0=0;y0=0 //指示点座標
sp=" " //スペース
dq="\"" //ダブルコーテーション
hp="-" //ハイフン
//データ読込み
while (!r.AtEndOfLine) {
line=r.ReadLine()
if(/hq/.test(line)){} //"hq"をスキップ
else if(/hp1/.test(line)){
dir=line.split(/\s+/)
dx=dir[1];dy=dir[2] //方向
}
else if(/nbr/.test(line)){
nbr=line.split(/\s+/)
//前回値の取得
if(nbr[1]=="#"){
line1=r1.ReadLine()
nbr=line1.split(/\s+/)
nbr=nbr[1]
ltnbr=nbr.split(hp)
n=ltnbr[1]
//数値に変換
n=Number(n)
prf=ltnbr[0] //接頭文字
n=n+1 //連番
//文字列に変換
if(n<10){zz="00"}
if(n>=10){zz="0"}
if(n>=100){zz=""}
nbr=prf+hp+zz+n
}else{
nbr=nbr[1]
}
//作図文字列
dqnbr=dq+nbr
chr=["ch",x0,y0,dx,dy,dqnbr]
chr=chr.join(sp)
w.WriteLine(chr)
//保存文字列書込み
lnbr=["nbr",nbr,"#"]
lnbr=lnbr.join(sp)
w1.WriteLine(lnbr)
}
else{
w.WriteLine(line)
}
}
//ファイルクローズ
r.Close();r1.Close()
w.Close();w1.Close()
//2022.1.29 by somem

|

« 連番作図2 | トップページ | Numberメソッド »

コメント

コメントを書く



(ウェブ上には掲載しません)




« 連番作図2 | トップページ | Numberメソッド »