| > サンプルに虫が居ましたので改修中です。 > > 改修が済んだら改めて投稿します。
サンプルを添付しました。
フォーム:改行の修正.wfx を開いて、[テキストデータ出力]ボタンを実行してください。
ご参考にしてください。
なお、添付ファイルは数日を目途に削除しますので、お早めにダウンロード願います。
◇ ◇ ◇ ◇ ◇ ◇ ◇
■改行の修正.tbx
項目番号 項目名 データ型 1 テキスト 文字列
■改行の修正.wfx ※桐9-2012 のフォームを桐コンバータで変換したフォームです
フォーム ├ ファミリ ├ ワークスペース ├ フォーム操作バー ├ フォームヘッダ部 │ ├ a │ ├ aテキスト │ └ cmdテキストデータ出力 └ フォーム明細部 ├ 行セレクタ └ tテキスト
オブジェクト名: cmdテキストデータ出力 標題 : テキストデータ出力
機能名 機能パラメータリスト 1 表示 2 手続き実行 cmdテキストデータ出力Click 3 なし 4 なし
■改行の修正.kex
手続き定義開始 cmdテキストデータ出力Click( ) 変数宣言 自動,文字列{ &icon, &title = "cmdテキストデータ出力Click( )", &msg } 変数宣言 自動,文字列{ &string } 変数宣言 自動,文字列{ &text } 変数宣言 自動,文字列{ &chr } 変数宣言 自動,文字列{ &numList = "1,2,3,4,5,6,7,8,9,0" } 変数宣言 自動,文字列{ &indexChr } 変数宣言 自動,整数 { &traceON } 変数宣言 自動,整数 { &multiTblNum } 変数宣言 自動,整数 { &length } 変数宣言 自動,整数 { &pos, &cnt, &offset } 変数宣言 自動,整数 { &i, &loop, &step = 1 }
変数宣言 自動,文字列{ &outputTxtName = #一括パス名 + "test.txt" } 変数宣言 自動,整数 { &status印字開始 } 変数宣言 自動,整数 { &ans } 変数宣言 自動,長整数{ &longError }
&traceON = 0 条件 ( &traceON ) トレース出力 &title + "を実行開始しました"
編集表 &hwindow 多重化 &multiTblNum = #is表 ┌if ( &multiTblNum ) │ │ *----- begin テキストファイル作成 -----* │ 印字終了 │ 印字開始 &outputTxtName, 終了状態 = &status印字開始 │ │ ジャンプ 行番号 = 先頭 │┌繰り返し ( .not #eof ) ││ ││ &text = [テキスト] ││ &length = #文字数( &text ) ││ **条件 ( &traceON ) トレース出力 _&text, " ", _&length ││ ││ &loop = &length ││┌繰り返し &i = 1, &loop, &step │││ │││ &chr = #sstr( &text, &i, 1 ) │││ │││┌if ( #対応番号( &numList, &chr ) ) ││││ ││││ &offset = 0 ││││ &pos = &i ││││┌繰り返し &cnt = 1, 5, &step /* 1 〜 999999 までのインデックスに対応 */ │││││ │││││ &offset = &cnt │││││ &indexChr = #sstr( &text, &pos + &cnt, 1 ) │││││┌if ( #対応番号( &numList, &indexChr ) = 0 ) ││││││ &offset = &cnt - 1 ││││←┼─繰り返し中止 │││││└end ││││└繰り返し終了 ││││ ││││ 条件 ( &traceON ) トレース出力 _&string, " , _13, _10," ││││ 条件 ( &status印字開始 = 1 .and &string <> #u ) 印字 &string, _13, _10, ││││ &string = #sstr( &text, &i, 1 + &offset ) ││││ &i = &i + &offset ││││ │││├else ││││ ││││ &string = &string + &chr │││└end │││ ││└繰り返し終了 ││ ││ ジャンプ 行番号 = 次行 │└繰り返し終了 │ 条件 ( &traceON ) トレース出力 _&string, " , _13, _10," │ 条件 ( &status印字開始 = 1 ) 印字 &string, _13, _10, │ │ 終了 表 &multiTblNum └end 編集表 &hwindow
┌if ( &status印字開始 = 1 ) │ │ 印字終了 │ &msg = "テキストファイルを出力しました" │ &msg = &msg + "\n\n&outputTxtName = " + #文字置換( &outputTxtName, "\", "\\" ) │ &msg = &msg + "\n\nファイルを見ますか?" │ メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 5, 制御文字展開 = する, &ans │┌if ( &ans = 6 ) ││ シェル実行 &outputTxtName, &longError │└end ├else │ │ &msg = "コマンドの実行に失敗しました" │ &msg = &msg + "\n\n印字開始 &outputTxtName, 終了状態 = &status印字開始" │ &msg = &msg + "\n\n&outputTxtName = " + #文字置換( &outputTxtName, "\", "\\" ) │ &msg = &msg + "\n\n&status = " + #str( &status印字開始 ) │ メッセージボックス &title, &msg, アイコン = e, ボタン指定 = 1, 制御文字展開 = する, &ans └end
&msg = "done" **メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する
条件 ( &traceON ) トレース出力 &title + "を実行終了しました" 手続き定義終了
|