私はDelphi 10.2 Tokyo Firemonkeyを使用してマルチプラットフォームアプリケーションを作成しています。チェックする必要があることの1つは、Dropboxがコンピュータに存在するかどうかです。このためには、info.jsonファイルが存在するかどうかをチェックし、jsonファイルを処理してDropboxフォルダのパスを取得する必要があります。Delphi - Dropbox for OSXの確認
私はDropboxのの存在を確認するために、この機能を書いた:
class function TUtilityMac.DropboxExists: Boolean;
var
infojsonpath: String;
begin
Result:=false;
infojsonpath:='~/.dropbox/info.json';
if not FileExists (infojsonpath, True) then
exit;
Result:=true;
end;
しかし、私は、Mac(つまり、Dropboxのがインストールされている)でこれを実行すると、
FileExists
機能は関係なく、2番目のパラメータビーイングの(
false
を返します。
True
または
False
)。端末のウィンドウを開いて
cd ~/.dropbox
を実行した後に
dir
を実行すると、info.jsonファイルが表示されます。
私が紛失しているものについての考えはありますか?これに関するあらゆる指摘をお待ちしております...
本当にこの曲線的な二重否定論理が本当に必要ですか? 'DropboxExists:= FileExists( '〜/ .dropbox/info.json'、True)' –
これは単なる単体のコードであり、アプリ内の実際のコードではありません。私の実際のコードでは、ファイルを見つけ、jsonを解析してDropboxフォルダの実際の場所を取得します。しかし、私はあなたに同意します、それはあなたが示唆するようにコンパクトであったかもしれません:) – Rohit
'FileExists()'チェックを削除した場合、同じパスを使ってファイルを読み込めますか?もしそうなら、 'FileExists()'を忘れて、常にファイルを無条件にロードし、必要に応じてロードエラーを処理してください。 –