现有一组控件,由于多语言版的需求,用到了resourcestring来定义字符串,如下:
unit ResStrngs;
interface
resourcestring
SGeneralElectric = 'General Electric';
SGeneralMills = 'General Mills';
SGeneralUsage = 'General Usage';
SGeneralHospital = 'General Hospital';
SGeneralLedger = 'General Ledger';
SGeneralProtectionFault = 'General Protection Fault';
// .......
implementation
end.
现在要把resourcestring区内的字符串修改成INI格式的文件形式,实现从INI文件中装载。而且不改变resourcestring区内的字符串的功能。最好使用单例模式的INI(从效率方面考虑。)
unit ResStrngs;
interface
resourcestring
SGeneralElectric = 'General Electric';
SGeneralMills = 'General Mills';
SGeneralUsage = 'General Usage';
SGeneralHospital = 'General Hospital';
SGeneralLedger = 'General Ledger';
SGeneralProtectionFault = 'General Protection Fault';
// .......
implementation
end.
现在要把resourcestring区内的字符串修改成INI格式的文件形式,实现从INI文件中装载。而且不改变resourcestring区内的字符串的功能。最好使用单例模式的INI(从效率方面考虑。)
[lang1]
SGeneralElectric = General Electric
SGeneralMills = General Mills
[lang2]
SGeneralElectric = XXX
SGeneralMills = XXX
[lang3]
SGeneralElectric = XXX
SGeneralMills = XXX
.....
程序里来个变量存储使用的是那种语言,然后readstring()不就行了。