一些用c語言所寫的dll之函數如何在delphi中宣告使用? |
|
ry_lee
高階會員 發表:368 回覆:251 積分:123 註冊:2002-03-19 發送簡訊給我 |
以下是健保局委託廠商用c語言所寫的dll之函數,請問如何在delphi中宣告使用?
long PEA_web_login(char s_host_name[],unsigned short n_port, char s_bus_code[],char s_uid[],char s_pwd[]) 我的i宣告:Function PEA_web_login(s_host_name:pchar;n_port:integer;s_bus_code,s_uid,s_pwd:pchar):integer;stdcall; if PEA_web_login('210.69.214.155',1502,'FA',pchar(trim(uid.Text)),pchar(trim(pwd.Text))) = 0 then 我呼叫測試是成功 ----------------------------------------------------------------------------------------------------------------------------------------------------------------- void PEA_get_errmsg(char s_errmsg[],int n_size) (1)用途 讀取錯誤訊息 (2)參數說明 a. s_errmsg 準備接收錯誤訊息之字串。 b. n_size 準備接收錯誤訊息之字串大小。錯誤訊息最長為256 bytes。 (3)回傳值 無。 我的i宣告:Procedure PEA_get_errmsg (s_buf:pchar; var n_size:byte); 不管如何改變呼叫程式碼,顯示錯誤訊息總是很怪異如4??或一片空白,長度是5或6,我有一點疑問是c語言無法傳參數位址,我如何從能從s_buf獲取錯誤訊息呢?不過健保局委託廠商附上vb寫的程式確能獲取錯誤訊息,是否代表是我的程式之問題呢? ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- long PEA_fa_upload(char s_req_file[], char s_data_files[] , char s_recv_seq[],int n_size) (1)用途 醫療費用申報資料上傳 (2) 參數說明 a. s_req_file 申報識別欄位資料檔案。 檔案格式如下: APPL_TYPE=X FEE_YM=YYYMM MONTH_MARK=X HOSP_DATA_TYPE=XX FILE_DATA_TYPE=X CH_CODE=X COMPRESS_MARK=X 中文名稱如下: 申報類別=X 費用年月=XXXXX 月份註記=X 醫事類別=XX 檔案資料格式=X 中文碼=X 壓縮註記=X 欄位意義如下: (a) 申報類別: 1:送核、2:補報 (b) 費用年月: 民國年月(YYYMM) (c) 月份註記: 3:全月、1:上半月、2:下半月 (d) 醫事類別: 10:門診代辦業務 11:門診西醫診所 12:門診西醫醫院 13:門診牙醫 14:門診中醫 15:門診洗腎 19:門診其他醫事機構 20:住診代辦業務 21:住診西醫診所 22:住診西醫醫院 29:住診其他醫事機構 30:特約藥局 40:物理治療所 50:特約檢驗所 91:住院通知表 92:門診洗腎EPO注射記錄表 93:預防保健服務檢查結果表 94:中醫診察費申報表 (e) 檔案資料格式: 1:媒體格式 (f) 中文碼: B:BIG5 E:EUC C:CNS N:通漢碼 (g) 壓縮註記: 0:未壓縮 Z:ZIP。 b. s_data_files 申報資料檔案名稱,包含路徑。以逗點分隔多個申報檔案。 c. s_recv_seq 準備接收收件序號之字串。 d. n_size 準備接收收件序號之字串大小。收件序號為13 Bytes。 (3)回傳值 成功回傳0。失敗回傳不為0的值 請問參數char s_req_file[]在delphi如何宣告 請問參數char s_recv_seq[]]在delphi如何宣告,是否要事先要配置記憶体給要傳遞之參數 請問參數int n_size在delphi如何宣告 我尚未測試這函數呼叫 |
ry_lee
高階會員 發表:368 回覆:251 積分:123 註冊:2002-03-19 發送簡訊給我 |
以下函數在vb之宣告
Public Declare Function PEA_web_login Lib "PEAT1511B01.dll" (ByVal s_host_name As String, ByVal n_port As Long, ByVal s_bus_code As String, ByVal s_uid As String, ByVal s_pwd As String) As Long Public Declare Function PEA_fa_upload Lib "PEAT1511B01.dll" (ByVal s_req_file As String, ByVal s_data_files As String, ByVal s_recv_seq As String, ByVal n_size As Long) As Long Public Declare Function PEA_fa_del Lib "PEAT1511B01.dll" (ByVal s_recv_seq As String) As Long Public Declare Function PEA_fa_recv_qry Lib "PEAT1511B01.dll" (ByVal s_req_file As String, ByVal s_rsp_file As String) As Long Public Declare Function PEA_fa_proc_qry Lib "PEAT1511B01.dll" (ByVal s_req_file As String, ByVal s_rsp_file As String) As Long Public Declare Function PEA_web_download_lst Lib "PEAT1511B01.dll" (ByVal s_req_file As String, ByVal s_rsp_file As String) As Long Public Declare Function PEA_web_download_file Lib "PEAT1511B01.dll" (ByVal s_rfile_name As String, ByVal s_lfile As String) As Long Public Declare Function PEA_web_logout Lib "PEAT1511B01.dll" () As Long Public Declare Sub PEA_get_errmsg Lib "PEAT1511B01.dll" (ByVal s_buf As String, ByVal n_size As Long) 醫療費用申報程式介面函式說明 目的: 本程式介面函式功能與WEB介面功能相同。主要是提供醫療院所資訊廠商整合申報介面使用。 與WEB介面差異說明: 1.程式 本程式介面函式為一組socket客戶端程式。與健保局主機上之socket伺服端程式對應。與WEB介面之程式不同。 2.處理邏輯: 本程式介面函式功能與WEB介面功能之處理邏輯相同。 3.執行效率: 目前本介面函式執行效率優於WEB介面。 功能: 本程式介面函式提供以下之功能: 1.登入系統 2.醫療費用申報資料上傳 3.醫療費用申報案件刪除 4.醫療費用申報收件狀況查詢 5.醫療費用申報流程狀態查詢 6.申報相關檔案下載清單查詢 7.申報相關檔案下載檔案讀取 8.登出系統 平台: UNIX: peat1501b01.a Windows peat1511b01.dll 介面函式說明: 函式(一)說明 long PEA_web_login(char s_host_name[],unsigned short n_port, char s_bus_code[],char s_uid[],char s_pwd[]) (1)用途 登入系統。 (2)參數說明 a. s_host_name 健保局服務主機名稱或IP。 (目前 VPN專線為 10.253.253.242 ) ( Internet 為 210.69.214.155) b. n_port 健保局服務主機之服務程式埠號。(目前為 1502) c. s_bus_code 業務類別,固定輸入FA(醫療費用申報) d. s_uid 用戶代號 e. s_pwd 用戶密碼 (3)回傳值 成功回傳0。失敗回傳不為0的值。 函式(二)說明 long PEA_fa_upload(char s_req_file[], char s_data_files[] , char s_recv_seq[],int n_size) (1)用途 醫療費用申報資料上傳 (2) 參數說明 a. s_req_file 申報識別欄位資料檔案。 檔案格式如下: APPL_TYPE=X FEE_YM=YYYMM MONTH_MARK=X HOSP_DATA_TYPE=XX FILE_DATA_TYPE=X CH_CODE=X COMPRESS_MARK=X 中文名稱如下: 申報類別=X 費用年月=XXXXX 月份註記=X 醫事類別=XX 檔案資料格式=X 中文碼=X 壓縮註記=X 欄位意義如下: (a) 申報類別: 1:送核、2:補報 (b) 費用年月: 民國年月(YYYMM) (c) 月份註記: 3:全月、1:上半月、2:下半月 (d) 醫事類別: 10:門診代辦業務 11:門診西醫診所 12:門診西醫醫院 13:門診牙醫 14:門診中醫 15:門診洗腎 19:門診其他醫事機構 20:住診代辦業務 21:住診西醫診所 22:住診西醫醫院 29:住診其他醫事機構 30:特約藥局 40:物理治療所 50:特約檢驗所 91:住院通知表 92:門診洗腎EPO注射記錄表 93:預防保健服務檢查結果表 94:中醫診察費申報表 (e) 檔案資料格式: 1:媒體格式 (f) 中文碼: B:BIG5 E:EUC C:CNS N:通漢碼 (g) 壓縮註記: 0:未壓縮 Z:ZIP。 b. s_data_files 申報資料檔案名稱,包含路徑。以逗點分隔多個申報檔案。 c. s_recv_seq 準備接收收件序號之字串。 d. n_size 準備接收收件序號之字串大小。收件序號為13 Bytes。 (3)回傳值 成功回傳0。失敗回傳不為0的值。 函式(三)說明 long PEA_fa_del(char s_recv_seq[]) (1)用途 醫療費用申報案件刪除(檢核錯誤時,系統自動退件,不需再執行刪除作業) (2)參數說明 a. s_recv_seq 收件序號 (3)回傳值 成功回傳0。失敗回傳不為0的值。 函式(四)說明 long PEA_fa_recv_qry(char s_req_file[],char s_rsp_file[]) (1)用途 醫療費用申報收件狀況查詢 (2)參數說明 a. s_req_file 查詢條件檔,檔案格式如下 RECV_SEQ_NO==XXXXXXXXXXXXX FEE_YM_S=XXXXX FEE_YM_E=XXXXX APPL_TYPE=X HOSP_DATA_TYPE=XX MONTH_MARK=X 中文名稱如下: 收件序號=XXXXXXXXXXXXX 費用年月起=XXXXX 費用年月迄=XXXXX 申報類別=X 醫事類別=XX 月份註記=X b. s_rsp_file 查詢結果檔,檔案格式如下: 查詢結果檔第一行為表頭,其餘為資料。各欄位間以逗點分隔。 第一行表頭如下: 傳送時間,收件序號,費用年月,月份註記,申報日期,申報類別,醫事類別,處理狀態,件數總計,點數總計。 處理狀態說明: 1-檢核中 2-檢核正確 3-檢核錯誤(自動退件,不需刪除) 4-退件 5-刪除 (3)回傳值 成功回傳0。失敗回傳不為0的值。 函式(五)說明 long PEA_fa_proc_qry(char s_req_file[],char s_rsp_file[]) (1)用途 醫療費用申報流程狀態查詢 (2)參數說明 a. s_req_file 查詢條件檔,檔案格式如下: FEE_YM=XXXXX HOSP_DATA_TYPE=XX APPL_TYPE=X APPLY_DATE=XXXXXXX 中文名稱如下: 費用年月=XXXXX 醫事類別=XX 申報類別=X 申報日期=XXXXXXX b. s_rsp_file 查詢結果檔,檔案格式如下: 查詢結果檔第一行為表頭,其餘為資料。各欄位間以逗點分隔。 第一行表頭如下: 狀態說明,處理日期,處理備註 (a)狀態說明: 狀態代碼-狀態名稱 (3)回傳值 成功回傳0。失敗回傳不為0的值。 函式(六)說明 long PEA_web_download_lst(char s_req_file[],char s_rsp_file[]) (1)用途 申報相關檔案下載清單查詢 (2)參數說明 a. s_req_file 查詢條件檔,檔案格式如下: FEE_YM_S=XXXXX FEE_YM_E=XXXXX SUPPLY_DATE=XX ORDER_FIELD=X 中文名稱如下: 費用年月起=XXXXX 費用年月迄=XXXXX 提供下載時間=XX 排序欄位=X 欄位說明: (a)提供下載日期: 7:7天以內 14:14天以內 30:30天以內 60:60天以內 90:90天以內 0:不限 (b)排序欄位: 1:費用年月 2:檔案名稱 3:提供下載日期 b. s_rsp_file 查詢結果檔,檔案格式如下: 查詢結果檔第一行為表頭,其餘為資料。各欄位間以逗點分隔。 第一行表頭如下 費用年月,檔案名稱,下載備註,提供下載日期,資料說明檔案 (3)回傳值 成功回傳0。失敗回傳不為0的值。 函式(七)說明 long PEA_web_download_file(char s_rfile_name[],char s_lfile []) (1)用途 申報相關檔案下載檔案讀取 (2)參數說明 a. s_rfile_name 下載檔案檔名。 b. s_lfile 本機存檔檔名。 (3)回傳值 成功回傳0。失敗回傳不為0的值。 函式(八)說明 long PEA_web_logout() (1)用途 登出 (2)參數說明 無。 (3)回傳值 成功回傳0。失敗回傳不為0的值。 函式(九)說明 void PEA_get_errmsg(char s_errmsg[],int n_size) (1)用途 讀取錯誤訊息 (2)參數說明 a. s_errmsg 準備接收錯誤訊息之字串。 b. n_size 準備接收錯誤訊息之字串大小。錯誤訊息最長為256 bytes。 (3)回傳值 無。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |