close

預計的做法是這樣的

 

Untitled Diagram.png

 

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;

 

 

arrow
arrow
    全站熱搜

    kuraki5336 發表在 痞客邦 留言(0) 人氣()