From 0756bf12d10cf1b7f78c571de0a9ad69cbaeb7ca Mon Sep 17 00:00:00 2001
From: curtis <curtis@i-mps.com>
Date: 星期一, 30 三月 2026 14:24:17 +0800
Subject: [PATCH] fix: 更新內部引用方法參照
---
reassemble/scan/twain.pas | 57 +++++++++++++++------------------------------------------
1 files changed, 15 insertions(+), 42 deletions(-)
diff --git a/reassemble/scan/twain.pas b/reassemble/scan/twain.pas
index bdea582..fd7ceed 100644
--- a/reassemble/scan/twain.pas
+++ b/reassemble/scan/twain.pas
@@ -2,11 +2,9 @@
方法名稱:StatrTwainScan
引用相依:OnAcquire, Scanner, Scanner.AcquireWithSourceOpen, Scanner.CloseSour
ce, Scanner.OpenSource, StatrTwainScan, TTiffGraphic
- 方法描述:啟動 TWAIN 掃瞄流程。此方法首先檢查掃瞄器驅動是否已安裝,接著初始化 Sc
- anInfo 結構並設定掃瞄參數(如 DPI、影像格式、是否顯示 UI、雙面掃瞄模式、
- 亮度與對比)。流程中會開啟掃瞄來源,呼叫 AcquireWithSourceOpen 執行實際
- 掃瞄作業,並利用 try...finally 確保不論掃瞄成功與否,最終都會關閉掃瞄
- 來源並釋放資源。
+ 方法描述:啟動 TWAIN 掃描流程。檢查驅動是否安裝,初始化 ScanInfo 並設定 DPI、影像
+ 格式、UI 顯示及雙面掃描模式。執行 AcquireWithSourceOpen 並利用 try...f
+ inally 確保資源釋放。
============================================================================== }
procedure TCB_IMGPSScanX.StatrTwainScan;
var ScanInfo : TScanInfo;
@@ -66,14 +64,8 @@
{ ==============================================================================
方法名稱:OnAcquire
引用相依:OnAcquire, TJpegGraphic, TTiffGraphic
- 方法描述:掃瞄影像獲取後的回呼處理函數。核心邏輯包含:
- 1. 將獲取的 DIB 句柄轉為影像對象並設定 DPI。
- 2. 依影像格式執行對應處理:黑白影像會進行條碼辨識、依條碼角度旋轉、影像
- 反向、傾斜矯正及清黑邊;全彩或灰階影像則設定 JPEG 壓縮品質。
- 3. 檢查是否需要進行 A3 切割為 A4 的處理。
- 4. 透過 Deletepage 檢查並過濾空白頁(依據檔案大小)。
- 5. 對於有效影像,更新 UI 顯示並呼叫 PageEnd 決定儲存路徑與檔名,最後依
- 副檔名儲存為 TIFF 或 JPEG 並呼叫 PageDone 完成頁面流程。
+ 方法描述:掃描影像獲取後的回調處理。處理 DIB 句柄、設定 DPI、執行條碼辨識、影像旋
+ 轉、反向、去偏斜及清黑邊。支援 A3 裁切判定與空白頁過濾。
============================================================================== }
procedure TCB_IMGPSScanX.OnAcquire( const DibHandle : THandle;
const XDpi : Word;
@@ -319,11 +311,8 @@
{ ==============================================================================
方法名稱:PageDone
引用相依:LoadFromFile, PageDone
- 方法描述:完成單頁影像處理後的 UI 更新邏輯。此方法會遞增掃瞄影像總計數,並根據目
- 前的掃瞄模式(新建、取代、插入或取樣)將儲存好的影像檔載入到對應的 Image
- ScrollBox 元件中。在新建模式下,還會根據 ScanImgShowMode 設定決定影像
- 顯示的品質(反鋸齒開啟與否)與縮放模式(zmFittopage),確保使用者能即時預
- 覽掃瞄結果。
+ 方法描述:單頁影像處理後的 UI 更新。累加計數,根據模式(新建、取代、插入、取樣)將影
+ 像載入對應的顯示元件,並依設定調整反鋸齒與縮放。
============================================================================== }
procedure TCB_IMGPSScanX.PageDone;
Var
@@ -380,14 +369,8 @@
方法名稱:PageEnd
引用相依:DirectoryExists, GetNoNameCase, PageEnd, SaveToFile, Str2Dir, _DelTr
ee
- 方法描述:管理掃瞄影像的儲存路徑與檔案命名規則。主要邏輯如下:
- 1. 辨識條碼以取得 FormID,並判斷是否為導引頁或分案頁。
- 2. 若偵測到分案頁,會重置計數並嘗試取得新的案件編號(CaseID)。
- 3. 確定儲存目錄,包含處理「分份數」邏輯(依 DocNoNeedDiv 決定是否建立新
- 子目錄)。
- 4. 根據目前頁數與 FormID 產生標準化的檔名(如補零序號_FormID.tif)。
- 5. 更新 ContextList(影像索引資訊)並在掃瞄新案件時更新 TreeView UI 結
- 構。此方法確保每張影像都能正確歸類到對應的案件與文件目錄下。
+ 方法描述:管理影像儲存路徑與命名。辨識條碼區分表單、導引頁或分案頁;處理分份邏輯
+ 與自動建立目錄,並更新樹狀結構索引。
============================================================================== }
procedure TCB_IMGPSScanX.PageEnd;
Var
@@ -610,11 +593,8 @@
{ ==============================================================================
方法名稱:R_W_Scanini
引用相依:Scanner
- 方法描述:讀取或寫入掃瞄設定檔(FBScan.ini)。此方法使用 Tinifile 物件處理掃瞄相
- 關參數的 I/O 作業。當 Mode 為 'R' 時,從設定檔讀取包含空白頁刪除設定、
- 影像反向、清黑邊、旋轉角度、傾斜矯正、亮度對比以及 UI 顯示模式等參數;當
- Mode 為 'W' 時,則將目前的系統變數值回寫至設定檔中,以利下次啟動時恢復
- 使用者的個性化設定。
+ 方法描述:讀取或寫入 FBScan.ini。處理包含空白頁刪除、影像反向、清黑邊、旋轉、去偏斜
+ 、亮度對比及顯示模式等掃描參數。
============================================================================== }
Procedure TCB_IMGPSScanX.R_W_Scanini(Mode:Char); //'R'讀取;'W'寫入
var
@@ -662,12 +642,8 @@
{ ==============================================================================
方法名稱:GetDefScanIni
引用相依:FJpgCompression, Rotate, Scanner
- 方法描述:從資料庫參數清單(WORK_INF_List)初始化並設定掃瞄的系統預設值。流程首先
- 設定一組程式內建的預設數值,隨後遍歷 WORK_INF_List 並比對 PARA_NO 關
- 鍵字,動態更新包含:空白頁判斷大小、影像是否反相、清黑邊、掃瞄 DPI、雙面掃
- 瞄開啟、影像旋轉角度、傾斜矯正、亮度對比、影像儲存路徑、導引頁與分案頁代
- 碼列表、以及 JPEG 壓縮品質等關鍵參數。這使得掃瞄行為可以透過後台設定進
- 行彈性調整。
+ 方法描述:從資料庫參數清單初始化掃描預設值。設定 DPI、雙面模式、旋轉角度、路徑、導
+ 引頁及分案頁代碼等關鍵系統變數。
============================================================================== }
Procedure TCB_IMGPSScanX.GetDefScanIni; //取得掃瞄的預設值
var
@@ -850,11 +826,8 @@
{ ==============================================================================
方法名稱:initkscan
引用相依:Scanner, Scanner.CloseSource, Scanner.OpenSource, initkscan
- 方法描述:初始化並偵測掃瞄器硬體能力。此方法會先將雙面掃瞄勾選框(ScanDuplexCB)
- 設為停用,接著嘗試開啟掃瞄來源(OpenSource),檢查掃瞄器是否支援雙面掃瞄
- 功能(DuplexCap > 0)。如果硬體支援,則啟用 UI 上的勾選框供使用者選擇。最
- 後確保關閉掃瞄來源,若過程中發生異常,會呼叫 DataLoading(False,True)
- 停止載入狀態提示。
+ 方法描述:偵測掃描器硬體能力。嘗試開啟掃描來源以檢查是否支援雙面掃描 (DuplexCap
+ ),並據此啟用 UI 控制項。
============================================================================== }
procedure TCB_IMGPSScanX.initkscan;
begin
--
Gitblit v1.8.0