HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

ツリー一括表示

Nomal 改行の修正 /ONnoji (22/08/17(Wed) 18:01) #13503
Nomal Re[1]: 改行の修正 /ONnoji (22/08/17(Wed) 18:03) #13504
  └Nomal Re[2]: 改行の修正 /ONnoji (22/08/18(Thu) 11:06) #13511
    └Nomal Re[3]: 改行の修正 /なか (22/08/19(Fri) 05:44) #13515
      └Nomal Re[4]: 改行の修正 /ONnoji (22/08/19(Fri) 10:46) #13516
        └Nomal Re[5]: 改行の修正 /なか (22/08/19(Fri) 11:47) #13517 解決済み!


親記事 / ▼[ 13504 ]
■13503 / 親階層)  改行の修正
□投稿者/ ONnoji -(2022/08/17(Wed) 18:01:28)
    > ■13494 / 1階層)  データ編集(改行)についての質問があります
    > □投稿者/ なか -(2022/08/15(Mon) 09:02:08)

    ■変更前データ

    1 あいうえお、かきくけこ、さしすせそ、たちつてと、なにぬねの、はひふ
    へほ、まみむめも、やゆよ、らりるれろ、わをん。
    2 あいうえお。3 あいうえおかきくけこさしすせそたちつてとなにぬねのは
    ひふへほまみむめもやゆよらりるれろわをん。あいうえおかきくけこさしす
    せそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん。
    4 わおん
    1 かきくけこ。
    2 さしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろ
    わをんあいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほ
    まみむめもやゆよらりるれろわをん
    3 たちつてと
    4 なにぬねの
    5 はひふへほ 1 あいうえお、かきくけこ、さしすせそ、たちつてと、なにぬ
    ねの、はひふへほ、まみむめも、やゆよ、らりるれろ、わをん。
    2 まみむめもやゆよらりるれろわをんあいうえおかきくけこさしすせそたち
    つてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん
    3 さしすせそたちつてと





    ・各文章の先頭に、1から始まり順番に番号がふられています。
    ・先頭番号と文章の間には半角スペースがあります。
    ・各文章の文字数は様々です。
    ・各文章は40文字程度で改行されます。但し、必ず40文字ではなく、おおよそ40文字での改行です。
    ・先頭番号が変わると同時に改行される場合もありますが、次の先頭番号が半角スペースを挟んで文中から始まる場合もあり、様々です。
    ・文字数が40文字程度以下の為、改行されない文章もあります。
    ・先頭番号は1から始まり、ある程度番号を重ねるとリセットされ、リセットされると次の文章番号が1になります。
    ・1〜3でリセットされる場合もあれば、1〜99でリセットさせる場合もあり、様々です。ごくわずかですが、1〜150などの3桁までの番号がつく文章もあります。
    ・各文章は、"、" "。" "」"で終わる場合やひらがなで終わる場合もあり、様々です。


    ■変更後データ

    上記の変更前データを以下のように、文章単位で改行することを目指しています。

    1 あいうえお、かきくけこ、さしすせそ、たちつてと、なにぬねの、はひふへほ、まみむめも、やゆよ、らりるれろ、わをん。
    2 あいうえお。
    3 あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん。あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん。
    4 わおん
    1 かきくけこ。
    2 さしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをんあいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん
    3 たちつてと
    4 なにぬねの
    5 はひふへほ
    1 あいうえお、かきくけこ、さしすせそ、たちつてと、なにぬねの、はひふへほ、まみむめも、やゆよ、らりるれろ、わをん。
    2 まみむめもやゆよらりるれろわをんあいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん
    3 さしすせそたちつてと






[ □ Tree ] 返信 [メール受信/OFF] 削除キー/

▲[ 13503 ] / ▼[ 13511 ]
■13504 / 1階層)  Re[1]: 改行の修正
□投稿者/ ONnoji -(2022/08/17(Wed) 18:03:18)
    2022/08/18(Thu) 10:32:36 編集(投稿者)
    2022/08/18(Thu) 08:47:00 編集(投稿者)
    2022/08/17(Wed) 19:16:49 編集(投稿者)

    サンプルに虫が居ましたので改修中です。

    改修が済んだら改めて投稿します。
