Jw_cad 相談室−その2 New

 Jw_cad についての相談の場としてお使いください
情報の交換には Jw_cad 情報交換室 をご利用ください
なお、情報交換室と相談室の両方に同じ内容を投稿するのはご遠慮ください

2009年9月以前の発言過去ログのページからご覧ください。

それ以降の過去ログは消失しています。
申し訳ありませんが、復活の予定はありません。


  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
79 / 352 ツリー    ←次へ | 前へ→

複数jwwファイルの図番(同位置の文字列)の一括変換 kubo 20/2/6(木) 10:30
Re:複数jwwファイルの図番(同位置の文字列)の一括... kojima 20/2/6(木) 23:36
その2 kojima 20/2/6(木) 23:37
補足 kojima 20/2/6(木) 23:48
Re:複数jwwファイルの図番(同位置の文字列)の一括... kubo 20/2/7(金) 15:52
Re:複数jwwファイルの図番(同位置の文字列)の一括... kojima 20/2/7(金) 21:40
Re:複数jwwファイルの図番(同位置の文字列)の一括... kubo 20/2/8(土) 17:53
Re:複数jwwファイルの図番(同位置の文字列)の一括... kubo 20/2/7(金) 17:59
[投稿者削除]
Re:複数jwwファイルの図番(同位置の文字列)の一括... kubo 20/2/9(日) 22:35
Re:複数jwwファイルの図番(同位置の文字列)の一括... kojima 20/2/10(月) 11:43
Re:複数jwwファイルの図番(同位置の文字列)の一括... kubo 20/2/11(火) 23:08

複数jwwファイルの図番(同位置の文字列)...
 kubo  - 20/2/6(木) 10:30 -
ご教示お願いします。

1つの物件の複数の図面を書いて、
(1ファイル1図面、図面「図枠」の位置は全て同じ位置)
共通した標題欄(普通図枠の下に書かれる工事名・図面名等の枠)に書く図番を、
その複数ファイルの図番(同じ位置にある文字列)を一括して、ずらせたい
(変えたい)のです。

そのようなツールや外部変形(他の方法でもよい)をご存じありませんか。

例えば、
テキストファイルやエクセルファイルで(jwwファイルでもよい)、
変更前の文字列 と 変更後の文字列 を行毎に書き込んで、その情報で
図番(文字列)を変換していくというようなイメージを持っています。

よろしくお願いします。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko@93.103.168.203.megaegg.ne.jp>
・ツリー全体表示

