Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2015, 11:45   #11
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Delphi 7/XE7 - Windows 8.1 x64 все работает.
Человек_Борща вне форума Ответить с цитированием
Старый 04.01.2015, 17:27   #12
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Delphi 7/XE7 - Windows 8.1 x64 все работает.
У меня Delphi XE и Windows 8.1 не работает вот...
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 04.01.2015, 17:31   #13
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

под отладчиком пройдитесь)

Цитата:
А надо было читать сообщение #8
Даже идеальный код может работать не долго. Он устаревает. Ну не работает, так разберись. 4 года работал все радовались.
Человек_Борща вне форума Ответить с цитированием
Старый 04.01.2015, 17:40   #14
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Код:
// -------------------- Функции для работы с реестром --------------------------

// Регистрация расширения, установка иконки и ассоциативной программы
function RegFileExt(AExtension, AExtDescription, AFileDescription,
                    AOpenWith, AParamString: String; AIconIndex: Integer): Boolean;
  var  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
  with Reg do begin
    RootKey := HKEY_CLASSES_ROOT;
    OpenKey(AExtension, True);
    WriteString('', AExtDescription);
    OpenKey('\' + AExtDescription, True);
    WriteString('', AFileDescription);
    OpenKey('DefaultIcon', True);
    WriteString('', AOpenWith + ','+IntToStr(AIconIndex));
    OpenKey('\' + AExtDescription + '\Shell\Open\Command', True);
    WriteString('', '"' + AOpenWith + '" "' + AParamString + '"');
  end;
  Result := True;
  except
    Result := False;
  end;
  Reg.Free;
end;

// Проверка регистрации
function FileExtIsRegistered(const AExtension: string): Boolean;
var
  Reg: TRegistry;
begin
  Reg:= TRegistry.Create;
  try
    Reg.RootKey:= HKEY_CLASSES_ROOT;
    Result:= Reg.KeyExists(AExtension);
  finally
    Reg.Free();
  end;
end;

// Удаление регистрации
function UnRegFileExt(AExtension, AExtDescription: String): Boolean;
  var Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    with Reg do
     begin
      RootKey := HKEY_CLASSES_ROOT;
      DeleteKey(AExtension);
      DeleteKey('\' + AExtDescription);
     end;
   Result := True;
  except
   Result := False;
  end;
  Reg.Free;
end;

// Описание формата из реестра по расширению
function ExtToFileType(const Ext: string): string;
var
  Reg: TRegIniFile;
  LinkKey: string; // ccылка из ключа .ext на ключ Ext.File
begin
  Reg:= TRegIniFile.Create();
  try
    // Открытие ключа .ext
    Reg.RootKey:= HKEY_CLASSES_ROOT;
    if Reg.OpenKey('.' + Ext, False)
      then begin
             LinkKey:= Reg.ReadString('', '', '');
             Reg.CloseKey();
           end;

    // Открытие ключа Ext.File
    if Reg.OpenKey(LinkKey, False)
      then begin
             Result:= Reg.ReadString('', '', '');
             Reg.CloseKey();
           end;
  finally
    Reg.Free();
  end;

  if (LinkKey = '') or (Result = '')
    then Result:= 'Файл ''' + Ext + '''';
end;

// Описание формата из реестра по имени файла
function FileNameToFileType(const AFileName: string): string;
begin
  Result:= ExtToFileType(ExtractFileExtOnly(AFileName));
end;
Вложения
Тип файла: rar uRoutines.rar (5.2 Кб, 27 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ассоциация Файлов digital-stream Мультимедиа в Delphi 3 27.11.2014 23:34
[Проблема]Создание нового типа файла и ассоциация его с программой Человек_Борща Общие вопросы Delphi 5 07.03.2011 21:35
Ассоциация файлов Renat21 Общие вопросы Delphi 1 04.02.2011 20:35
Ассоциация файлов со своей программой dmitriegorovih Общие вопросы Delphi 7 21.08.2010 12:41
ассоциация файлов с приложением TaTT DoGG Общие вопросы .NET 3 15.03.2009 18:21