(現在 過去ログ73 を表示中)

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

[ 最新記事及び返信フォームをトピックトップへ ]

■10930 / inTopicNo.1)  桐でXMLファイル作成
  
□投稿者/ 悲しげ -(2018/03/14(Wed) 23:31:23)
    2018/03/14(Wed) 23:33:23 編集(投稿者)

    過去ログやGoogleで検索したら*、標記の話題がチラホラ出ていま
    したが、何だか尻切れトンボで終わっていたような印象でした。
    実は私も急遽必要に迫られそうな感じで・・・
    ココです↓
    http://www.yakkyoku-hiyari.jcqhc.or.jp/
    この中にXMLの報告でもよい旨の記載があり、挑戦してみようかなと
    昨日辺りはXML作成フリーアプリなんぞを探して見ました。
    が、本日当該のサンプルXML(添付)の記述を見てみたら、何だか
    桐の印字コマンドごりごりで出せそうな気もしてきました。

    で、その辺りは実データでもって試そうかなと考えておりますが、
    その前にちょっと気になったこと。

    XMLに書き出す前のデータ(by桐)には、桐で設定した強制改行文字
    が含まれています(当該では音符記号「♪」で設定してある)。

    さて、この強制改行文字入りデータをXMLに書き出す際には、「♪」
    をふつうの改行(CR+LF?)に変換できるのでしょうか?

    *Vision Makerさんとこにも行き着きました。(^^)v


sample_xml.txt
/1KB
引用返信 [メール受信/OFF] 削除キー/
■10931 / inTopicNo.2)  Re[1]: 桐でXMLファイル作成
□投稿者/ たゆう -(2018/03/15(Thu) 12:20:16)
    悲しげさんこんにちは
    > さて、この強制改行文字入りデータをXMLに書き出す際には、「♪」
    > をふつうの改行(CR+LF?)に変換できるのでしょうか?
    普通に印字で可能と思います。

    ところで、桐10でしょうか?
    https://www.kthree.co.jp/kiri/ct_product/kiri10/migration.html
    桐10で印字すると「シフトJIS、UTF-16」ですね

    ちなみに添付ファイル「sample_xml.txt 」は、
    先頭に「encoding="Shift_JIS"?>」と記載されてますが、UTF-8(BOM無し)のようですが
    なにかツールを利用して変換されたのでしょうか

    私は、印字処理で「SJIS出力=する」で行いフリーソフトでUTF変換しています

引用返信 [メール受信/OFF] 削除キー/
■10932 / inTopicNo.3)  Re[2]: 桐でXMLファイル作成
□投稿者/ 悲しげ -(2018/03/15(Thu) 23:07:11)
    No10931に返信(たゆうさんの記事)
    コメントありがとうございました。

    >>さて、この強制改行文字入りデータをXMLに書き出す際には、「♪」
    >>をふつうの改行(CR+LF?)に変換できるのでしょうか?
    > 普通に印字で可能と思います。

    そうですか、それは良かった。
    (まだやってもいないけど)やってみた結果できなかった、だとガックリですから。

    > ところで、桐10でしょうか?
    > https://www.kthree.co.jp/kiri/ct_product/kiri10/migration.html
    > 桐10で印字すると「シフトJIS、UTF-16」ですね
    >
    > ちなみに添付ファイル「sample_xml.txt 」は、
    > 先頭に「encoding="Shift_JIS"?>」と記載されてますが、UTF-8(BOM無し)のようですが
    > なにかツールを利用して変換されたのでしょうか

    あ、あれは生のXMLが採れなかったので、画面からコピペしてWzeditorに貼り付けたら
    WzのデフォルトがUTF-8になっていた関係でそのようになってしまったようです。
    構文を見るのが目的だったから。

    ちなみにその後に実データのXMLファイルを取得できたので、editorで開いて確認して
    みたら、やはりシフトJISでした(editorでなかなか開けなくて難儀しましたが)。

    ということは、桐10の印字処理で「SJIS出力=する」で実行すればよいだけと考えて
    良いのでしょうか?

    ところで質問(極めて初歩的な)。
    このXMLファイルは確か表のような形になるはずなのですが、そのように表示させるに
    どうすればいいのでしょう。
    フリーアプリ等でXMLを扱えるものを用意してそれで見るとか?

