我正在編寫一個使用Delphi 10.2東京Firemonkey的多平臺應用程序。我需要檢查的一件事是如果Dropbox存在於計算機上。爲此,我需要檢查是否存在info.json文件,然後處理該json文件以獲取Dropbox文件夾的路徑。德爾福 - 檢查OSX上的Dropbox
我寫了這個函數來檢查的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
函數返回false
(不管第二個參數是True
或False
)。如果我打開一個終端窗口並執行cd ~/.dropbox
,然後dir
,我在那裏看到info.json文件。
圍繞我失蹤的任何想法?將不勝感激關於此的任何指針...
你確定你真的需要這種彎曲的雙重否定邏輯嗎? 'DropboxExists:= FileExists('〜/ .dropbox/info.json',True)' –
這只是一個獨立的代碼片段來顯示問題 - 而不是我的應用程序中的實際代碼。在我的實際代碼中,我找到了該文件並解析了json以獲取Dropbox文件夾的實際位置。但我同意你的觀點,它可能與你的建議一樣緊湊:) – Rohit
如果刪除'FileExists()'檢查,你能否使用相同的路徑加載文件?如果是這樣,那麼只需忘記'FileExists()'並始終無條件加載文件並根據需要處理任何加載錯誤。 –