電子書籍の厳選無料作品が豊富!

あるFORMアプリケーションAからCSVファイルが出力されます。そのファイルを別のFORM アプリケーションBで読み込んでデータを編集するのですが、アプリケーションA出力された後、ユーザーによってファイルを編集させたくありません。アプリケーションBで読み込む際に何らかのチェックを入れたいと思っていますが、私が思いつくところ「ファイルの作成・更新・アクセス日時」をうまく使えば出来そうな気がしますが、他に良い方法がありましたらご教授願います。その他に出来るかわかりませんが、ファイルの更新回数など取得できたりしないでしょうか・・・

A 回答 (3件)

・Aの実行によって、CSV出力とBがキックされる。


・Aの改修は不可。
・CSV出力後とBがキックされる間でCSVの変更を許可したくない。

この条件なら、恐らくどうにもできません。
Aがいじれたのなら、下記が検討できました。
 ・作成されたファイルのハッシュ値を求めて、そのハッシュ値を
  Bに渡して、Bで再度ハッシュ値を求めて正当性を確認する。
 ・AでCSVを操作する間は、ファイルは読み込みのみを共有し、
  Bの実行が完了した時点で、Aからのファイル操作を開放する。

CSVファイルが作成されるタイミングと、Bがキックされるタイミングが
ミリ秒レベルなら諦めて、運用でそういうことしないようにカバー
すればいいかと思います。
ミリ秒レベルなら、危惧している操作は恐らくほぼ皆無でしょう。
    • good
    • 0

アプリケーションBにチェック機能を組み込める余地があるということで認識あってますか?


ということは、アプリケーションAにも組み込み可能ですよね?
であれば、Aから出力するCSVをBしか知らないパスワードで圧縮して、そのファイルをBが解凍&入力するようにすれば、ユーザは手だしできなくなると思います。
    • good
    • 0
この回答へのお礼

言葉足らずで申し訳ありません。
アプリケーションAは機能改修できません。アプリケーションBは改修できます。

お礼日時:2021/05/20 06:32

AとBを実行するタイミングがユーザーに委ねられ、その間に任意のユーザー操作が可能なら、チェックのしようはないかと思います。



AからBがキックされてBは動くんですか?
Aから、CSVが出来て、Bがキックされるまでの間、ユーザーにCSVをいじらせたくないということでしょうか?
    • good
    • 0
この回答へのお礼

後者です。
A→CSV出力→BにCSVが読み込まれる。
CSV出力がB読み込みの間にユーザーによってCSVファイルを編集する事が可能。編集する事を防ぐ事は出来ませんので、せめてB読み込みの際にユーザーによって更新があればBの読み込みをキャンセルしたいということです。

お礼日時:2021/05/19 23:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!