引用返信 [メール受信/OFF] 削除キー/
■10933 / inTopicNo.4)  Re[3]: 桐でXMLファイル作成
□投稿者/ Vision Maker -(2018/03/16(Fri) 04:22:56)
    2018/03/16(Fri) 04:26:11 編集(投稿者)

    悲しげさん

    こんにちは。

    > このXMLファイルは確か表のような形になるはずなのですが、そのように表示させるに
    > どうすればいいのでしょう。
    > フリーアプリ等でXMLを扱えるものを用意してそれで見るとか?

    XMLについて超初心者ですが(はっきりいって仕組みわからない)
    ちなみにそのファイルはエクセルで開けましたでしょうか?

    https://dekiru.net/article/14434/

引用返信 [メール受信/OFF] 削除キー/
■10934 / inTopicNo.5)  Re[1]: 桐でXMLファイル作成
□投稿者/ eo -(2018/03/16(Fri) 10:23:25)
    言っている事とちがっていればすいません。

    桐の環境設定を下記にする

    [ツール]->[環境設定]->[一括]->[高度な設定]->印字コマンドでコントロール文字を展開する(チェック)

    表で文字置換しましたが表をしないで処理する方がスマートかも知れません。

    #文字置換( [変換元],"♪","\n")

    あとは添付ファイルで確認願います。

