flowchart TD
Start([開始 DistinctFormCode]) --> LoadContext[讀取 Context.dat 到字串清單 S]
LoadContext --> LoopStart[遍歷清單 i = 0 to Count-1]
LoopStart --> CheckCat{FWH_category 為 'N'?}
CheckCat -- 是 --> CheckExist{檔案是否存在或已在 Resize 清單?}
CheckExist -- 是 --> Continue[跳過此筆]
CheckExist -- 否 --> ProcessFile
CheckCat -- 否 --> ProcessFile
Continue --> NextIter
ProcessFile[提取 FormCode] --> CheckDup{OMRFileList 中是否已存在?}
CheckDup -- 否 --> AddToList[加入 OMRFileList]
CheckDup -- 是 --> NextIter
AddToList --> NextIter[下一筆檔案]
NextIter --> LoopStart
LoopStart -- 結束 --> End([釋放 S 並結束])