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