Delphi 7 從健保局下載zip檔案順便解壓縮

由於學校還使用Delphi 7,為了要教同學從網路上下載檔案加上解壓縮費了不少力氣。順便就記錄一下如何從健保局抓下檔案後,然後一道解壓縮。

1.Delphi7沒有壓縮元件,所以要尋求免費的資源。幸好有Opensource的Delphi 7zip元件
網址:https://code.google.com/p/d7zip/
下載之後解壓縮會有三個檔案
7z.dll
readme.html
sevenzip.pas

2.把7z.dll跟sevenzip.pas放到程式目錄下(散佈程式時記得.exe檔跟7z.dll要一起copy)。
3.回到Delphi7的Project→add to project把sevenzip.pas加進專案
4.File→Use Unit選Sevenzip.pas後就可以開始寫code了
5.畫面上佈置如下圖
(text設為http://www.nhi.gov.tw/Resource/webdata/2976_1_hospbsc.zip)
delphi7zip02
6.ButtonClick程式如下

procedure TForm1.Button1Click(Sender: TObject);
var
  ms:TMemoryStream;
  i:integer;
  tempfile,extname,filename1:String;
begin
  ms := Tmemorystream.Create;
  ms.Clear;
  ms.Position :=0;
  try
    idhttp1.Get(edit1.text,ms);
    ms.SaveToFile(ExtractFilePath(Application.ExeName)+'\test.zip');
  except
  end;
  if fileexists(ExtractFilePath(Application.ExeName)+'\test.zip') then
  begin
    with CreateInArchive(CLSID_CFormatZip) do
    begin
      OpenFile(ExtractFilePath(Application.ExeName)+'\test.zip');
      for i := 0 to NumberOfItems - 1 do
        if not ItemIsFolder[i] then begin
          tempfile := ItemPath[i];
          extname:=ExtractFileExt(tempfile);
          if extname ='.txt' then
            filename1:=tempfile;
        end;
      ExtractTo(ExtractFilePath(Application.ExeName));
    end;
    Memo1.Lines.LoadFromFile(Filename1);
  end;
end;

藥品健保藥價資料集
P.S idhttp1.HandleRedirects := True;

Delphi寫餐飲硬體標準ESC/POS與醫療檢驗儀器連線ASTM通訊有感

下午到舊公司討論電子發票格式相關問題,跟舊同事聊天聊到電子發票支援的硬體時,舊同事也抱怨到POS相關的硬體廠商雖然”宣稱”支援”標準的ESC/POS指令”,但實測起來每台機器還是會呈現出不同的結果。

突然想到之前在做醫療檢驗儀器連線時,即使設備商提到是使用ASTM格式傳輸,但不管是尿液、血液…..適用什麼immuLite、AXSYM、Alastat….最後在做連線通訊時也是不一樣。

這也是做軟硬體結合時,寫程式的悲哀吧XDDD不過寫出來時又是另一種雀躍的心情了~~

餐飲POS雲端叫號系統

好久沒更新部落格了!最近正陷入結案地獄中,不過在網路上看到之前曾提過的取餐叫號器的廠商,引進了新的雲端叫號系統。對於餐飲POS系統的服務又更加升級了,可以先電話預約訂購後,再透過網路知道目前的叫號,在接近時再繞過去拿就行了!這也可以運用在醫療系統上,在預約掛號後,知道目前的叫號號碼。分享給大家!

http://www.ehanway.com.tw/

1246dfb156eb4e0cbbee277485d18ecc

03a5a0f4e4654b9790791d76ee6d649b