diff --git a/Delphi10/开发档案/皮肤样式/skin1.py b/Delphi10/开发档案/皮肤样式/skin1.py new file mode 100644 index 0000000..7fa4b7f --- /dev/null +++ b/Delphi10/开发档案/皮肤样式/skin1.py @@ -0,0 +1,114 @@ +import os +import logging + +# 设置日志记录 +logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') + +# 定义替换列表 +replacements = [ + ('dxSkinsCore,', ''), + ('dxSkinsDefaultPainters,', ''), + ('dxSkinWXI,', ''), + ('dxSkinBasic,', ''), + ('dxSkinBlack,', ''), + ('dxSkinBlue,', ''), + ('dxSkinBlueprint,', ''), + ('dxSkinCaramel,', ''), + ('dxSkinCoffee,', ''), + ('dxSkinDarkroom,', ''), + ('dxSkinDarkSide,', ''), + ('dxSkinDevExpressDarkStyle,', ''), + ('dxSkinDevExpressStyle,', ''), + ('dxSkinFoggy,', ''), + ('dxSkinGlassOceans,', ''), + ('dxSkinHighContrast,', ''), + ('dxSkiniMaginary,', ''), + ('dxSkinLilian,', ''), + ('dxSkinLiquidSky,', ''), + ('dxSkinLondonLiquidSky,', ''), + ('dxSkinMcSkin,', ''), + ('dxSkinMetropolis,', ''), + ('dxSkinMetropolisDark,', ''), + ('dxSkinMoneyTwins,', ''), + ('dxSkinOffice2007Black,', ''), + ('dxSkinOffice2007Blue,', ''), + ('dxSkinOffice2007Green,', ''), + ('dxSkinOffice2007Pink,', ''), + ('dxSkinOffice2007Silver,', ''), + ('dxSkinOffice2010Black,', ''), + ('dxSkinOffice2010Blue,', ''), + ('dxSkinOffice2010Silver,', ''), + ('dxSkinOffice2013DarkGray,', ''), + ('dxSkinOffice2013LightGray,', ''), + ('dxSkinOffice2013White,', ''), + ('dxSkinOffice2016Colorful,', ''), + ('dxSkinOffice2016Dark,', ''), + ('dxSkinOffice2019Black,', ''), + ('dxSkinOffice2019Colorful,', ''), + ('dxSkinOffice2019DarkGray,', ''), + ('dxSkinOffice2019White,', ''), + ('dxSkinPumpkin,', ''), + ('dxSkinSeven,', ''), + ('dxSkinSevenClassic,', ''), + ('dxSkinSharp,', ''), + ('dxSkinSharpPlus,', ''), + ('dxSkinSilver,', ''), + ('dxSkinSpringtime,', ''), + ('dxSkinStardust,', ''), + ('dxSkinSummer2008,', ''), + ('dxSkinTheAsphaltWorld,', ''), + ('dxSkinTheBezier,', ''), + ('dxSkinValentine,', ''), + ('dxSkinVisualStudio2013Blue,', ''), + ('dxSkinVisualStudio2013Dark,', ''), + ('dxSkinVisualStudio2013Light,', ''), + ('dxSkinVS2010,', ''), + ('dxSkinWhiteprint,', ''), + ('dxSkinXmas2008Blue,', ''), + ('dxSkinXmas2008Blue;', ';') +] + + +def replace_in_file(file_path, replacements, encodings=['utf-8', 'gbk']): + temp_file_path = file_path + '.tmp' + try: + # 尝试使用提供的编码列表打开文件 + for encoding in encodings: + try: + with open(file_path, 'r', encoding=encoding) as infile, \ + open(temp_file_path, 'w', encoding=encoding) as outfile: + # 读取整个文件内容到一个字符串中 + file_content = infile.read() + # 对文件内容进行所有替换操作 + for old, new in replacements: + file_content = file_content.replace(old, new) + # 将替换后的内容写回临时文件 + outfile.write(file_content) + # 使用os.replace原子性地替换原文件 + os.replace(temp_file_path, file_path) + logging.info(f"Successfully processed file: {file_path} using encoding {encoding}") + break # 成功处理后跳出循环 + except UnicodeDecodeError: + # 如果当前编码失败,则尝试下一个编码 + logging.warning(f"Failed to decode file {file_path} using encoding {encoding}") + else: + # 如果所有编码都失败,则记录错误并删除临时文件(如果存在) + logging.error(f"Failed to process file {file_path} with all provided encodings") + if os.path.exists(temp_file_path): + os.remove(temp_file_path) + except Exception as e: + logging.error(f"Error processing file {file_path}: {e}") + if os.path.exists(temp_file_path): + os.remove(temp_file_path) + + +def replace_in_folder(folder_path, replacements, encodings=['utf-8', 'gbk']): + for root, dirs, files in os.walk(folder_path): + for file_name in files: + if file_name.endswith('.pas'): + file_path = os.path.join(root, file_name) + replace_in_file(file_path, replacements, encodings) + + +# 执行替换操作 +replace_in_folder(r'D:\Dp10Repo\项目代码\D10gmXinde', replacements) \ No newline at end of file diff --git a/Delphi10/开发档案/皮肤样式/skin.py b/Delphi10/开发档案/皮肤样式/skin2.py similarity index 100% rename from Delphi10/开发档案/皮肤样式/skin.py rename to Delphi10/开发档案/皮肤样式/skin2.py