1521163405.zip
/4KB
引用返信 [メール受信/OFF] 削除キー/
■10935 / inTopicNo.6)  Re[3]: 桐でXMLファイル作成
□投稿者/ 悲しげ -(2018/03/16(Fri) 11:18:36)
    No10932に返信(悲しげさんの記事)
    ちょっと試行してみました。
    下記の★印が現時点の疑問点です。
    (実はまだマニュアル精読してないけど)
    --------------------------------------------
    表 "××表.tbx"
    印字開始 "XML書出test.txt", SJIS出力=する, 制御文字展開=する, 終了状態=&実行リターン
    *★ .xmlで書き出したらIEでも表示されないし、Wzeditorで開こうとするとWzが落ちるので?????
     印字 "<?xml version="""1.0""" encoding="""Shift_JIS"""?>"
    * 印字 "<!DOCTYPE PHARMACY_REPORT SYSTEM """pharmacy_report.dtd""">"
     *★KU1114:使用できない文字が使われています 「.dtd""">"」ってどうして?→この行出力しないことに(^^;)
     印字 "-<PHARMACY_REPORT>"
     *★行頭の「-」って何?(まだマニュアル精読してないんだけど)(^^;)
     印字 "<VERSION>1.0</VERSION>"
     印字 "<DATYEAR>"+#str([報告年])+"</DATYEAR>"
     印字 "<DATMONTH CODE="""+#str([報告月],2)+"""/>"
     印字 "<DATDAY CODE="""+#str([報告日],2)+"""/>"
     印字 "<DATTIMEZONE CODE="""13"""/>"
     印字 "<DATEXECUTION CODE="""01"""/>"
     **なぜか印字結果は「"1"」となってしまう、どうすれば? ちなみに次の「"""03"""」「"""08"""」…等も同じ
     印字 "<DATEXECUTION CODE="""+#str("01",2)+"""/>"
     印字 "<DATLEVEL CODE="""03"""/>"
     印字 "<DATSUMMARY CODE="""08"""/>"
     印字 "-<GRPPATIENT>"
     印字 "<DATPATIENT CODE="""01"""/>"
     印字 "<DATPATIENTAGE>66</DATPATIENTAGE>"
     印字 "<DATPATIENTSEX CODE="""02"""/>"
     印字 "</GRPPATIENT>"
    * 中略
     印字 "-<LSTFACTOR>"
     印字 "<DATFACTOR CODE="""010101"""/>"
     印字 "<DATFACTOR CODE="""020103"""/>"
     印字 "</LSTFACTOR>"
    * 印字 "<DATCONTENTTEXT>"+[内容詳細]+"</DATCONTENTTEXT>"         /*A*/
     印字 "<DATCONTENTTEXT>"+#s([内容詳細],"♪","")+"</DATCONTENTTEXT>"  /*B*/
    * 印字 "<DATCONTENTTEXT>"+#s([内容詳細],"♪"," ")+"</DATCONTENTTEXT>"  /*B2*/
    * 印字 "<DATCONTENTTEXT>"+#s([内容詳細],"♪","\n")+"</DATCONTENTTEXT>"   /*C*/
    * 印字 "<DATFACTORTEXT>"+[原因]+"</DATFACTORTEXT>"
     印字 "<DATCONTENTTEXT>"+#s([原因],"♪","")+"</DATCONTENTTEXT>"
    * 印字 "<DATCONTENTTEXT>"+#s([原因],"♪","\n")+"</DATCONTENTTEXT>"
    * 印字 "<DATIMPROVEMENTTEXT>"+[対策]+"</DATIMPROVEMENTTEXT>"
     印字 "<DATCONTENTTEXT>"+#s([対策],"♪","")+"</DATCONTENTTEXT>"
    * 印字 "<DATCONTENTTEXT>"+#s([対策],"♪","\n")+"</DATCONTENTTEXT>"
     印字 "</PHARMACY_REPORT>"
    印字終了
    ---------------------------------------------
    ***表の強制改行文字「♪」は結局はそのまま出力されていました(上記A)
    ***ハタと思いついて、印字開始コマンドのパラメータで制御文字「\n」を利用すれば?→成功!(上記C)
    ***もしかしたら無改行でダラダラと入れてもいいのかもしれない、せいぜい空白程度で(上記B)→引き続き調べてみます

引用返信 [メール受信/OFF] 削除キー/
■10936 / inTopicNo.7)  Re[4]: 桐でXMLファイル作成
□投稿者/ 悲しげ -(2018/03/16(Fri) 11:20:39)
    No10933に返信(Vision Makerさんの記事)
    コメントありがとうございます。
    これから急いで出かけるので委細は後刻として

    > ちなみにそのファイルはエクセルで開けましたでしょうか?

    実は開けません。後で↓を試してみます。

    > https://dekiru.net/article/14434/

引用返信 [メール受信/OFF] 削除キー/
■10937 / inTopicNo.8)  Re[2]: 桐でXMLファイル作成
□投稿者/ 悲しげ -(2018/03/16(Fri) 11:26:06)
    No10934に返信(eoさんの記事)

    コメントありがとうございました。

    > [ツール]->[環境設定]->[一括]->[高度な設定]->印字コマンドでコントロール文字を展開する(チェック)

    環境設定でのこれはビルド#2238の段階ではバグっている感じなので(K3には子報告済み)不採用です。

    > #文字置換( [変換元],"♪","\n")

    これを表データではなく、印字コマンドで試しました。(No10933)

    > あとは添付ファイルで確認願います。

    今夕にでも確認させていただきます。

引用返信 [メール受信/OFF] 削除キー/
■10939 / inTopicNo.9)  Re[4]: 桐でXMLファイル作成
□投稿者/ eo -(2018/03/16(Fri) 14:36:56)
    2018/03/17(Sat) 09:40:40 編集(投稿者)
    2018/03/17(Sat) 09:38:22 編集(投稿者)

    原因は"""です。""でうまくいきます。

    印字開始 "xml.txt"
    印字 "<?xml version=""1.0"" encoding=""Shift_JIS""?>"
    印字 "<!DOCTYPE PHARMACY_REPORT SYSTEM ""pharmacy_report.dtd"">"
    印字 "<PHARMACY_REPORT>"
    印字 " <VERSION>1.0</VERSION>"
    印字 " <DATYEAR>2009</DATYEAR>"
    印字 " <DATMONTH CODE=""05"" />"
    印字 " <DATDAY CODE=""01"" />"
    印字 " <DATTIMEZONE CODE=""03"" />"
    印字 " <DATEXECUTION CODE=""01"" />"
    印字 " <DATLEVEL CODE=""03"" />"
    印字 " <DATSUMMARY CODE=""08"" />"
    印字 " <GRPPATIENT>"
    印字 "  <DATPATIENT CODE=""01"" />"
    印字 "  <DATPATIENTAGE >39</DATPATIENTAGE>"
    印字 "  <DATPATIENTSEX CODE=""01"" />"
    印字 " </GRPPATIENT>"
    印字 " <DATDISCOVERER CODE=""01"" />"
    印字 " <LSTCONCERNED>"
    印字 "  <DATCATEGORY CODE=""05"" />"
    印字 "  <DATCATEGORY CODE=""20"" />"
    印字 "  <DATCATEGORY CODE=""21"" />"
    印字 "  <DATCATEGORY CODE=""99""> 当事者を記入</DATCATEGORY>"
    印字 " </LSTCONCERNED>"
    印字 " <GRPCOMPOUND>"
    印字 "  <DATSCENE CODE=""100101"" />"
    印字 "  <DATCONTENTS CODE=""100103"" />"
    印字 "  <LSTMEDICINE>"
    印字 "   <GRPMEDICINE_A>"
    印字 "    <DATMEDCODE>111222333444</DATMEDCODE>"
    印字 "    <DATMEDNAME> 販売名を記入</DATMEDNAME>"
    印字 "    <DATMANNAME> 製造販売業者名を記入</DATMANNAME>"
    印字 "   </GRPMEDICINE_A>"
    印字 "   <GRPMEDICINE_B>"
    印字 "    <DATMEDCODE />"
    印字 "    <DATMEDNAME> 販売名を記入</DATMEDNAME>"
    印字 "    <DATMANNAME> 製造販売業者名を記入</DATMANNAME>"
    印字 "   </GRPMEDICINE_B>"
    印字 "  </LSTMEDICINE>"
    印字 " </GRPCOMPOUND>"
    印字 " <LSTFACTOR>"
    印字 "  <DATFACTOR CODE=""010101"" />"
    印字 "  <DATFACTOR CODE=""010105"" />"
    印字 "  <DATFACTOR CODE=""020102"" />"
    印字 "  <DATFACTOR CODE=""020105"" />"
    印字 "  <DATFACTOR CODE=""020202"" />"
    印字 "  <DATFACTOR CODE=""020399""> その他を記入</DATFACTOR>"
    印字 " </LSTFACTOR>"
    印字 " <DATCONTENTTEXT> テキスト入力 事例の内容</DATCONTENTTEXT>"
    印字 " <DATFACTORTEXT> テキスト入力 背景要因</DATFACTORTEXT>"
    印字 " <DATIMPROVEMENTTEXT> テキスト入力 改善策</DATIMPROVEMENTTEXT>"
    印字 "</PHARMACY_REPORT>"
    印字終了

    ※修正致しました^^;


