目次
前
次
数値生成(Tcl/Tk)
制御関係のプログラミングをする場合、I/Oポートの
入出力を扱うために、ポートの並びを記述する必要が
あります。次のような場合です。
NET "REGOUT<0>" LOC = "P11" ;
NET "REGOUT<1>" LOC = "P12" ;
NET "REGOUT<2>" LOC = "P13" ;
NET "REGOUT<3>" LOC = "P14" ;
この例では、0から3と11から14が必要です。
Copy & Pasteで対応できますが、数値の記述を
1行に2カ所変更するのは、自分のような不精
な人間には面倒で、ミス連発が目に見えてます。
はじめに、0から3の変化をスクリプトで記述し
それに11から14の変化を追加していけば、目的の
数値変化のコードを入手できます。
0から3の変化
for文を利用して記述します。
for {set i 0} {$i < 4} {incr i} {
puts $i
}
ファイル名をtt.tclにして、Windowsの
DOS窓で動かすと、次のようになります。
I/Oリダイレクトを利用して、テキストファイル
に落としておけば、次のような内容になります。
0
1
2
3
11から14の変化
for文の中に、0のときに11になるように
加算処理を加えます。
for {set i 0} {$i < 4} {incr i} {
set j [expr $i+11]
puts "$i $j"
}
I/Oリダイレクトで、テキストファイルに
内容をいれると、以下となります。
0 11
1 12
2 13
3 14
文字列追加
最終目的は、文字列をつけたファイルなので
出力処理の中に入れます。
for {set i 0} {$i < 4} {incr i} {
set j [expr $i+11]
puts "NET \"REGOUT<$i>\" LOC = \"P$j\" ;"
}
文章にすると長いですが、実際には5分もあれば
スクリプトが完成します。
行数が少ない場合、エディタで直接入力した方が
作業時間は少ないですが、行数が増えるに従って
スクリプトを作成した方がミスなく早く記述でき
ます。
目次
前
次