In another post, I mentioned I was using Registry based settings. MOFI recommended I use the INI file. Since it seems that something is written to the INI file is written to every time anyway, it seems I might as well.
Is the INI file completely rewritten every time? That is, is the INI file a "clone" of the registry? If not, how do I get my Registry settings to an INI file?
I have tried it now. When activating Use Registry for settings in the general configuration dialog, the current settings in the ini-file are definitively not copied to registry. In the other direction - from registry to ini-file - some settings are copied from registry to the ini-file, but not all - sorry.
But when you deactivate Use Registry for settings to work with an ini-file, the settings are not deleted in the registry. So first set Allow multiple instances. Then create a backup of uedit32.ini before you deactive the registry option. After deactivation start UltraEdit again with settings loaded from uedit32.ini and a second instance with the /i="<path to ini>\uedit32_backup.ini" command line parameter. So you can compare the settings stored in the ini with the settings stored in the registry.
Alternatively I have quickly developed an UltraEdit macro, which converts most settings from registry to ini settings. First export with registry editor following registry key with all subkeys: [HKEY_CURRENT_USER\Software\IDM Computer Solutions\UltraEdit]
Important! The export format must be old Win9x style (=ANSI DOS format) and not new UTF-16 format.
Then open the exported registry-file with UltraEdit and run following macro to convert most of the settings form registry to ini format.
InsertMode
ColumnModeOff
HexOff
UnixReOff
Top
Find "REGEDIT4^p^p"
IfNotFound
ExitMacro
EndIf
Delete
Find "[HKEY_CURRENT_USER\Software\IDM Computer Solutions\UltraEdit]^p^p"
Replace ""
Find RegExp "^[HKEY_CURRENT_USER\Software\IDM Computer Solutions\UltraEdit\Locks^][~^[]+"
Replace ""
Top
Find "[HKEY_CURRENT_USER\Software\IDM Computer Solutions\UltraEdit\"
Replace All "["
Find RegExp "%"^([~"]+^)""
Replace All "^1"
Find RegExp "\\"
Replace All "\"
Find "dword:00000000"
Replace All "0"
Find "dword:00000001"
Replace All "1"
Find "dword:00000002"
Replace All "2"
Find "dword:00000003"
Replace All "3"
Find "dword:00000004"
Replace All "4"
Find "dword:00000005"
Replace All "5"
Find "dword:00000006"
Replace All "6"
Find "dword:00000007"
Replace All "7"
Find "dword:00000008"
Replace All "8"
Find "dword:00000009"
Replace All "9"
Find RegExp "="^([~\"]+^)"$"
Replace All "=^1"
Find "="""
Replace All "="
Find "Left Delims=""
Replace "Left Delims="
Key END
Key BACKSPACE
Top
Find "Right Delims=""
Replace "Right Delims="
Key END
Key BACKSPACE
Top
Find "Use Registry=1"
Replace "Use Registry=0"
Top UnixReOn
Remove the last red command, if you use regular expression in UltraEdit style by default instead of Unix style - see Advanced - Configuration - Find - Unix style Regular Expressions. UnixReOn/UnixReOff modifies this setting.
Now most settings are converted. What still must be converted are the hex values greater than 9. It is not possible with the UltraEdit macro language to do a hex to decimal calculation. So you have to do it manually - sorry. Search for all dword: and convert the hex numbers to decimal. You will see, that many hex numbers are used several times. So after converting one number, use a search and replace all to convert all other identical hex numbers.
Best regards from an UC/UE/UES for Windows user from Austria