1521247159.zip
/7KB
引用返信 [メール受信/OFF] 削除キー/
■10940 / inTopicNo.10)  Re[5]: 桐でXMLファイル作成
□投稿者/ 悲しげ -(2018/03/17(Sat) 01:06:22)
    No10936に返信(悲しげさんの記事)
    実データのXLSを、Excel2013ではついに開けず(開けるどころかExcel自体が必ず落ちてしまう)。
    ところがExcl2003では、例示サイトどおりのダイアログボックスが出て開けました。
    これだけで数時間・・・・ツカレタ。

    で「XMLEDITOR.NET」というフリーのアプリを入れました。

    もうひとつ、Wzエディターでも(何故か)なかなか開けず、しばしばWz自体がが落ちてしまうのだが、
    ようやく確認できたところでは、改行は確かに存在していました。
    「&#13;」として(アンド・シャープ・13・セミコロン)。
    これってこのとおり印字出力させるのだろうか?
    あるいは前述の「\n」による改行でいいのだろうか?


引用返信 [メール受信/OFF] 削除キー/
■10941 / inTopicNo.11)  Re[5]: 桐でXMLファイル作成
□投稿者/ Vision Maker -(2018/03/17(Sat) 09:01:37)
    eoさん

    こんにちは。

    > 印字 "   <GR PMEDICINE_B>"

    > 印字 " <DATIMPROVEMENTTEXT> テキスト入力 改善策</DATI MPROVEMENTTEXT>"

    GRの後ろと/DATIの後ろにスペースが開いていました。


    悲しげさん

    こんにちは。

    エクセルで

    <!DOCTYPE PHARMACY_REPORT SYSTEM "pharmacy_report.dtd">

    を削除すると開けました。理由はわかりません。

1177×321 => 250×68

xmlhenkan.png
/53KB
引用返信 [メール受信/OFF] 削除キー/
■10944 / inTopicNo.12)  Re[6]: 桐でXMLファイル作成
□投稿者/ eo -(2018/03/17(Sat) 14:41:30)
    pharmacy_report.dtdを作成してxmlファイルと同一フォルダにいれたら開けました。
    表形式ではありませんが。
    dtdファイルはxmlファイルが正しく作成されているかチェックする役目があるみたいな?
    詳しくはわかりません^^;


