預計的做法是這樣的
1. 要先想辦法可以直接在程式中雲端上抓到版號
取得Google雲端的共用Url https://drive.google.com/file/d/1jJfpbUaS5QXYlkM7GvDKnqYw4Lsn4RRB/view?usp=sharing
紅字部分就是我們要擷取的ID..
再來透過下方的url 將紅字部分覆蓋
https://drive.google.com/uc?export=download&id={上方紅字部分複製於此,並去刮符}
將上述網址放入即會變成遊覽器的下載 這樣就完成了
2. 比較版本
透過IndyHttp來下載程式
const
Version = '.\Version.txt' ;
var
mPath:String;
IdHttp : TIdHttp;
MyStream: TMemoryStream;
mStrList:TStringlist;
i:integer;
SSLIOHandler: TIdSSLIOHandlerSocketOpenSSL;
begin
{ 建立區 }
SSLIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
MyStream := TMemoryStream.Create;
//由於Url必須加入ssl因此,這邊的動作不可少
IdHttp := TIdHttp.Create(self);
IdHttp.HandleRedirects:=True;
IdHttp.IOHandler := SSLIOHandler;
IdHttp.HTTPOptions := [];
IdHTTP.Request.ContentType := 'application/x-www-form-urlencoded;charset=UTF-8' ;
//url固定
mPath:='https://drive.google.com/uc?export=download&id=1jJfpbUaS5QXYlkM7GvDKnqYw4Lsn4RRB';
{ 動作區 }
//先將檔案下載成File 並存在執行目錄下
IdHttp.Get(mPath, MyStream);
MyStream.SaveToFile(Version);
//再用Stringlist將其檔案讀入後,並顯示即可取得版號....
mStrList:= TStringlist.Create;
mStrList.LoadFromFile(Version);
for i := 0 to mStrList.Count -1 do
begin
listbox1.Items.Add(mStrList[i]);
end;
end;