---
base_path: "doc/curtis/prompt/scanimpl_analysis"
請依 @Delphi_套件相依.md 裡 「依功能拆分模組與第三方套件綁定分析」要項
對 @CB_IMGPSScanImp.pas 檔案進行分析,將合於該分類的方法名集合找出來
生成對應的 json 檔, 該生成的 json 檔可用來代表 @CB_IMGPSScanImp.pas.bk
拆分前的每個方法,其分類是什麼,其所在區段是什麼,最後該 json 檔將餵入
腳本,透過腳本執行,進行檔案拆分及測試,而不是透過 AI 拆分
以下是詳細規格需求:
CB_IMGPSScanImp.pas.bk 檔案。procedure TCB_IMGPSScanX. 或 function TCB_IMGPSScanX. 開頭的行。lIndex:該方法在檔案中的起始行號(從 1 開始計算)。methodName:方法的完整簽名字串 (例如:procedure TCB_IMGPSScanX.StatrTwainScan;, procedure TCB_IMGPSScanX.OnAcquire( const DibHandle : THandle;)。rIndex:rIndex) 可以假設是下一個方法開始的前一行 (lIndex - 1)。rIndex 應該是檔案的總行數。我需要你將找到的每個方法,分配到對應的 `tags`。
請根據以下關鍵字進行簡單的字串比對分類 (如果不在此列表內,則預設分類到 `"UIView"` / `"UIView.misc"`):
ScannerControl (硬體掃描控制模組)
StatrTwainScan, OnAcquire, initkscan, CheckScannerConfig, PageEnd, PageDone, R_W_Scanini, GetDefScanIni -> ScannerControl.twainWrapperImageProcessor (影像處理與轉換模組)
DeskewImg, Rotate, CropImg, ImageReSize_FormID, ImageReSize_tmp, CheckNeedCrop -> ImageProcessor.transformerConvertToBW, ConvertToGray, Image_Smooth, NegativeImg, CleanupBorder -> ImageProcessor.converterMpsGetBarcode, Get_OMR -> ImageProcessor.barcodeRecognizerFindPoint, CheckSize, GetSiteOMR -> ImageProcessor.anchorAnalyzerTransportManager (安全傳輸與 API 通訊模組)
ProcessServlet, ProcessServlet_Get, ProcessServlet_FormData -> TransportManager.requestWrapperupFile, dnFile, dnFile_Get, GetftpInfo, SetFtpInfo, FtpCaseComplete -> TransportManager.fileTransferEn_DecryptionStr_Base64, LoadFileGetMD5, HTTPSClientCertificateValidate -> TransportManager.utilitiesZipMainFile, ZipMaskFile, ExecuteUnZip -> TransportManager.payloadArchiverBusinessLogic (業務邏輯與資料解析模組)
SetSQLData, GetSQLData, FindSQLData, GetSetInf1, GetSetInf2, GetSetInf3, GetSetInf4, GetSetInf5, GetSetInf6, GetSetInf7 -> BusinessLogic.paramStateBarCode2FormID, BarCode2CaseID, FormCode2DocNo, DocNo2DocName, DocNoNeedDiv, CreateDocNo_Info, CreateCustDocNo_Info -> BusinessLogic.entityMappingOMRCheckCase, OMRErr2ini, OMRErrini2List -> BusinessLogic.ormRuleEngineSetUseCase, GetUseCase, OldCasetoNewCase, ErrFormtoCurrentForm, DeleteDocNoFileForESCAN -> BusinessLogic.caseManagerUIView (UI 視圖與介面呈現模組)
TreeView 的方法 (如 TreeView1Click, DrawDocItem2 等) -> UIView.treeViewISB, ImageScrollBox, ScrollBox 的方法 (如 ISB1Click, CreatePreViewISB 等) -> UIView.scrollViewInitialLanguage, DownLanguage -> UIView.i18nDisplayMode, GoViewMode -> UIView.miscDataLoading, Timer2Timer, StatusBar1DblClick -> UIView.statusMessengerjson [ { "matcher": "procedure TCB_IMGPSScanX.OnAcquire( const DibHandle : THandle;", "tags": [ "ScannerController", "ScannerController.acquisitionHandler" ], "deps": [], "lIndex": "4444", "rIndex": "4476", "description": "" } ] tags 的 items 群組在一個 block 內。透過 B1.1 取得的結果將各個方法名進行分類,分類時請合於 @Delphi_套件相依.md
的分類方法,並依 "B1.1.5 方法分類 tags 說明" 判定其 tags 屬性
example:pascal // CB_IMGPSScanImp.pas, 假定該分類為 ImageProcessor.anchorAnalyzer function TCB_IMGPSScanX.GetSiteOMR(FileName,Site:String;bt: Integer): Integer;
{
"matcher": "function TCB_IMGPSScanX.GetSiteOMR(FileName,Site:String;bt: Integer): Integer;",
"tags": [
"ImageProcessor",
"ImageProcessor.anchorAnalyzer"
],
"deps": [],
"lIndex": "5173",
"rIndex": "5226",
"description": ""
}
{{base_path}}/scanimpl_annalysis.ScannerController.json{{base_path}}/scanimpl_annalysis.BusinessLogic.json{{base_path}}/scanimpl_annalysis.ImageProcessor.json{{base_path}}/scanimpl_annalysis.TransportManager.json{{base_path}}/scanimpl_annalysis.UIView.json生成腳本,以驗證 "B1.2 分類結果生成" 是否正確,該腳本檔針對 @CB_IMGPSScanImp.pas.bk
與 '"B1.2 分類結果生成" 生成之 json'(以下簡程 [B1.2Jsons] ) 進行驗證
{{base_path}}/scanimpl_annalysis.remainings.txtoutput:
{{script_path}}/scanimpl_annalysis_json.test.js