dtd_xml.zip
/1KB
引用返信 [メール受信/OFF] 削除キー/
■10945 / inTopicNo.13)  Re[3]: 桐でXMLファイル作成
□投稿者/ eo -(2018/03/17(Sat) 14:59:49)
    2018/03/17(Sat) 15:01:40 編集(投稿者)

    ん?桐v9と桐v10の印字開始コマンドは違うんですね?!
    制御文字展開ってあるんですか^^;

    印字開始 "XML書出test.txt", SJIS出力=する, 制御文字展開=する, 終了状態=&実行リターン
引用返信 [メール受信/OFF] 削除キー/
■10946 / inTopicNo.14)  Re[4]: 桐でXMLファイル作成
□投稿者/ ONnoji -(2018/03/17(Sat) 17:20:28)
    > 「印字開始」コマンドで「制御文字展開=しない」関連の不具合に遭遇してひどい目にあった。
    > 私の場合、上述したように、\TOOL フォルダなんかに置いたものだから「\t」がタブ展開
    > されてしまったとか(あと「\n」なんかも困るのかも?)。
    > どうやら「印字開始」コマンドの指定よりも、環境設定の指定が優先されることがあるよ
    > うなので、対策としては(ヘルプにもあるが)個々に
    >   #文字置換(#文字置換(&フォルダ名,"\t","\\t"),"\n","\\n")  /*さらに大文字対応も?*/
    > とやるべきなのだが、面倒なので、その辺り起動時に次のメッセージを時々出して逃げてある。
    >   この処理を使う場合は、環境設定/一括/高度な設定において
    >   「印字コマンドでコントロール文字を展開する」にチェックを
    >   入れないでおいて下さい。
    > 試してないけど、まとめて「#文字置換(&フォルダ名,"\","\\")」でもいいらしい。
    > (これらは桐10ビルド番号#2238の不具合らしく、その後修正されているかもしれない)

    タイトル:桐10s( ビルド #2404 )で試してみた 印字開始 制御文字展開 = しない|する
    オリジナル:2018年 2月 2日(金)17時06分12秒

    桐ビルド番号 #2238 というのは 2017/03/29 のリリースのようなので、桐10 のレイテストということか?

    ちなみに 桐9-2012の文法は

    印字開始  <ファイル名>,\
     追加,\
     終了状態 = <変数名>


    桐10sの文法は次の通り

    印字開始  <ファイル名>,\
     追加,\
     SJIS出力 = しない|する,\
     制御文字展開 = しない|する,\
     終了状態 = <変数名>

    ということは、

    制御文字展開 = しない としたにもかかわらず、環境設定に従ってしまうというビーユージーか??

    なお、環境設定はフォームを開く前に設定することが重要。

    フォームを開いた後に、環境設定を変更しても反映されないので注意。

    さて、次のようなテストを用意してみた。

    手続き定義開始 cmd印字開始テストClick( )
     変数宣言 自動,文字列{ &icon, &title = "cmd印字開始テストClick( )", &msg }
     変数宣言 自動,文字列{ &outputTxtFileName }

     &outputTxtFileName = #一括パス名 + "kesiteii.txt"
     **印字開始 <ファイル名>【, 追加】, SJIS出力=【しない|する】, 制御文字展開=【しない|する】, 終了状態=<変数名>
     印字開始 &outputTxtFileName, , , 制御文字展開 = しない
     **印字開始 &outputTxtFileName, , 制御文字展開 = しない
     **印字開始 &outputTxtFileName, 制御文字展開 = しない
     **印字開始 &outputTxtFileName

     印字 "ABCDEFGHIJKLM\NOPQRS\TUVWXYZ"

     印字終了

     シェル実行 &outputTxtFileName

     ** 環境設定はフォームを開く前に設定すること
     ** フォームを開いた後に、環境設定を変更しても反映されないので注意

    手続き定義終了


    桐10s( ビルド #2404 )で試してみた。

    フォームを開く前に環境設定で、制御文字展開:する に設定した後に、フォームを開く。

    次の3通りのコマンド

     印字開始 &outputTxtFileName, , , 制御文字展開 = しない

     印字開始 &outputTxtFileName, , 制御文字展開 = しない

     印字開始 &outputTxtFileName, 制御文字展開 = しない

    どれを実行しても、制御文字が展開されました。

    なるほど、ビーユージーですね。

    100%再現性があるので、このビーユージーはK3さんへ報告しておきました。


引用返信 [メール受信/OFF] 削除キー/
■10947 / inTopicNo.15)  Re[1]: 桐でXMLファイル作成
□投稿者/ ONnoji -(2018/03/17(Sat) 17:27:04)
    2018/03/17(Sat) 22:43:47 編集(投稿者)

    > > XMLに書き出す前のデータ(by桐)には、桐で設定した強制改行文字
    > > が含まれています(当該では音符記号「♪」で設定してある)。
    > >
    > > さて、この強制改行文字入りデータをXMLに書き出す際には、「♪」
    > > をふつうの改行(CR+LF?)に変換できるのでしょうか?


    これって普通に出来ないから、実は意外と難しんですよ。

    すでに限りなく解決に近づいていると思いますが、当方では[コマンド]コマンドを利用する方法を試してみたのでご参考までにご覧ください。

    ■[コマンド]コマンドを利用する方法

    印字コマンドでコントロール文字を展開するがデフォルトのオフの場合、

    以下のようにするのもひとつの方法です。

    なお、印字コマンドでコントロール文字を展開するがオンの場合には、

     &data = #文字置換( &data, "\", "\\" )

    を追加すればOKでしょう。

    <参考>

     変数宣言 文字列{ &data, &parameter, &command }
     変数宣言 文字列{ &string, &stringList }
     変数宣言 文字列{ &comma = #jis( #hex("2C") ), &WQ = #jis( #hex("22") ), &pipe = #jis( #hex("7C") ) }
     変数宣言 整数 { &cnt }

     &data = "あいう,えお♪かきくけこ♪"
     ** &data = #文字置換( &data, "\", "\\" ) /* 印字コマンドでコントロール文字を展開するがオンの場合 */
     &data = #文字置換( &data, &comma, &pipe )
     &data = #文字置換( &data, "♪", ",_13,_10," )

     &parameter = #u
     &stringList = &data
     &cnt = 1
     &string = #対応文字列( &stringList, &cnt )
     繰り返し ( &string <> #u )

      if ( &string <> "_13" .and &string <> "_10" )

       &string = #文字置換( &string, "&", "&amp;" )
       &string = #文字置換( &string, "<", "&lt;" )
       &string = #文字置換( &string, ">", "&gt;" )
       &string = #文字置換( &string, "'", "&apos;" )
       &string = #文字置換( &string, &WQ, "&quot;" )

       &string = &WQ + &string + &WQ + &comma
       &string = #文字置換( &string, &pipe, &comma )
      else
       &string = &string + &comma
      end

      &parameter = &parameter + &string
      確認 &parameter

      &cnt = &cnt + 1
      &string = #対応文字列( &stringList, &cnt )
     繰り返し終了

     &command = "印字 " + &parameter

     確認 &command

     終了

    <メモ>

    &amp; & アンパサンド (ampersand)
    &lt;  < 小なり (less than)
    &gt;  > 大なり (greater than)
    &apos; ' アポストロフィ (apostrophe)
    &quot; " クォーテーションマーク (quotation mark)


428×135 => 250×78

1521275788.jpg
/17KB
引用返信 [メール受信/OFF] 削除キー/
■10948 / inTopicNo.16)  Re[2]: 桐でXMLファイル作成
□投稿者/ ONnoji -(2018/03/17(Sat) 17:31:41)
    > なお、印字コマンドでコントロール文字を展開するがデフォルトのオフの場合、
    >
    >  &data = #文字置換( &data, "\", "\\" )

    環境設定のコントロール文字を展開するがオンかオフかは、例えば以下のようにすると判定できる。

    <参考>

    手続き実行 prcTxtOutputModeGet( &コントロール文字を展開, &実行終了 )


    手続き定義開始 prcTxtOutputModeGet( 参照 整数 &escapeCharacterUse, 参照 整数 &done )
     変数宣言 自動,文字列{ &icon, &title = "prcTxtOutputModeGet( )", &msg }
     変数宣言 自動,文字列{ &outputTxtFileName }
     変数宣言 自動,文字列{ &WQ = #jis( #hex("22") ), &line }
     変数宣言 自動,整数 { &error, &status }
     変数宣言 自動,整数 { &traceON = #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "ALL" ) .or #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "INF" ) }
     変数宣言 自動,文字列{ &traceMsg = #cond( #変数( "INFmTraceFormPathAdd" ), &INFmMyWfmPath ) + &INFmMyWfmName + " hdl=" + #last( " " + #str( &hwindow ), 2 ) + ">" + &title }
     **&traceON = 1
     条件 ( &traceON ) トレース出力 &traceMsg + "を実行開始しました"

     ** Rev.78 2009.09.16 "フォームファイル名_info.txt" → "$$INFprcTxtOutputModeGet.txt"
     **&outputTxtFileName = #ファイル名( &outputTxtFileName, 5 ) + "$$INFprcTxtOutputModeGet.txt"
     &outputTxtFileName = #一括パス名 + "$$INFprcTxtOutputModeGet.txt"

     &escapeCharacterUse = 0
     &done = 0

     印字終了
     印字開始 &outputTxtFileName, 終了状態 = &status
     ** 戻り値 説明
     ** 1 ファイルの新規作成または開くことに成功。
     ** 0 共有違反以外の理由で、ファイルを作成できなかった(または開くことができなかった)。
     ** -1 他のプロセスがファイルを専有しているため、作成できなかった(または開くことができなかった)。

     if ( &status = 1 )
      &done = 1
      印字 "## INFprcTxtOutputModeGet: " + &WQ + "tab=\t\t" + &WQ, _13, _10,
     end
     印字終了

     if ( &done )

      ファイル入力終了
      ファイル入力開始 &outputTxtFileName, 終了状態 = &status
      ** 戻り値 説明
      ** 1 テキストを開いた。
      ** 0 共有違反以外のエラーが発生したため、ファイルを開くことができなかった。
      ** -1 他のプロセスがファイルを専有しているため、開くことができなかった。

      &done = 0
      if ( &status = 1 )
       &done = 1

       ファイル入力 &line, 行, 終了状態 = &error
       ** 戻り値 説明
       ** 1 テキストの読み込みに成功した。
       ** 0 テキスト読み込み時にエラーが発生した。
       ** -1 すべてのデータを読み終えた(EOF)。

       &escapeCharacterUse = .not &error /* 成功 or EOF → 0 エラー → 1 */
      end

      ファイル入力終了
     end

     ** Rev.78 2009.09.16 "$$INFprcTxtOutputModeGet.txt" を削除
     ファイル削除 &outputTxtFileName, 終了状態 = &status

     **条件 ( &traceON ) トレース出力 &traceMsg + " 引数:文字列 &outputTxtFileName = " + &outputTxtFileName + " ※Rev.78より固定ファイル名"
     条件 ( &traceON ) トレース出力 &traceMsg + " 引数:参照 整数 &escapeCharacterUse ※戻り値 = " + #str( &escapeCharacterUse ) + " (印字コマンドでコントロール文字を展開するか否か)"
     条件 ( &traceON ) トレース出力 &traceMsg + " 引数:参照 整数 &done ※戻り値 = " + #str( &done )
     条件 ( &traceON ) トレース出力 &traceMsg + "を実行終了しました"
    手続き定義終了

引用返信 [メール受信/OFF] 削除キー/
■10949 / inTopicNo.17)  嗚呼「ダブ子」さん
□投稿者/ 悲しげ -(2018/03/17(Sat) 22:05:50)
    No10939に返信(eoさんの記事)

    >原因は"""です。""でうまくいきます。

    仰せのとおりでございました。<(_ _)>
    どうも「ダブ子」さん(ダブルコーティション)は前世紀から苦手で(^^;)

    以前、佐田守弘さんから次のように教わりました。
    要するに「"」を「""」とするに際しては
    @まず元データの「"」を、例えば「★」に置換しておく。
    A次に、必要な部分を通常に「"」で括っておいて、
    B最後に「★」を「""」に置換する。
    こうすれば記述の最中に「"」「""」「"""」でワケワカメにならずに済む。
    ※実際には「★」はデータとして有り得るので「ξ」の文字を使っています。

    慣れたと思ってても私の場合ついつい錯乱してしまいがちなので、
    今後は上記の教えを遵守して臨もうと思います。

引用返信 [メール受信/OFF] 削除キー/
■10950 / inTopicNo.18)  Re>印字開始〜制御文字展開
□投稿者/ 悲しげ -(2018/03/17(Sat) 22:09:24)
    No10946に返信(ONnojiさんの記事)

    桐10sでも直ってなかったんですね。
    検証&報告ありがとうございました。
引用返信 [メール受信/OFF] 削除キー/
■10951 / inTopicNo.19)  Re[3]: 桐でXMLファイル作成
□投稿者/ 悲しげ -(2018/03/17(Sat) 23:13:07)
    2018/03/18(Sun) 11:27:54 編集(投稿者)
    2018/03/18(Sun) 11:23:36 編集(投稿者)

    No10948に返信(ONnojiさんの記事)
    完成しました!(と思う) (ダブ子修正版No10939
    -------------------------------------
    表 "××表.tbx"
    印字開始 "XML書出test.xml", SJIS出力=する, 制御文字展開=する, 終了状態=&実行リターン
     印字 "<?xml version=""1.0"" encoding=""SHIFT_JIS""?>"
     印字 "<!DOCTYPE PHARMACY_REPORT SYSTEM ""pharmacy_report.dtd"">"
     *印字 "-<PHARMACY_REPORT>"  ←行頭の「-」は付けない! これは結果として勝手に付くだけ
     印字 "<PHARMACY_REPORT>"
     印字 "<VERSION>1.0</VERSION>"
     印字 "<DATYEAR>"+#str([報告年])+"</DATYEAR>"
     印字 "<DATMONTH CODE=""+#str([報告月],2)+""/>"
     印字 "<DATDAY CODE=""+#str([報告日],2)+""/>"
     印字 "<DATTIMEZONE CODE=""17""/>"
     印字 "<DATEXECUTION CODE=""01""/>"
     印字 "<DATLEVEL CODE=""03""/>"
     印字 "<DATSUMMARY CODE=""08""/>"
     印字 "<GRPPATIENT>"
     印字 "<DATPATIENT CODE=""01""/>"
     印字 "<DATPATIENTAGE>37</DATPATIENTAGE>"
     印字 "<DATPATIENTSEX CODE=""02""/>"
     印字 "</GRPPATIENT>"
    (中略)
     印字 "<DATCONTENTTEXT>"+#s([内容詳細],"♪","&#13;")+"</DATCONTENTTEXT>"
     印字 "<DATFACTORTEXT>"+#s([原因],"♪","&#13;")+"</DATFACTORTEXT>"
     印字 "<DATIMPROVEMENTTEXT>"+#s([対策],"♪","&#13;")+"</DATIMPROVEMENTTEXT>"
     印字 "</PHARMACY_REPORT>"
    印字終了
    ---------------------------------------------
    何と、ダメ元でやった
     #s([内容詳細],"♪","&#13;") 
    が通ってくれました。(^^)v
    別掲のXMLアプリでもエラーなく改行表示されており、
    テキストEditorで確認しても「&#13;」でした。

    -------------------------------------------
    追記;一部訂正(またダブ子さん)
    あ〜あ、「佐田氏の教え」だけでは不十分だった。(^^;)

    ×  印字 "<DATMONTH CODE=""+#str([報告月],2)+""/>"
    ○  印字 "<DATMONTH CODE="""+#str([報告月],2)+"""/>"
    ×  印字 "<DATDAY CODE=""+#str([報告日],2)+""/>"
    ○  印字 "<DATDAY CODE="""+#str([報告日],2)+"""/>"

    まだあるかなぁ?

    追記2
    参考(検証?)のためサイトにあった「pharmacy_report.dtd」を添付しておきます。

    ※dtdとは
    XMLでは自由にタグを定義して文書を作成できますが、どんなタグを使用するのか
    XML文書の構造を決めておくと便利な場合があります。
    XMLでは構造をを記述する時にDTDと呼ばれる言語を使用します。
解決済み!
引用返信 [メール受信/OFF] 削除キー/
■10952 / inTopicNo.20)  Re[4]: 桐でXMLファイル作成
□投稿者/ 悲しげ -(2018/03/18(Sun) 11:31:13)
    No10951に返信(悲しげさんの記事)
    修正だと添付は付かなかったみたい。

    追記2
    参考(検証?)のためサイトにあった「pharmacy_report.dtd」を添付しておきます。

    ※dtdとは
    XMLでは自由にタグを定義して文書を作成できますが、どんなタグを使用するのか
    XML文書の構造を決めておくと便利な場合があります。
    XMLでは構造をを記述する時にDTDと呼ばれる言語を使用します。

text_pharmacy_report.zip
/1KB
引用返信 [メール受信/OFF] 削除キー/

次の20件>

トピック内ページ移動 / << 0 | 1 >>

[このトピックに返信]
Mode/  Pass/

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

- Child Tree -
- Antispam Version -