All pastes #277582 Raw Edit

Someone

public text v1 · immutable
·published 2006-12-13 10:53 UTC
rendered paste body
procedure CopyAllOld(Ext: string; NewFiletype: string);
var
  OldFiletype: string;
  SubKeysA: TArrayOfString;
  SubValuesA: TArrayOfString;
  i: integer;
  Keys: string;
  Values: string;
  Data: string;
begin
  if RegKeyExists(HKCR, '.' + Ext) then
    RegQueryStringValue(HKCR, '.' + Ext, '', OldFiletype)
    if OldFiletype <> NewFiletype then
      begin
        RegGetSubkeyNames(HKCR, OldFiletype, SubKeysA);
        Keys := '';
        Values := '';
        for i := 0 to GetArrayLength(SubKeysA)-1 do
          Keys := Keys + SubKeysA[i]
          RegGetValueNames(HKCR, OldFiletype + '\' + Keys, SubValuesA)
          for i := 0 to GetArrayLength(SubValuesA)-1 do
            Values := Values + SubValuesA[i]
            RegQueryStringValue(HKCR, OldFiletype + '\' + Keys, Values, Data)

            RegWriteStringValue(HKCR, NewFiletype + '\' + Keys, Values, Data);
      end;
end;