[ 親 13503 / □ Tree ] 返信 [メール受信/OFF] 削除キー/

▲[ 13504 ] / ▼[ 13515 ]
■13511 / 2階層)  Re[2]: 改行の修正
□投稿者/ ONnoji -(2022/08/18(Thu) 11:06:42)
    > サンプルに虫が居ましたので改修中です。
    >
    > 改修が済んだら改めて投稿します。

    サンプルを添付しました。

    フォーム:改行の修正.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 + "を実行終了しました"
    手続き定義終了


[ 親 13503 / □ Tree ] 返信 [メール受信/OFF] 削除キー/

▲[ 13511 ] / ▼[ 13516 ]
■13515 / 3階層)  Re[3]: 改行の修正
□投稿者/ なか -(2022/08/19(Fri) 05:44:28)
    2022/08/19(Fri) 06:22:08 編集(投稿者)
    2022/08/19(Fri) 05:59:39 編集(投稿者)

    ONnojiさん

    手取り足取り、助けていただいてありがとうございます。
    早速、添付ファイルを利用させていただきました。

    改行前の元データがまだまだそろっていないため、20行分のデータで
    一部データで実行してみたところ、私のやりたいことが瞬時に、完璧にできました!
    本当にありがとうございます。

    これから元データを準備して、活用させていただきます!

    不可能と思えることは必ずしも不可能ではない。
    自分には不可能なことでも、何らかの方法で可能になる。
    今回はONnojiさんに助けられ可能となった。
    と言うことを体験させていただきました。

    これで3万件以上分のマニュアル改行を回避できます。

    取り急ぎ、感謝をお伝えさせていただきます。


[ 親 13503 / □ Tree ] 返信 [メール受信/OFF] 削除キー/

▲[ 13515 ] / ▼[ 13517 ]
■13516 / 4階層)  Re[4]: 改行の修正
□投稿者/ ONnoji -(2022/08/19(Fri) 10:46:20)
    2022/08/19(Fri) 10:52:39 編集(投稿者)

    > 早速、添付ファイルを利用させていただきました。
    > 一部データで実行してみたところ、私のやりたいことが瞬時に、完璧にできました!
    > これから元データを準備して、活用させていただきます!

    了解しました。(^^ok

    > これで3万件以上分のマニュアル改行を回避できます。

    数万行のデータを目視で改行を削除・挿入する作業は考えただけでもゾっとします。

    これは人がする作業ではありませんよ。

    こういう作業は、柔らかな機械、そうソフトウェアにさせればいい事です。

    ソフトウェアは、人と違って疲れません、そして高速です。

    たまたま桐というご縁があったので今回のような結果になりました。

    ということで「桐の質問掲示板」というオープンな場を提供してくれる【多遊】さんに感謝しましょう。m(__)m

    p.s.

    添付ファイルは削除しました。

    p.p.s.

    そんなに難しいことはしていないので、内容はご理解できると思います。

    もしも、不明な点があれば、この掲示板でお問い合わせください。

    そうそう、[フォーム+イベント]に関しては拙作webページも参考にしてみてください。

    こちら
     ↓
    桐の釣魚大全のトップ 日本語データベース桐10s 対応
    http://silicon7565.html.xdomain.jp/

    [桐のイベント処理の入門講座]と[桐のイベント処理の詳細な解説」他が用意してあります。

    p.p.p.s.

    すべて解決したのであれば、

    > ■解決しましたら最下段にチェックを入れてください

    ↑投稿ページの赤い文字をお読みになって、[解決済み!]のツリーにしてください。

[ 親 13503 / □ Tree ] 返信 [メール受信/OFF] 削除キー/

▲[ 13516 ] / 返信無し
■13517 / 5階層)  Re[5]: 改行の修正
□投稿者/ なか -(2022/08/19(Fri) 11:47:52)
    この度のご親切、本当にありがとうございました。

    多遊さんにも、ONnojiさんにも感謝します。
解決済み!
[ 親 13503 / □ Tree ] 返信 [メール受信/OFF] 削除キー/


Mode/  Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -