| | |
| | | ```mermaid |
| | | graph TD |
| | | Start([開始 DistinctFormCode]) --> LoadFile[讀取 Context.dat 到 TStringList] |
| | | LoadFile --> LoopFile{遍歷檔案清單} |
| | | flowchart TD |
| | | Start([開始 DistinctFormCode]) --> LoadContext[讀取 Context.dat 到字串清單 S] |
| | | LoadContext --> LoopStart[遍歷清單 i = 0 to Count-1] |
| | | |
| | | LoopFile -- i --> CheckExist{影像是否存在或已縮放?} |
| | | CheckExist -- 是 --> Skip[Continue 下一個] |
| | | CheckExist -- 否 --> GetForm[提取檔案的 FormCode] |
| | | LoopStart --> CheckCat{FWH_category 為 'N'?} |
| | | CheckCat -- 是 --> CheckExist{檔案是否存在或已在 Resize 清單?} |
| | | CheckExist -- 是 --> Continue[跳過此筆] |
| | | CheckExist -- 否 --> ProcessFile |
| | | CheckCat -- 否 --> ProcessFile |
| | | |
| | | GetForm --> LoopOMR{遍歷 OMRFileList} |
| | | LoopOMR -- n --> CompareForm{FormCode 是否重複?} |
| | | CompareForm -- 是 --> MarkRepeat[AddOk = False, Break] |
| | | CompareForm -- 否 --> NextOMR[下一個 OMR 項目] |
| | | NextOMR --> LoopOMR |
| | | Continue --> NextIter |
| | | ProcessFile[提取 FormCode] --> CheckDup{OMRFileList 中是否已存在?} |
| | | |
| | | MarkRepeat --> CheckAdd{AddOk?} |
| | | NextOMR -- 結束 --> CheckAdd |
| | | CheckDup -- 否 --> AddToList[加入 OMRFileList] |
| | | CheckDup -- 是 --> NextIter |
| | | |
| | | CheckAdd -- True --> AddList[加入 OMRFileList] |
| | | CheckAdd -- False --> NextFile[下一個檔案] |
| | | AddToList --> NextIter[下一筆檔案] |
| | | NextIter --> LoopStart |
| | | |
| | | AddList --> NextFile |
| | | Skip --> NextFile |
| | | NextFile --> LoopFile |
| | | LoopFile -- 結束 --> End([結束]) |
| | | LoopStart -- 結束 --> End([釋放 S 並結束]) |
| | | ``` |