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

ログ内検索
・キーワードを複数指定する場合は 半角スペース で区切ってください。
・検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
・[返信]をクリックすると返信ページへ移動します。 (*過去ログは表示されません)
・過去ログから探す場合は検索範囲から過去ログを選択。

キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.11536 の関連記事表示

<< 0 >>
■11536  旧バージョンの桐表を一括処理で開くには
□投稿者/ ド初心者 -(2018/10/31(Wed) 13:48:48)
    パスワード:[kiri] 


    一括処理内で桐ver.9形式(.tbl)のファイルを開き、桐ver.10へ変換して保存したいので、下記のような一括処理を書いてみました。


    ※変数宣言は省略しています。

      &STR2 = #一括パス名
      &ファイル群 = {"a.tbl","b.tbl","c.tbx","d.tbx","",""}
    &STR = &STR2+&ファイル群[1]
    表 &STR, モード = 専有, リトライ = しない, バージョン変換 = する, 終了状態 = &数値1

    ここで実際には、ファイル群[1]は&iと、変数で指定しているのですが、上の一括処理でも、何故かこの「a.tbl」を開くことができず、エラー処理の数値1には「0」が返されます。
    開けない原因は、配列変数にあるのではないことはわかっており、
    例えば、
    表 "a.tbl", モード = 専有, リトライ = しない, バージョン変換 = する, 終了状態 = &数値1
    と直接指定しても開くことができません。
    ファイル「a.tbl」は一括処理のあるフォルダにちゃんとあり、普通に桐10で開くとちゃんと開けます。

    一体何が問題なのでしょうか?

    本当、桐ってわ・か・り・に・く・い!

    ※個人的には桐の改善点として、桐を起動した時点からすぐ履歴登録ができるようになれば、いろいろな一括処理の書き方がわかると思うのですが。

親記事 /過去ログ76より / 関連記事表示
削除チェック/

