過去の桐井戸端BBS (桐ver.9)
22559 一括処理によってタブ区切りでテキスト書き出しをしたい いがらし 2003/10/03-09:54
こんにちは@いがらしです
ver9です。
一括でテキスト書きだししているのですが
タブ区切りで書き出すことは可能でしょうか。
あと項目の中に編集{拡張}で使っている/があるのですが
これを改行で書き出したいのですが可能でしょうか
よろしくお願いします。


22560 Re:タブ区切り 幅田 2003/10/03-10:03
記事番号22559へのコメント
いがらしさん
こんにちは

>ver9です。一括でテキスト書きだししているのですが
>タブ区切りで書き出すことは可能でしょうか。

書き出しコマンドのパラメータで
区切り="09"とすれば、
タブ区切りで書き出すことができます。



22561 Re:タブ区切り いがらし 2003/10/03-10:59
記事番号22560へのコメント
幅田さんどうもありがとうございます。
初心者なものでもう少しつき合ってください。

印字 &TAB,[名欄],&TAB,[施設名],&TAB1,[〒]〜・・・
変数宣言 固有,文字{HYO,&TXT,&TAB,&TAB1,〜・・・}
&TAB="★"

とあります。
使い方を教えてください。
いろいろ試しましたがすべてエラーになってしまいました。
実際には変数宣言は一番上にあります。

22562 Re:タブ区切り 幅田 2003/10/03-12:42
記事番号22561へのコメント
いがらしさん

>ver9です。一括でテキスト書きだししているのですが
>タブ区切りで書き出すことは可能でしょうか。

とあったので、てっきり「書き出し」コマンドを使用しているものと思いこんでしまいました。
勘違いしてどうもすみません。
印字コマンドを使って、書き出しをされているのですね。


であれば、項目の間に _9 を書けば、タブ区切りで書き出すことができます。
印字 [名欄],_9,[施設名],_9,[〒]〜・・・
といった感じです。
ヘルプや一括マニュアル等にも出ています。

>&TAB="★"

としてもタブではなく、"★"の文字を区切りにしようと
しているとしか思えないのですが・・・

>あと項目の中に編集{拡張}で使っている/があるのですが
>これを改行で書き出したいのですが可能でしょうか

これですが、書き出しコマンドではなく、
印字コマンドを使っておられるのなら可能だと思います。
具体的な例がないので、どう書けばよいのかと
言われてもちょっと困りますが。

22563 Re:タブ区切り 悲しげ 2003/10/03-13:08
記事番号22561へのコメント
どもっ、いがらしさん
>ver9です。一括でテキスト書きだししているのですが
>タブ区切りで書き出すことは可能でしょうか。
>あと項目の中に編集{拡張}で使っている/があるのですが
>これを改行で書き出したいのですが可能でしょうか

用語としては「テキスト書き出し」とは、一般的には「印字」系のコマンドではなく、
「書きだし テキスト」コマンドを指します。(^^;)
それと「/」は(編集拡張で使うか否かに関わらず)いわゆる「強制改行文字」のことを云っているのだと思います。
それはそうと、ざっと考えただけですが、どちらのコマンドを使うにせよ、
項目のタブ区切りと強制改行文字の改行コード(0Dh)出力を一度に実行するやり方は判りません。

以下に、「印字」コマンドよりは簡単な「書きだし テキスト」コマンドを使って、
項目区切りをタブで書き出す方法だけ挙げておきます。

 書き出し テキスト,"某.txt",区切り = "09",終了状態 = &OK,*

書き出したテキストをどのように使いたいのかにもよりますが、
私なら、必要があれば、エディタを起動してその中で「/」を改行コードに置換させると思います。
ところで、項目の区切りがタブで、且つ項目内の強制改行が改行コードで
出力されたデータって、何だか想像するだに訳わかんないデータのような気がしないでもありません(^^;)。
よろしければ、その用途を教えて下さい。場合によっては、よりエレガントな別解があるかも?

ps.

>&TAB="★"
っても意味不明。(^^;)

 書き出し テキスト,"某.txt",区切り = "★",終了状態 = &OK,*

のこと?
22596 Re:タブ区切り解決しました感謝です いがらし 2003/10/06-13:38
記事番号22559へのコメント
幅田さん悲しげさん感謝です。
わたしの説明不足でご迷惑をかけています。ごめんなさい。
タブ区切り
印字 [名欄],_9,[施設名],_9,[〒]〜・・・
でばっちりでした。ありがとうございます。これからすべてこれになるので
助かりました。

