Dat ファイルを開いて変更し、保存して閉じるための JSL をデバッグする誰でも以下のjslを修正するのを手伝うことができます.
目標は、同じディレクトリの下にあるすべての dat ファイルを開き、2 行を削除してから保存することです。
ありがとう
directory = Pick Directory();
fileNames = Files In Directory( directory );
For( iFile = 1, iFile <= N Items( fileNames ), iFile++,
filename = fileNames[iFile];
If( Ends With( filename, ".dat" ),
dt = Open( directory || filename );
//delete first 2 rows
dt << Select Where( Row() < 3 );
dt << delete rows;
Close( dt, "save" );
);
);
スクリプティングRe: Dat ファイルの JSL をデバッグして開き、変更してから保存して閉じる以下の修正を行うことでバグを修正しました。
If( Right( y[i], 3 ) == "dat", ...............
どうもありがとう
Re: Dat ファイルの JSL をデバッグして開き、変更してから保存して閉じるありがとう、ジム、モルゴン。
ループを確認するために段階的な方法を使用しましたが、.dat ファイルを開くと問題が発生することがわかりました。
open .dat を実行しても応答がありません。
.txtを開くように変更すると、正常に動作します。
なぜこれが起こるのか、それを修正する方法はありますか?
ありがとう
Re: Dat ファイルの JSL をデバッグして開き、変更してから保存して閉じる@ストークス、
Jim はデバッグに関する素晴らしい提案をいくつかしてくれました。 以下は、いくつかの注意事項/潜在的な問題です。 Jim が示唆したように、LOG のエラーやタスクの説明、およびスクリプトを実行したときに何が起こるかが参考になります。
- select where() と delete の代わりに、dt << delete rows(1::2); を使用できます。
- 私はしばしば wait( 0 ); を使用します。保存後、続行する前に強制的に完了させます。
- あなたのスクリプトはファイルを探しています.DATこれは一般的なファイルの種類です。 それをJMPデータテーブルに読み込んでから、保存.これにはいくつかの潜在的な問題があり、意図しない結果になります:
- ファイルの種類を正しく読み取るには詳細が必要な場合があるため、開くとエラーが発生する可能性があります。
- ファイルが JMP データ テーブルに適切に読み込まれると仮定すると、保存ファイルを .JMP ファイルとして保存します。 それはあなたの意図ですか?として保存しますか? .DATファイル?ユーザーがこの種の質問をするときは、多くの場合、JMP を使用して、別の形式のヘッダー情報を持つ自動計測ツールによって書き込まれたデータ ファイルをクリーンアップしたいと考えています。 そのヘッダー情報により、Open() エラーやその他の問題が発生する可能性があります。 したがって、タスクを理解することは、JMP コミュニティが解決策を提供するのに役立ちます。 タスクに応じて、テキストファイルを読み込む()また開ける()インポート テキスト オプションが必要になる場合があります。
- への応答の場合ディレクトリを選択() prompt は、読み取りはできるが書き込みはできないディレクトリです。これにより、エラーが発生したり、ファイルが意図しないディレクトリに保存されたりする可能性があります。 たとえば、.TXT ファイルを読み取るようにスクリプトを変更し、JMP Samples/Import Data のディレクトリを選択すると、プログラムは .txt ファイルを読み取りますが、.JMP ファイルとして保存しますが、JMP Samples/Import Data ディレクトリには保存しません。書き込み可能ではありません。
これらの項目は、あなたを助けるために必要な詳細の種類を明確にするのに役立つことを目的としています.
Re: Dat ファイルの JSL をデバッグして開き、変更してから保存して閉じるログにエラーが記録されていますか?もしそうなら、それらは何ですか?
JMP がバックグラウンドでファイルを開いているため、Select Where の実行が早すぎると思われます。ラインを入れてみる
dt << rerun formulas;
open() の後、それが機能するかどうかを確認します。
このようなコードで通常行うことは、1 行目と 2 行目を実行することです。 .dat で終わる最初のファイルを見つけ、「ファイル名」をその値に設定し、一度に 1 つずつ実行して、行を開き、場所を選択し、行を削除して閉じ、何が起こるかを確認します。