| パスワード:[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)あるいはデバッグツールという。 「デバッグを行う者」という意味だがプログラムを自動的に修正してくれるわけではなく、バグの位置を特定するためにプログラムの動作状況を解析・可視化する機能などを提供するものを意味する。
|