&TABについて
これは印刷用のバッチデータで区切り文字が変わるので入れていました。
たまたま変数名が&TABだったのでまぎらわしくなってしまいました。
今度ソフトが変わって区切り文字がタブ文字に変更になってしまいました。
編集{拡張}の/というのも、ある項目[A]に
● ● ● ● ●/●● ●● ● ●/・・・・・
のデータがあります。
/を強制改行文字の改行コード(0Dh)に置換したいのです。というか
● ● ● ● ●改行
●● ●● ● ●改行
●● ●● ● ●タブ■■タブ・・・・・
にしたいのです。このコードは置換できないので書き出すときに工夫が必要なのでしょうか。
ソフトの方で項目の改行は普通の改行で一行の終わりの改行は#+改行にという指示なのです。
また、書き出しコマンドと印字の違いがいまいちわかっていません。(泣)
表の各項目内の処理をしているのでので印字を使いました。(ん?)
22607 う〜ん、改行コード、他 悲しげ 2003/10/06-19:51
記事番号22596へのコメント
どもっ、いがらしさん

>編集{拡張}の/というのも、ある項目[A]に
>● ● ● ● ●/●● ●● ● ●/・・・・・
>のデータがあります。
>/を強制改行文字の改行コード(0Dh)に置換したいのです。というか
>● ● ● ● ●改行
>●● ●● ● ●改行
>●● ●● ● ●タブ■■タブ・・・・・
>にしたいのです。このコードは置換できないので書き出すときに工夫が必要なの
>でしょうか。
>ソフトの方で項目の改行は普通の改行で一行の終わりの改行は#+改行にという
>指示なのです。

う〜ん、この説明を受けて実は余計に判らなくなって来ました。(^^;)
●と●の間に空白があったり無かったりすることや、●と■の違いについても
なかなか悩ましいところがありますが(^^;)、一番の疑問点は「項目の改行は
普通の改行で一行の終わりの改行は#+改行」と云うところです。
「#+改行」とは何で、「普通の改行」とどこが違うのでしょう?
「0A (LF) 」「0D (CR)」と「0D0A (CR+LF)」の問題※とも違うのですよね?
あるいは文字どおり、改行の前に「#」が付いている、ってことでしょうか?
また「項目の改行」とは何でしょう? 項目間の区切りはタブコードのようですし、
1レコードの終わりを指すのでもないとすれば、
「項目内の強制改行文字」を意味すると解釈してよろしいでしょうか?

※過去ログ検索で、例えば「改行コード」で検索してみると、
 CR LF問題は幾つか出てきます。

その上で、表データが下記であった場合、書き出されたテキストはどのように
なっていて欲しいのでしょう? それを挙げてみて下さい。※※

[名欄]  いがらし
[施設名] 五十嵐施設
[備考]  あいうえお/かきくけこ/さしすせそ
[電話]  000-111-2222

※※タブコードは \t で、
  普通の改行(?)は普通の改行でもいいし
  必要なら \r や \n であらわしてみて下さい。

22614 Re:う〜ん、改行コード、他 いがらし 2003/10/07-09:19
記事番号22607へのコメント
悲しげさんどうもです。
[名欄]  いがらし
[施設名] 五十嵐施設
[備考]  あいうえお/かきくけこ/さしすせそ
[電話]  000-111-2222
このデータを

タブいがらしタブ五十嵐施設タブあいうえお改行
かきくけこ改行
さしすせそタブ000-111-2222#改行

というふうに出来ないでしょうか。
はじめからこのように書けば良かったといまごろ反省しています。

22636 Re:う〜ん、改行コード、他 悲しげ 2003/10/07-16:08
記事番号22614へのコメント
どもっ、何とか力技で対応できそうな気がします。(^^;)

「#+改行」とは、文字どおり改行の前に「#」が付いている(つまり
行末が「#」)、ってことなんですね。(吃驚)

ところで

>タブいがらしタブ五十嵐施設タブあいうえお改行

本当に行頭にもタブがあるのですか?
項目の区切りだとすれば、先頭項目には不要なはずなので、力技に着手の前に再確認。

22637 Re:う〜ん、改行コード、他 いがらし 2003/10/07-16:43
記事番号22636へのコメント
悲しげさん忙しいとこすんません。
今まではいりましたが今回のソフトはいりませんでした。(ペコ)
そんでもって
/の文字位置を取得して・・・(どうにもならないか)
んで
1文字から5文字まで変数に入れ書き出して改行
6文字から10文字まで変数に入れ書き出して改行
どこで終わるの?

ちょっと難題ですね。
最後の手段 別の記号で書き出しマイフェースで文字置換でしょうか。


