Files
ctbjrj/tools/ribbon_fixvars.py

32 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
"""修 Designer.cs 集合块的局部变量重名:三个页签的 rtab1/rgrpA.. 按页加唯一前缀。"""
import io
import re
P = r"C:\Users\099978\Documents\SharpDevelop Projects\成套报价软件\成套报价软件\MainForm.Designer.cs"
s = io.open(P, encoding="utf-8-sig").read()
start = s.find("\t\t\tSmart.CustomComponents.RibbonTab rtab1 = new")
endmark = "\t\t\tthis.ribbonStrip1.TabIndex = 3;"
end = s.find(endmark)
assert start > 0 and end > start, "找不到集合块"
block = s[start:end]
# 按页签轮次分段:每轮以 new RibbonTab 开头
parts = re.split(r"(?=\t\t\tSmart\.CustomComponents\.RibbonTab rtab1 = new)", block)
parts = [p for p in parts if p.strip()]
assert len(parts) == 3, "期望 3 个页签块,实际 %d" % len(parts)
prefixes = ["项目_", "报价_", "设置_"]
out = []
for p, pre in zip(parts, prefixes):
p = p.replace("rtab1", "rtab" + pre)
# 组变量 rgrpA..D 每轮加页前缀
for g in ["A", "B", "C", "D"]:
p = p.replace("rgrp" + g, "rgrp" + pre + g)
out.append(p)
s = s[:start] + "".join(out) + s[end:]
io.open(P, "w", encoding="utf-8-sig").write(s)
print("集合块变量改名完成: rtab项目_/rtab报价_/rtab设置_")