# -*- coding: utf-8 -*- """①全部 Fak* handler 的数据源 fak.db → 方案窗口当前打开的方案文件(统一语义) ②ReloadFakData 改为通知方案窗口重新加载当前方案 ③DockWindow8 加 重新加载当前方案() 方法。幂等。""" import io P = r"C:\Users\099978\Documents\SharpDevelop Projects\成套报价软件\成套报价软件\主窗口.菜单与库.cs" s = io.open(P, encoding="utf-8-sig").read() n = 0 # 1) 路径定义统一替换(handler 数据源 → 当前方案文件) pairs = [ ('string fakDbPath = GetDbFullPath(@"sjk\\fak.db");', 'string fakDbPath = 方案数据源路径();'), ('string srcDbPath = GetDbFullPath(@"sjk\\fak.db");', 'string srcDbPath = 方案数据源路径();'), ('"方案库不存在:\\n" + fakDbPath', '"请先在方案窗口项目页双击打开一个方案"'), ('"方案库不存在:\\n" + srcDbPath', '"请先在方案窗口项目页双击打开一个方案"'), ] for old, new in pairs: c = s.count(old) s = s.replace(old, new) n += c print("替换", c, "处:", old[:50]) # 2) ReloadFakData 改为通知方案窗口重载当前方案 old_rf = ''' public void ReloadFakData() { try { if (this.w8 != null) this.w8.刷新项目页(); Log("[方案刷新] 已通知方案窗口刷新方案列表"); } catch (Exception ex) { Log("[方案刷新] 失败: " + ex.Message); } }''' new_rf = ''' public void ReloadFakData() { try { if (this.w8 != null) this.w8.重新加载当前方案(); Log("[方案刷新] 已通知方案窗口重载当前方案"); } catch (Exception ex) { Log("[方案刷新] 失败: " + ex.Message); } }''' if old_rf in s: s = s.replace(old_rf, new_rf, 1) n += 1 print("ReloadFakData 已改") io.open(P, "w", encoding="utf-8-sig").write(s) print("合计", n, "处")