Re:複数jwwファイルの図番(同位置の文字...
 kojima  - 20/2/6(木) 23:36 -
1枚だけ以下の外変を実行してください。
外変を実行した図面と同じフォルダ内の全てのJWWファイルに対して
外変で指定した範囲内の文字を検索して、該当する文字ならば置換します。
RUby1.8専用の外変です。RUby1.9以降では動作しません。

実行前に、表題変更.txtをタブ区切りで作成しておいてください。

以下 その1


@REM 複数ファイルの指定範囲内にある文字の一括変更
@echo off
REM #jww
REM #cd
REM #ht10
REM #ht30
REM #zc
REM #zz
REM #zs
REM #hf
REM #bz
REM #h3
REM #g1
REM #1変更範囲の左下を指示してください
REM #2変更範囲の右上を指示してください
REM #hp
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt
pause
goto end
#!ruby -Ks
require 'kconv'
#data_mojiとdata_noをarray2(二重配列)に収集する。
def data_no_collect(data,i,array2,data_moji,no,hash,j,b_n)
data_no=no+j
array2<<[data_moji,data_no]
i=data_next(data,i,data_moji,hash,b_n)
return i
end
#data_mojiのバイト数の分だけiを次へ進める。
def data_next(data,i,data_moji,hash,b_n)
i2=i
if data_moji=="CDataMoji"
f_i=data[i+83,1].unpack("C")[0]
m_i=data[i+84+f_i,1].unpack("C")[0]
m_byte=83+f_i+m_i+2
hash[data_moji]=m_byte
i += hash[data_moji]
elsif data_moji=="CDataSunpou"
f_i=data[i+145,1].unpack("C")[0]
m_i=data[i+146+f_i,1].unpack("C")[0]
m_byte=147+f_i+m_i
hash[data_moji]=m_byte
i += hash[data_moji]
i += 236 if b_n>=420
elsif data_moji=="CDataSolid"
if data[i+5,1].unpack("C")[0] == 10
i += hash[data_moji]+4
else
i += hash[data_moji]
end
elsif data_moji=="CDataTen"
if data[i+4,1].unpack("C")[0] == 100
i += hash[data_moji]+20
else
i += hash[data_moji]
end
else
i += hash[data_moji]
end
return i
end
#文字のバイト数
def size(str)
if RUBY_VERSION =~/^1\.9|^2|^3/
return str.bytesize
else
return str.size
end
end
#文字データの変更
def ch_henkan(data,i,data_moji,b_n,m_hash,x_min,y_min,x_max,y_max)
pl,kiten,lc,sun_flg,ly,lg,z=data[i,15].unpack("LCSSSSS")
x1,y1,x2,y2,mojisyu=data[i+15,36].unpack("ddddL")
w,h,d,kakudo=data[i+51,32].unpack("dddd")
f_i=data[i+83,1].unpack("C")[0]
font=data[i+84,f_i]
m_i=data[i+84+f_i,1].unpack("C")[0]
if m_i==255
m_i2=data[i+84+f_i+1,1].unpack("S")[0]
str=data[i+85+f_i+1,m_i2].to_s
else
str=data[i+85+f_i,m_i].to_s
end
if x_min<x1 && x_min<x2 && x_max>x1 && x_max>x2 && x_min<x1 && x_min<x2 && x_max>x1 && x_max>x2 &&
y_min<y1 && y_min<y2 && y_max>y1 && y_max>y2 && y_min<y1 && y_min<y2 && y_max>y1 && y_max>y2

if m_hash[str]
str2=m_hash[str]
else
str2=str
end
else
str2=str
end
$data<<[pl,kiten,lc,sun_flg,ly,lg,z].pack("LCSSSSS")
$data<<[x1,y1,x2,y2,mojisyu].pack("ddddL")
$data<<[w,h,d,kakudo,f_i].pack("ddddC")
$data<<font
if size(str2)<255
$data<<[size(str2)].pack("C")
else
$data<<[255].pack("C")
$data<<[size(str2)].pack("S")
end
$data<<str2
n=1
if str==str2
n=0
end

return n
end
printf("表題変更.txtの編集は終了していますか? YES:1 NO:2\n")
i=STDIN.gets.chomp.to_i
unless i==1
system("notepad 表題変更.txt")
end

moji_hash={}
f=open("表題変更.txt","r")
while f.gets
xy=$_.chomp.split("\t")
moji_hash[xy[0]]=xy[1]
end
f.close

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Ed...@ai126198129255.60.access-internet.ne.jp>
・ツリー全体表示

その2
 kojima  - 20/2/6(木) 23:37 -
以下、前文からの続き


$stdout=open("jwc_temp.txt","w")
x_a=[];y_a=[]
puts "hd"
while ARGF.gets
xy=$_.split
if xy[0]=~/^hq/
elsif xy[0]=~/^hzs/
p_x=xy[1].to_f
p_y=xy[2].to_f
elsif xy[0]=~/^file=/
siz=size(xy[0])
if siz==5
STDERR.puts("ファルが保存されていないのでフォルダ名が特定できません")
STDERR.puts("終了します")
exit
end
path_file=xy[0][5..-1]
path,file=File.split(path_file)
# path.gsub!("\\","/")
elsif xy[0]=~/^hp\d/
x_a<<xy[1].to_f
y_a<<xy[2].to_f
elsif xy[0]=~/^ch/
x_min=x_a.min;x_max=x_a.max
y_min=y_a.min;y_max=y_a.max
if $_=~/\"/
moji=$'.chomp
moji_zahyo=$`
end
x=xy[1].to_f;y=xy[2].to_f;
if x_min<x && x_max>x &&y_min<y && y_max>y
if moji_hash[moji]
printf("%s \"%s\n",moji_zahyo,moji_hash[moji])
else
print $_
end
else
print $_
end

else
print $_
end
end
$stdout.close
x_min=x_a.min-p_x/2;x_max=x_a.max-p_x/2
y_min=y_a.min-p_y/2;y_max=y_a.max-p_y/2
file_a=Dir.entries(path).select{|item|item=~/\.jww$/i}
file_a.each{|file1|
i=0;data="";$data=""
open(path+"\\"+file1,"rb"){|f|data=f.read}
#◎jwwデータの宣言
i += 8
#◎図面のバージョン
b_n=data[i,4].unpack("L")[0];
if b_n<420
STDERR.printf("バージョンNO%dには未対応です。処理を中止します\n",b_n)
exit
end
i += 4
#◎メモ欄の記載文
memo_byte=data[i,1].unpack("C")[0];
i += 1+memo_byte
#◎図面サイズ
i += 4
#◎レイヤグループ・レイヤ状態
i += 4
0.upto(15){|i1|
data[i,4].unpack("L")[0]
i += 20
0.upto(15){|i2|i += 8}
}
i += 156
#◎レイヤ名・レイヤグループ名
0.upto(15){|i1|
0.upto(15){|i2|
byte=data[i,1].unpack("C")[0]
i += byte+1
}
}
0.upto(15){|i1|
byte=data[i,1].unpack("C")[0]
i += byte+1
}
i += 1140
0.upto(256){|i1|i += 8}
0.upto(256){|i1|
lcn_byte=data[i,1].unpack("C")[0]
i += 1+lcn_byte
i += 16
}
#◎SXF対応拡張線種定義拡張
0.upto(32){|i1|i += 16}
0.upto(32){|i1|
ltn_byte=data[i,1].unpack("C")[0]
i += 1+ltn_byte
i += 84
}
i += 380
#◎図形(線・円・点・文字・ソリッド・寸法図形・ブロック図形)の総数
int1=data[i,1].unpack("C")[0];int2=data[i+1,1].unpack("C")[0]
if int1==255 && int2==255
i += 2
n2=data[i,4].unpack("L")[0]
i += 4
else
n2=data[i,2].unpack("S")[0]
i += 2
end
i2=i
$data<<data[0,i2]
moji_n=0
#◎図形(線・円・点・文字・ソリッド・寸法図形・ブロック図形)のデータNOの検出
hash={"CDataSen"=>47,"CDataTen"=>35,"CDataEnko"=>75,"CDataSolid"=>79,"CDataBlock"=>59}
data_moji="";array2=[];no=0;j=0;has2={}
while no<n2
no += 1
int=data[i,2].unpack("S")[0]
if int==255*256+255
i += 4
n=data[i,2].unpack("S")[0]
i += 2
data_moji=data[i,n]
i += n
$data<<data[i2..i-1];i2=i
i=data_no_collect(data,i,array2,data_moji,no,hash,j,b_n)
if data_moji=="CDataMoji"
moji_no=ch_henkan(data,i2,data_moji,b_n,moji_hash,x_min,y_min,x_max,y_max)
moji_n +=moji_no
else
$data<<data[i2..i-1]
end
i2=i
j += 1
elsif int==127*256+255
i += 2
n=data[i,4].unpack("L")[0]-(128*256*256*256)
i += 4
array2.each{|item|
if item[1] == n
data_moji=item[0]
break
end
}
$data<<data[i2..i-1];i2=i
i=data_next(data,i,data_moji,hash,b_n)
if data_moji=="CDataMoji"
moji_no=ch_henkan(data,i2,data_moji,b_n,moji_hash,x_min,y_min,x_max,y_max)
moji_n +=moji_no
else
$data<<data[i2..i-1]
end
i2=i
else
n=data[i,2].unpack("S")[0]-(128*256)
i += 2
array2.each{|item|
if item[1] == n
data_moji=item[0]
break
end
}
$data<<data[i2..i-1];i2=i
i=data_next(data,i,data_moji,hash,b_n)
if data_moji=="CDataMoji"
moji_no=ch_henkan(data,i2,data_moji,b_n,moji_hash,x_min,y_min,x_max,y_max)
moji_n +=moji_no
else
$data<<data[i2..i-1]
end
i2=i
end
end
$data<<data[i..-1]
if moji_n>0
new_file=path+"\\"+file1+".jww"
open(new_file,"wb"){|f|f.write $data}
STDERR.puts("#{new_file}を作成しました")
else
STDERR.puts("#{file1}は変更無し")
end
}
__END__
:end

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Ed...@ai126198129255.60.access-internet.ne.jp>
・ツリー全体表示

補足
 kojima  - 20/2/6(木) 23:48 -
怖いので、元の図面は変更しません。

指定範囲内に、該当する文字があった場合だけ、拡張子.jwwを追加した
新しいファイルを作成します。(拡張子.jww.jww)

同じファイル名の.jwwファイルと.jww.jwwファイルがある場合は、
.jwwファイルが.jw.jwwとなって、すでにある.jww.jwwファイル
を上書きしてしまいます。
無いことを確認の上、実行してください。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Ed...@ai126198129255.60.access-internet.ne.jp>
・ツリー全体表示

Re:複数jwwファイルの図番(同位置の文字...
 kubo  - 20/2/7(金) 15:52 -
▼kojimaさん:

ありがとうございます。

R.Nさまのコメントも参考にして、実行することができました。

なお、できれば、「表題変更.txt」を置く位置は、外変のあるフォルダでは
なく、外変を実行するjwwデータのあるフォルダにしていただければ、
「表題変更.txt」の作成、変更がしやすいように思いました。

kojimaさま、ありがとうございました。
R.Nさま、ありがとうございました。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko@93.103.168.203.megaegg.ne.jp>
・ツリー全体表示

Re:複数jwwファイルの図番(同位置の文字...
 kubo  - 20/2/7(金) 17:59 -
▼kojimaさん:

お世話になります。
実際に1物件、使用させていただきました。
図面の順番を整理して、正式に図番を確定・編集させたあと、あとから追加に
なった図面以降の全ての図面の図番を、ずらせて行くのは大変でしたので、
ありがたく使用させていただきました。

ありがとうございました。

なお、変更後の図面(ファイル名)については、元が ○○○.jww としたとき
変更後が ○○○_.jww のように、拡張子の前の名前の部分に文字(全ファイル
共通で)を追加できる形にはならないでしょうか。

無理なら、
臨時のフォルダを作り、そこに文字列変更したいファイルだけコピーして、
そのフォルダで外変を実行すれば、上書きしても元のファイルは残るので
上書きの方法でもよいです。

誠に勝手を申しますが、可能なら、よろしくお願いします。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko@93.103.168.203.megaegg.ne.jp>
・ツリー全体表示

Re:複数jwwファイルの図番(同位置の文字...
 kojima  - 20/2/7(金) 21:40 -
>なお、できれば、「表題変更.txt」を置く位置は、外変のあるフォルダでは
>なく、外変を実行するjwwデータのあるフォルダにしていただければ、
>「表題変更.txt」の作成、変更がしやすいように思いました。

115行目から173行目を変更してください。

↓変更する部分

printf("表題変更.txtの編集は終了していますか? YES:1 NO:2\n")
i=STDIN.gets.chomp.to_i
unless i==1
system("notepad #{path}\\表題変更.txt")
end

moji_hash={}
f=open("#{path}\\表題変更.txt","r")
while f.gets
xy=$_.chomp.split("\t")
moji_hash[xy[0]]=xy[1]
end
f.close

$stdout=open("jwc_temp.txt","w")
x_a=[];y_a=[]
puts "hd"
while ARGF.gets
xy=$_.split
if xy[0]=~/^hq/
elsif xy[0]=~/^hzs/
p_x=xy[1].to_f
p_y=xy[2].to_f
elsif xy[0]=~/^file=/
siz=size(xy[0])
if siz==5
STDERR.puts("ファルが保存されていないのでフォルダ名が特定できません")
STDERR.puts("終了します")
exit
end
path_file=xy[0][5..-1]
path,file=File.split(path_file)
# path.gsub!("\\","/")
elsif xy[0]=~/^hp\d/
x_a<<xy[1].to_f
y_a<<xy[2].to_f
elsif xy[0]=~/^ch/
x_min=x_a.min;x_max=x_a.max
y_min=y_a.min;y_max=y_a.max
if $_=~/\"/
moji=$'.chomp
moji_zahyo=$`
end
x=xy[1].to_f;y=xy[2].to_f;
if x_min<x && x_max>x &&y_min<y && y_max>y
if moji_hash[moji]
printf("%s \"%s\n",moji_zahyo,moji_hash[moji])
else
print $_
end
else
print $_
end

else
print $_
end
end
$stdout.close


↓以下の文に変更

f=open("temp.txt","r")
while f.gets
xy=$_.split
if xy[0]=~/^file=/
siz=size(xy[0])
if siz==5
STDERR.puts("ファルが保存されていないのでフォルダ名が特定できません")
STDERR.puts("終了します")
exit
end
path_file=xy[0][5..-1]
path,file=File.split(path_file)
end
end
f.close
printf("表題変更.txtの編集は終了していますか? YES:1 NO:2\n")
i=STDIN.gets.chomp.to_i
unless i==1
system("notepad #{path}\\表題変更.txt")
end

moji_hash={}
f=open("#{path}\\表題変更.txt","r")
while f.gets
xy=$_.chomp.split("\t")
moji_hash[xy[0]]=xy[1]
end
f.close

$stdout=open("jwc_temp.txt","w")
x_a=[];y_a=[]
puts "hd"
while ARGF.gets
xy=$_.split
if xy[0]=~/^hq/
elsif xy[0]=~/^hzs/
p_x=xy[1].to_f
p_y=xy[2].to_f
elsif xy[0]=~/^hp\d/
x_a<<xy[1].to_f
y_a<<xy[2].to_f
elsif xy[0]=~/^ch/
x_min=x_a.min;x_max=x_a.max
y_min=y_a.min;y_max=y_a.max
if $_=~/\"/
moji=$'.chomp
moji_zahyo=$`
end
x=xy[1].to_f;y=xy[2].to_f;
if x_min<x && x_max>x &&y_min<y && y_max>y
if moji_hash[moji]
printf("%s \"%s\n",moji_zahyo,moji_hash[moji])
else
print $_
end
else
print $_
end

else
print $_
end
end
$stdout.close

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Ed...@ai126149015073.54.access-internet.ne.jp>
・ツリー全体表示

Re:複数jwwファイルの図番(同位置の文字...
 kubo  - 20/2/8(土) 17:53 -
▼kojimaさん:

お世話になります。

修正をしていただき大変ありがとうございます。
「表題変更.txt」の確認・修正がしやすくなりました。

ありがとうございました。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko@93.103.168.203.megaegg.ne.jp>
・ツリー全体表示

[投稿者削除]
   - -
この書き込みは投稿者によって削除されました。(20/4/5(日) 11:19)

引用なし

パスワード


<@>
・ツリー全体表示

Re:複数jwwファイルの図番(同位置の文字...
 kubo  - 20/2/9(日) 22:35 -
▼R.Nさん:

コメントありがとうございます。

.jww.jww が拡張子になるとは思っていません。
それでは、Jw_cadで読み込めないでしょうから。
また、禁則文字についても承知しています。

外変の構文は理解できないのですが、

新しい batファイルの 309 行目の
new_file=path+"\\"+file1+".jww"
で、新しいファイル名を作成されているということは、なんとなくわかりました。
元のファイル名(拡張子込み)の末尾に .jww を加えておられる・・・と。
それ以上のことはわかりません。

このコメントを拝見したあと、試しに、.jww を除いて
new_file=path+"\\"+file1+""
にさせてもらったら、元のファイル名に上書きされました。

それで正しかったのかはわかりません。
ファイル内容を見る限り、変更したい箇所だけ書き換わっていましたので
問題ないように思いました。


>▼kuboさん:
>
>>なお、変更後の図面(ファイル名)については、元が ○○○.jww としたとき
>>変更後が ○○○_.jww のように、拡張子の前の名前の部分に文字(全ファイル
>>共通で)を追加できる形にはならないでしょうか。
>>
>>無理なら、
>>臨時のフォルダを作り、そこに文字列変更したいファイルだけコピーして、
>>そのフォルダで外変を実行すれば、上書きしても元のファイルは残るので
>>上書きの方法でもよいです。
>
>現状の外変スクリプトで、出力される「Jwwデータファイル」は、
> 例;元ファイル名.拡張子 ⇒ 「ABC.jww」とすると、
> ┌──────────┬──────────┐
> │ 元ファイル │ 外変出力ファイル │
> ├─────┬────┼─────┬────┤
> │ファイル名│ 拡張子 │ファイル名│ 拡張子 │
> ├─────┼────┼─────┼────┤
> │ ABC │ jww │ ABC.jww │ jww │ ⇒ ABC.jww.jww(出力)
> └─────┴────┴─────┴────┘
> ↑ ※
>と、なりますが、
>
>要望の、「ABC_.jww」出力にスクリプトを改変したとしても、
> ┌─────┬────┬─────┬────┐
> │ ABC │ jww │ ABC_ │ jww │ ⇒ ABC_.jww(出力)
> └─────┴────┴─────┴────┘
>
>となるだけで、
>
>何れにしても、出力ファイル名を編集するということでは、同じことかと思います。
>(拡張子が".jww.jww"となる?、と勘違いされているのでは〜、と思いましたので---、エクスプローラで"ABC.jww.jww"ファイルを左クリックすると、ファイル名(ABC.jww)が反転表示(編集状態)されますので、確認下さい)
>
>※ 蛇足で、
>ファイル名変更時、禁止文字を使うと、エラー吹き出し( \/:*?"<>|)が表示されます。(詳細には、ネット検索)
>
>出力ファイル名を外変で任意入力したい、ということであれば、話は別ですが---

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko@93.103.168.203.megaegg.ne.jp>
・ツリー全体表示

Re:複数jwwファイルの図番(同位置の文字...
 kojima  - 20/2/10(月) 11:43 -
▼kuboさん:
>このコメントを拝見したあと、試しに、.jww を除いて
>new_file=path+"\\"+file1+""
>にさせてもらったら、元のファイル名に上書きされました。
>
>それで正しかったのかはわかりません。
>ファイル内容を見る限り、変更したい箇所だけ書き換わっていましたので
>問題ないように思いました。


これは怖いからやめてください。
不具合があった時、開けなくなる可能性があります。
手作業での上書きと違って、バックファイルが作成されません。


bakファイルを作成して、元図を上書きの場合は、以下のようにしてください。

if moji_n>0
new_file=path+"\\"+file1+".jww"
open(new_file,"wb"){|f|f.write $data}
STDERR.puts("#{new_file}を作成しました")
else
STDERR.puts("#{file1}は変更無し")
end


を以下のように修正する。


if moji_n>0
new_file=path+"\\"+file1.sub(/\.jww$/i,".bak")
open(new_file,"wb"){|fw|fw.write(data)}
new_file2=path+"\\"+file1
open(new_file2,"wb"){|f|f.write $data}
STDERR.puts("#{new_file}を作成し\n#{new_file2}を修正しました")
else
STDERR.puts("#{file1}は変更無し")
end

引用なし

パスワード


<Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MALNJS; rv:11.0) like Gecko@ai126151227120.55.access-internet.ne.jp>
・ツリー全体表示

Re:複数jwwファイルの図番(同位置の文字...
 kubo  - 20/2/11(火) 23:08 -
▼kojimaさん:

大変ありがとうございました。
より便利になりました。


>▼kuboさん:
>>このコメントを拝見したあと、試しに、.jww を除いて
>>new_file=path+"\\"+file1+""
>>にさせてもらったら、元のファイル名に上書きされました。
>>
>>それで正しかったのかはわかりません。
>>ファイル内容を見る限り、変更したい箇所だけ書き換わっていましたので
>>問題ないように思いました。
>
>
>これは怖いからやめてください。
>不具合があった時、開けなくなる可能性があります。
>手作業での上書きと違って、バックファイルが作成されません。
>
>
>bakファイルを作成して、元図を上書きの場合は、以下のようにしてください。
>
>if moji_n>0
>new_file=path+"\\"+file1+".jww"
>open(new_file,"wb"){|f|f.write $data}
>STDERR.puts("#{new_file}を作成しました")
>else
>STDERR.puts("#{file1}は変更無し")
>end
>
>
>を以下のように修正する。
>
>
>if moji_n>0
>new_file=path+"\\"+file1.sub(/\.jww$/i,".bak")
>open(new_file,"wb"){|fw|fw.write(data)}
>new_file2=path+"\\"+file1
>open(new_file2,"wb"){|f|f.write $data}
>STDERR.puts("#{new_file}を作成し\n#{new_file2}を修正しました")
>else
>STDERR.puts("#{file1}は変更無し")
>end

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko@93.103.168.203.megaegg.ne.jp>
・ツリー全体表示

79 / 352 ツリー    ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
 735990
ページ:  ┃  記事番号:  

C-BOARD Moyuku v1.03b3
Jw_cad Copyright (C)1997-2016 Jiro Shimizu & Yoshifumi Tanaka