Object Oriented XBASE Forum
【ジャンル】ドキュメント整理
【バージョン】Ver7.0対象ですが、Ver8.0-9.0でも動作可
【ご提供】「株式会社サラト」http://www.salat.co.jp 様よりご提供を頂きました。ありがとうございます。
--------------------------------------------------------------------------
VFPのフォームファイルのドキュメントに役立つかも知れません
SCXファイルの中身を一まとめにしてテキストファイルに出力します
SCXファイルはテーブルと同じ構造でしたから、その内容(大半がMEMO)をテキスト化
したものです
これでテキスト化しておくと、個々の項目のイベント内容や状態をいちいち開かなく
ても確認できることぐらいです
@SAYやSET ALTERNATEを使用していますので、そのあたりは適当に変更してください
**********************************************************************
*
* SCX2TXT (FORM データの内容をTEXT化する)
*
* 引数 SCX名 フルパス指定(拡張子なし) 同じ場所にSCTも必要です
*
* 出力は同じところに拡張子 .VFT として出力します
*
* 基本はバッチ処理です
*
***********************************************************************
PARAMETERS PR_SCX
* ★★★ ↓必要に応じて変更してください
SET ESCAPE OFF
SET OPTIMIZE ON
SET TALK OFF
SET VIEW OFF
SET EXCLUSIVE OFF
SET LOCK ON
SET SYSMENU OFF
SET STATUS OFF
SET STATUS BAR OFF
SET DELETE ON
SET SAFETY OFF
SET CONFIRM ON
* ↓ これは変更不可
SET CONSOLE OFF
***
* ★★★ ↓必要に応じて変更してください
*ON ERROR DO ERRPROC
@ 20,40 SAY "SCXドキュメント変換中"
IN_FILE = PR_SCX + ".SCX"
@ 21,40 SAY IN_FILE
IF .NOT. FILE(IN_FILE)
@ 22,40 say "FILE がありません"
wait
QUIT
ENDIF
* 出力ファイルの拡張子↓必要なら変更してください
OUT_FILE = PR_SCX + ".VFT"
* ALTERNATE を使ってること自体が時代遅れですよね(^^ゞ
SET ALTERNATE TO (OUT_FILE)
SET ALTERNATE ON
? "■■■ " + IN_FILE + " -----------START"
? " "
SELECT 1
USE (IN_FILE)
GO TOP
* ★★★ ↓必要に応じて変更してください
SET MEMOWIDTH TO 100
DO WHILE .NOT.EOF()
SET ALTERNATE TO (OUT_FILE) ADDITIVE
SET ALTERNATE ON
? "------------------------------------------------------------------"
? PLATFORM
? "-----------------------------------------------"
IF .NOT.EMPTY(CLASS)
? "■CLASS:"
MEM_POS=ALINES(MEM_WK,CLASS)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(CLASSLOC)
? "■CLASSLOC:"
MEM_POS=ALINES(MEM_WK,CLASSLOC)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(BASECLASS)
? "■BASECLASS:"
MEM_POS=ALINES(MEM_WK,BASECLASS)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(OBJNAME)
? "■OBJNAME:"
MEM_POS=ALINES(MEM_WK,OBJNAME)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(PARENT)
? "■PARENT:"&& +CHR(13)
MEM_POS=ALINES(MEM_WK,PARENT)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(PROPERTIES)
? "■PROPERTIES:"&& +CHR(13)
MEM_POS=ALINES(MEM_WK,PROPERTIES)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(PROTECTED)
? "■PROTECTED:"&& +CHR(13)
MEM_POS=ALINES(MEM_WK,PROTECTED)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(METHODS)
? "■METHODS:"&& +CHR(13)
MEM_POS=ALINES(MEM_WK,METHODS)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(OLE)
? "■OLE:"&& +CHR(13)
MEM_POS=ALINES(MEM_WK,OLE)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(OLE2)
? "■OLE2:"&& +CHR(13)
MEM_POS=ALINES(MEM_WK,OLE2)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(RESERVED1)
? "■RESERVED1:"&& +CHR(13)
MEM_POS=ALINES(MEM_WK,RESERVED1)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(RESERVED2)
? "■RESERVED2:"&& +CHR(13)
MEM_POS=ALINES(MEM_WK,RESERVED2)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(RESERVED3)
? "■RESERVED3:"&& +CHR(13)
MEM_POS=ALINES(MEM_WK,RESERVED3)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(RESERVED4)
? "■RESERVED4:"&& +CHR(13)
MEM_POS=ALINES(MEM_WK,RESERVED4)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(RESERVED5)
? "■RESERVED5:"&& +CHR(13)
MEM_POS=ALINES(MEM_WK,RESERVED5)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(RESERVED6)
? "■RESERVED6:"&& +CHR(13)
MEM_POS=ALINES(MEM_WK,RESERVED6)
FOR I = 1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(RESERVED7)
? "■RESERVED7:"&& +CHR(13)
MEM_POS=ALINES(MEM_WK,RESERVED7)
FOR I=1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
IF .NOT.EMPTY(RESERVED8)
? "■RESERVED8:"&& +CHR(13)
MEM_POS=ALINES(MEM_WK,RESERVED8)
FOR I=1 TO MEM_POS
? MEM_WK[I]
NEXT
ENDIF
SELECT 1
SKIP
ENDDO
? "■■■ " + IN_FILE + " -----------END"
? " "
SET ALTERNATE TO
QUIT
Copyright(c) TANAKA-KI 2004