22639 Re:う〜ん、改行コード、他 アックン 2003/10/07-17:32
記事番号22637へのコメント
いがらしさん、こんばんは。
ちょっと悲しげさんが書いているかもしれないのですが、
横からでしゃばるようですいません。m(__)m
一応書いてみたのでアップしておきます。こんな感じでどうでしょう。
先頭のタブが不要ならはずしてください。
ただ、ちょいタブが松風でカラー表示すると、8個(--------)と6個(------)ができてしまいます。
そのへんの修正は印字コマンドに詳しい悲しげさんに譲ります。(^^;
(タブの書き出しはよーわからん・・・・・・)

印字開始 "20031007改行コード印字.txt" , 終了状態 = &秒
印字 _9,[名欄],_9,[施設名],_9,#sstr( [備考] , 1 , #set( 分 , #文字位置( [備考] , "/" )-1 ) )
印字 #sstr( #sstr( [備考] , &分+2 ) , 1 , #文字位置( #sstr( [備考] ,&分+2 ) , "/" )-1 )
印字 #sstr( #sstr( [備考] , &分+2 ) , #文字位置( #sstr( [備考] ,&分+2 ) , "/" )+1 ),_9,[電話]+"#"
印字終了 改頁 = しない

いろいろいじってうまくいったら、重複部分を短く整理すればいいですけど、
さしあたっては理解しやすいように記述してます。

  アックン(=^・^=)
22652 Re:う〜ん、改行コード、他 悲しげ 2003/10/07-21:32
記事番号22637へのコメント
どもっ、いがらしさん

>今まではいりましたが今回のソフトはいりませんでした。(ペコ)

一瞬「今まで入りましたが、今回のソフト入りませんでした」と読んでしまいましたが、
ここは「今までは要りましたが、今回のソフトは要りません」ですよね。(^^;)

それはそうと、「要らない」のは何なのでしょう?
多分、行頭のタブのことだと思うのですが、あるいは行末の「#」かも?

22654 Re:う〜ん、改行コード、他 悲しげ 2003/10/07-22:54
記事番号22639へのコメント
では私も。
アックンのと殆ど同じですが、アックンのは[備考]欄に「/」が2個
固定みたいなので(ですよね?)、この部分を動的に書き換えました。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
変数宣言 固有,長整数{&i},固有,文字列{&備考a,&備考b}
表 "いがらしtest.tbl"
印字開始 "いがらしtest.txt", 終了状態=&実行リターン
 繰り返し(.not #EOF)
  印字 [名欄],_9,[施設名],_9,  /*行末がカンマだと非改行*/
  *あるいは 印字 _9,[名欄],_9,[施設名],_9, かも?
  &備考b=[備考]
  繰り返し
   &i=#文字位置(&備考b,"/")
   if(&i<1)
    印字 &備考b,        /*非改行*/
    繰り返し中止
   else
    &備考a=#sstr(&備考b,1,&i-1),&備考b=#sstr(&備考b,&i+1)
    印字 &備考a         /*改行する*/
   end
  繰り返し終了
  印字 _9,[電話],"#"        /*改行する*/
  ジャンプ 行番号=+1
 繰り返し終了
印字終了
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
参考(テストしたデータのcsv)
名欄,施設名,備考,電話
いがらし,五十嵐施設,あいうえお/かきくけこ/さしすせそ,000-111-2222
かなしげ,悲しげの園,たちつてと,123-456-7890
あっくん,圧力釜君,なにぬねの/わをん,999-888-7777
はばた,羽畑小路,あい/うえ/お/か/き/くけこ/さしすせそ,なし

ps.
しかし変換して出てきたテキストデータって、何に使うのでしょう?
なんだか余計に使いにくいフォーマットになったような。(?_?)

22662 Re:う〜ん、改行コード、他 アックン 2003/10/08-08:31
記事番号22654へのコメント
>固定みたいなので(ですよね?)、この部分を動的に書き換えました。
はい。そうです。悲しげさんが書いた繰り返しのほうがいいですね。

>あっくん,圧力釜君,・・
わしゃ圧力釜かい。(^^;
って、近頃は釜飯の素(混ぜご飯の素)をあれこれと買ってきては、いろいろな味を試してるんです。
今週の予定は、豚(トン)飯の素と貝柱の素。いやあ、急に冷え込んできたし、楽しみです〜
(^∞^)v。真夏にも沖縄の豚のジューシーなんてめちゃうま混ぜご飯をおいしく食べてました。
全国の混ぜご飯ファン、釜飯ファンの皆様、おいしいのがあったら、紹介してくださいねー。
22667 解決です。感謝!! いがらし 2003/10/08-10:06
記事番号22652へのコメント
アックン・悲しげさんおはようございます。
ばっちりです。完璧。
そうか 文字位置は0を返すのですね。全然浮かびませんでした。
これですごいバージョンアップした感じです。体が軽くなりました。
実は印刷の仕事に関わっていて、今まで写研よいうシステムを使っていたのですが、
その時は/を改行という置換をシステムに入れられたので問題なかったのですが
今度ソフトに変わって出来なくなりました。
そんでもってこのテキストを読み込むと桐の表と同じ形になるというわけです。
これですべて変えられます。メチャクチャ感謝です。

おまけに混ぜご飯の事まで教えてもらってありがとうこざいました。(ウヒ)

戻る