■11538  Re[1]: 旧バージョンの桐表を一括処理で開くには
□投稿者/ ONnoji -(2018/10/31(Wed) 18:40:34)
    パスワード:[kiri] 


    2018/11/01(Thu) 08:51:14 編集(投稿者)
    2018/10/31(Wed) 18:55:55 編集(投稿者)
    2018/10/31(Wed) 18:41:47 編集(投稿者)

    > 一括処理内で桐ver.9形式(.tbl)のファイルを開き、桐ver.10へ変換して保存したいので、下記のような一括処理を書いてみました。
    >
    > ※変数宣言は省略しています。
    >
    >   &STR2 = #一括パス名
    >   &ファイル群 = {"a.tbl","b.tbl","c.tbx","d.tbx","",""}
    > &STR = &STR2+&ファイル群[1]
    > 表 &STR, モード = 専有, リトライ = しない, バージョン変換 = する, 終了状態 = &数値1
    >
    > ここで実際には、ファイル群[1]は&iと、変数で指定しているのですが、上の一括処理でも、何故かこの「a.tbl」を開くことができず、エラー処理の数値1には「0」が返されます。
    > 開けない原因は、配列変数にあるのではないことはわかっており、
    > 例えば、
    > 表 "a.tbl", モード = 専有, リトライ = しない, バージョン変換 = する, 終了状態 = &数値1
    > と直接指定しても開くことができません。
    > ファイル「a.tbl」は一括処理のあるフォルダにちゃんとあり、普通に桐10で開くとちゃんと開けます。

    ↓以下のようにデバッグすることをおススメします。

    確認 #str( #ファイルサイズ( &STR ) ) /* -1 ならばファイルが存在しない */
    表 &STR, モード = 専有, リトライ = しない, バージョン変換 = する, 終了状態 = &数値1
    確認 #str( &数値1 ) /* 1 以外ならば表ファイルが開けなかった → ヘルプの[終了状態]を参照 */


    もしも、

    ・#str( #ファイルサイズ( &STR ) ) が -1 ならばディスクに&STRで指定したファイルが存在しません

    もしも、

    ・#str( #ファイルサイズ( &STR ) )が、1 ではなく、0 や -1 や -2 などならば、なんらかの事情で表が開けなかったことを示します。

    この2点で、&STR で指定した表ファイルが存在するのにもかかわらず、表が開けなかったか否かが確認できます。

    <重要>

    なお、a.tbl が存在せずに、変換された a.tbx が存在する場合には、

    メニューバー[ツール]→[環境設定]→[一括]タブ→[高度な設定]で、[表の拡張子を桐9形式のまま扱う]のチェックを消して、桐を再起動してみてください。

    エラーが解消するかもしれません。

    添付の画像を参照してください。


    > 一体何が問題なのでしょうか?
    > 本当、桐ってわ・か・り・に・く・い!

    プログラミングでは、直ちに原因がワカラナイ場合があります。というよりも、馴れない場合には、その方が多いかもしれません。

    その場合には、デバッグするしかありません。

    プログラミングの場合には、どんな言語・ソフトでも同じですが、デバッグの要領を体得すれば、それほどワカリニクイものではありませんよ。


    老婆心ながら、デバッグとは以下のことです。(^^ゞ
     ↓
    【引用】デバッグとは - IT用語辞典
    http://e-words.jp/w/%E3%83%87%E3%83%90%E3%83%83%E3%82%B0.html

    デバッグ 【 debug 】 デバグ

    デバッグとは、コンピュータプログラムに潜む欠陥を探し出して取り除くこと。

     プログラムが仕様や開発者の意図に照らして誤った動作をする際に、そのような動作を引き起こすプログラム上の欠陥、誤りをバグ(bug:虫)という。
    テストなどによって発見された誤作動・不具合について、その原因やプログラム上での位置を探索・特定し、意図したとおり動作するように修正する作業のことをデバッグという。

     デバッグ作業ではまず、バグがプログラムのどこに潜んでいるのか探索が行われる。
    バグはエラーなどが発生したまさに箇所にあるとは限らない。
    ある箇所で誤ったデータが生成され、そのデータを使って処理を行おうとした別の箇所で致命的なエラーが発生して実行が停止するということもあるからである。

     位置が特定されると、なぜそのような誤りが生じたのか原因を調べる。
    単純な誤記によるものから、プログラムを構成する論理やアルゴリズムの誤りに原因がある場合、当初の想定では予期していなかった入力値や動作環境など、様々なものが原因になりうる。

     原因が特定されると修正が行われるが、外部のシステムやプログラムの別の箇所がすでにそのバグが存在する前提で作られてしまっている場合もあるため、修正を行わないという選択もあり得る。
    また、修正によって新たなバグが発生したり、別の箇所に潜んでいたバグを顕在化させることがあるため、修正したプログラムは他への影響も含めて入念にテストされることが多い。

     デバッグ作業を支援するソフトウェアを「デバッガ」(debugger)あるいはデバッグツールという。
    「デバッグを行う者」という意味だがプログラムを自動的に修正してくれるわけではなく、バグの位置を特定するためにプログラムの動作状況を解析・可視化する機能などを提供するものを意味する。

1540979279.jpg/90KB
1540979279.jpg
/90KB
記事No.11536 のレス /過去ログ76より / 関連記事表示
削除チェック/

■11541  Re[2]: 旧バージョンの桐表を一括処理で開くには
□投稿者/ ド初心者 -(2018/11/01(Thu) 09:34:44)
    パスワード:[kiri] 



    > 確認 #str( #ファイルサイズ( &STR ) ) /* -1 ならばファイルが存在しない */
    > 表 &STR, モード = 専有, リトライ = しない, バージョン変換 = する, 終了状態 = &数値1
    > 確認 #str( &数値1 ) /* 1 以外ならば表ファイルが開けなかった → ヘルプの[終了状態]を参照 */

    ご示唆を頂きまして、ありがとうございます。
    表の終了状態の変数が「0」であることは確認しています。
    またファイルの存在自体は、
     if (#ファイル検索(&ファイル群[&i],1)=#U )
    でチェックしていて、このルーチン自体はうまく機能しています。


    > <重要>
    >
    > なお、a.tbl が存在せずに、変換された a.tbx が存在する場合には、
    >
    > メニューバー[ツール]→[環境設定]→[一括]タブ→[高度な設定]で、[表の拡張子を桐9形式のまま扱う]のチェックを消して、桐を再起動してみてください。
    >
    > エラーが解消するかもしれません。
    >
    > 添付の画像を参照してください。

    これは気付きませんでした。試してみます。ありがとうございます。


    > プログラミングの場合には、どんな言語・ソフトでも同じですが、デバッグの要領を体得すれば、それほどワカリニクイものではありませんよ。

    ご丁寧な解説をありがとうございます。ググレカスと言われそうです。

    桐のメニューバーにも「デバック」の表示があり、1行単位で実行をして、確認しています。
    ありがとうございました。

記事No.11536 のレス /過去ログ76より / 関連記事表示
削除チェック/

■11544  (削除)
□投稿者/ -(2018/11/01(Thu) 10:28:05)
    この記事は(投稿者)削除されました
記事No.11536 のレス /過去ログ76より / 関連記事表示
削除チェック/

■11545  (削除)
□投稿者/ -(2018/11/01(Thu) 10:36:57)
    この記事は(投稿者)削除されました
記事No.11536 のレス /過去ログ76より / 関連記事表示
削除チェック/

■11539  Re[1]: 旧バージョンの桐表を一括処理で開くには
□投稿者/ 悲しげ -(2018/10/31(Wed) 19:35:37)
    パスワード:[kiri] 


    2018/10/31(Wed) 19:37:50 編集(投稿者)

    No11536に返信(ド初心者さんの記事)
    >一括処理内で桐ver.9形式(.tbl)のファイルを開き、桐ver.10へ変換して保存したいので

    なぜこのような一括処理を必要とするのか、理由が判らない。
    なぜなら、プログラムファイル内に
      \K3\Kiri10\System\KiCnv.exe
    なるコンバータがあるので、これを起動し、対象とするフォルダを指定すれば
    一括して桐v9→桐10に変換してくれるから。
    表のみならず、フォームその他も一挙に。

    kevやcmdならば拙作「桐10移行計画」による補完も好評(かな?)
記事No.11536 のレス /過去ログ76より / 関連記事表示
削除チェック/

■11542  Re[2]: 旧バージョンの桐表を一括処理で開くには
□投稿者/ ド初心者 -(2018/11/01(Thu) 09:36:32)
    パスワード:[kiri] 


    > なぜこのような一括処理を必要とするのか、理由が判らない。
    > なぜなら、プログラムファイル内に
    >   \K3\Kiri10\System\KiCnv.exe
    > なるコンバータがあるので、これを起動し、対象とするフォルダを指定すれば
    > 一括して桐v9→桐10に変換してくれるから。

    すいません、こちらは知っています。
    それでもバッチでできたらなぁ、と思った次第です。
    はじめからtbxに手作業ですればいいということはわかっているのですが、ヘルプには「表」コマンドにバージョン変換機能がある、と書いています。
    これを使ってみたかったのです。
記事No.11536 のレス /過去ログ76より / 関連記事表示
削除チェック/

■11547  Re[3]: 旧バージョンの桐表を一括処理で開くには
□投稿者/ ONnoji -(2018/11/01(Thu) 11:47:56)
    パスワード:[kiri] 


    2018/11/01(Thu) 12:58:26 編集(投稿者)
    2018/11/01(Thu) 12:27:25 編集(投稿者)
    2018/11/01(Thu) 12:14:30 編集(投稿者)
    2018/11/01(Thu) 12:00:06 編集(投稿者)
    2018/11/01(Thu) 11:53:09 編集(投稿者)
    2018/11/01(Thu) 11:51:24 編集(投稿者)
    2018/11/01(Thu) 11:50:28 編集(投稿者)

    横レスで大変失礼します。m(__)m

    > それでもバッチでできたらなぁ、と思った次第です。
    > はじめからtbxに手作業ですればいいということはわかっているのですが、ヘルプには「表」コマンドにバージョン変換機能がある、と書いています。
    > これを使ってみたかったのです。

    > >   &STR2 = #一括パス名
    > >   &ファイル群 = {"a.tbl","b.tbl","c.tbx","d.tbx","",""}
    > > &STR = &STR2+&ファイル群[1]
    > > 表 &STR, モード = 専有, リトライ = しない, バージョン変換 = する, 終了状態 = &数値1

    どうやら、貴殿は大きな勘違いをしているようですよ。

     表 &STR, モード = 専有, リトライ = しない, バージョン変換 = する, 終了状態 = &数値1

    この場合の バージョン変換 = する|しない ですが、

    これは、桐9系 が 桐8 の表を開く時の話です。

    ヘルプ> バージョン変換 = しない|する
    ヘルプ> 旧バージョンの表を専有で開くとき、変換を確認するダイアログボックスを出す場合は「しない」、出さずに変換する場合は「する」を指定します。

    桐10でも、互換性のために、このパラメータはありますが、そもそも会話処理で桐9の表を開いてもダイアログボックスは表示されないのです。

    > ファイル「a.tbl」は一括処理のあるフォルダにちゃんとあり、普通に桐10で開くとちゃんと開けます。

    桐10では、ダイアログボックスを表示しないで、いきなり桐9の表を自動的に桐10に変換して、また桐9の表に戻しているのです。だからオーバーヘッドがあります。

    つまり、現行の桐10系では、[する]でも[しない]でもどちらでも同じなんですね。

    これをヘルプを読んで、自己中で都合よく、[桐9の表を桐10の表に変換すると思う]とドツボにはまりますね。

    おそらく、桐コンバータが用意されている理由を鑑みれば、違うことに気が付いたでしょうね。

    そこで、環境設定の出番となるのでしょうけれど、

    いつまでも、桐9互換動作に頼っているのは、移行期間を永久に引きずっているのと同じなので不自然ですよ。

    <追記>

    > それでもバッチでできたらなぁ、と思った次第です。

    なんだ!、変換が目的だったのですか?

    それだったら、「[表]コマンドでは、桐9の表を、桐10の表に変換できません。」←これが答えですよ。

記事No.11536 のレス /過去ログ76より / 関連記事表示
削除チェック/

■11548  Re[3]: 旧バージョンの桐表を一括処理で開くには
□投稿者/ 悲しげ -(2018/11/01(Thu) 12:34:15)
    パスワード:[kiri] 


    No11542に返信(ド初心者さんの記事)
    >それでもバッチでできたらなぁ、と思った次第です。

    つまり(実務というより)試してみたかったということですね。

    >はじめからtbxに手作業ですればいいということはわかっているのですが

    ん?
    コンバータで手作業は皆無ですよ。
    フォルダを指定するだけで、当該フォルダ内の全ファイル(表のみならず関係全データ)を
    「自動」で一括して変換してくれます(サブフォルダも指定可)。
記事No.11536 のレス /過去ログ76より / 関連記事表示
削除チェック/

■11551  Re[4]: 旧バージョンの桐表を一括処理で開くには
□投稿者/ ド初心者 -(2018/11/01(Thu) 14:06:26)
    パスワード:[kiri] 


    > フォルダを指定するだけで、当該フォルダ内の全ファイル(表のみならず関係全データ)を
    > 「自動」で一括して変換してくれます(サブフォルダも指定可)。

    いやいや、フォルダを指定して変換ボタンを押すのが、手作業です。
    旧ファイル(.tbl)を他部署からもらうので、この一括処理で、桐10への変換も自動化してしまおうと思ったのです。
    できない、ということがわかっただけでも成果でした。
    ありがとうございました。
記事No.11536 のレス / END /過去ログ76より / 関連記事表示
削除チェック/

■11552  Re[1]: 旧バージョンの桐表を一括処理で開くには
□投稿者/ 尾形 -(2018/11/09(Fri) 03:09:17)
    パスワード:[kiri] 


    どうも、こんにちは

    > 表 "a.tbl", モード = 専有, リトライ = しない, バージョン変換 = する, 終> > 本当、桐ってわ・か・り・に・く・い!

    どう見ても、マニュアルの不備にしか思えないけど



記事No.11536 のレス /過去ログ76より / 関連記事表示
削除チェック/

■11553  Re[2]: 旧バージョンの桐表を一括処理で開くには
□投稿者/ hidetake -(2018/11/09(Fri) 07:02:54)
    パスワード:[kiri] 


    2018/11/09(Fri) 07:20:55 編集(投稿者)

    > いやいや、フォルダを指定して変換ボタンを押すのが、手作業です。
    > 旧ファイル(.tbl)を他部署からもらうので、この一括処理で、
    > 桐10への変換も自動化してしまおうと思ったのです。


    > どう見ても、マニュアルの不備にしか思えないけど


    Kthree の変換用のプログラムですが

    ----------------------------------------------------------------
    L:\>"C:\Program Files (x86)\K3\Kiri10\System\KiCnv.exe"

    L:\>
    KiCnv.exe [CMD] [OPT] PATH
    CMD コマンド (次のいずれかを指定)
    /c 桐9 から 桐10 にコンバートする
    OPT オプションコマンド (複数指定可能)
    /r サブフォルダも再帰的に変換しない
    /y 削除レコードを変換しない
    /o データの最適化を行わない
    /e 変換後のエンジン処理を行わない
    PATH コンバート対象の'フォルダ'または'ファイル'を指定
    対象ファイル
    桐9 (tbl, viw, xvw, rpt, cmd, kev, var, k3, wfm)

    例) KiCnv.exe /c "c:\sample"
    "c:\sample" 以下にある桐9ファイルを桐10ファイルに変換する。
    変換元のファイルは "c:\sample.bak" として保存される。

    Enter キーを押すと戻ります
    L:\>
    ----------------------------------------------------------------

    と、ファイル単体でも使えそうに書いてありますが、
    使えないみたいです。桐10 でも 桐10s でも!!

    "C:\Program Files (x86)\K3\Kiri10\System\KiCnv.exe" /c x:\tmp\sample.tbl

    もちろん、フォルダ単位では可能です。

    "C:\Program Files (x86)\K3\Kiri10\System\KiCnv.exe" /c x:\tmp

    めんどくさいやつだ!!

    > 変換元のファイルは "c:\sample.bak" として保存される。

    ホントか!!
記事No.11536 のレス /過去ログ76より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

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

- Child Tree -