Indexへ
(11550)//【11551】//(11555)
------------------------
【タイトル】Lite & Seen Lite / JW_CAD 外部変形 / DOSによるプログラムの研究報告
【記事番号】 11551 (*)
【 日時 】07/12/20 23:02
【 発言者 】Kazuo Miyake

 MS-DOSのコマンド(Windows2000 から)だけ
を利用して作る、簡単な外部変形のプログラ
ムを考えてみました。

 DOSによるプログラムは

REM #jww 画面の中央に「こんにちは」と書く
echo cc4 > jwc_temp.txt
echo ch 0 0 1 0 ^"こんにちは >> jwc_temp.txt

のようなものが「せいぜい」と 思っていたの
ですが、Windows2000 から DOS でもそれなり
に外部変形のプログラムが 組めることがわか
りましたので報告します。


1. 連続線を引くプログラム

@rem 連続線を引く
@echo off
findstr "^hp[1-9]" jwc_temp.txt > jwc_temp.bak
( for /f "tokens=1*" %%i in (jwc_temp.bak) do echo %%j ) > jwc_temp.txt
del jwc_temp.bak
exit
REM #jww
REM #1-
REM #99#
REM #e


2. 円を点に変換するプログラム

@rem 円を点に変換する
@echo off
findstr /v "^hq" jwc_temp.txt > jwc_temp.bak
( echo hd
 for /f "tokens=1,2,3*" %%i in (jwc_temp.bak) do (
  if %%i EQU ci (
   echo pt %%j %%k
   echo %%i %%j %%k %%l
  ) else (
   echo %%i %%j %%k %%l
  )
 )
) > jwc_temp.txt
del jwc_temp.bak
exit
REM #jww
REM #h1
REM #g1
REM #e


3. 文字種を変更するプログラム

@rem 文字種を変更する
@echo off
set cn=%1
if not defined cn set cn=8
findstr /v "^hq" jwc_temp.txt > jwc_temp.bak
( echo hd
 for /f "tokens=1,2*" %%i in (jwc_temp.bak) do (
  if %%i EQU ch (
   echo cn%cn%
   echo %%i %%j %%k
  ) else (
   echo %%i %%j %%k
  )
 )
) > jwc_temp.txt
del jwc_temp.bak
exit
REM #jw
REM #h3 範囲内の「文字」データのみを選択
REM #g1
REM #c 文字種 0〜10
REM #e


4. 用紙枠を書くプログラム

@rem 用紙枠
@echo off
for /f "tokens=1-3" %%i in (jwc_temp.txt) do (
 if %%i EQU hzs ( set w=%%j & set h=%%k )
)
set u=40
set v=20
set /a w-=%v%
set /a h-=%v%
( echo bz
 echo lc6
 echo %v% %v%
 echo %w% %v%
 echo %w% %h%
 echo %v% %h%
 echo %v% %v%
 echo.
 echo %v% %u% %w% %u%
) > jwc_temp.txt
exit
REM #jww
REM #hp
REM #zs
REM #bz
REM #e


 MS-DOSのコマンドだけでは 小数点の計算
や三角関数などが利用できないため 用途は
かなり限られますが こうした外部変形の利
用法もあるかと思います。

 皆様方のご健康とご活躍をお祈り申し上
げます。


       記録 2007.12.20 三宅