Для открытия файлов подходит функция ShellExecute модуля ShellAPI. Я открывал документы таким способом:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
If Not(OpenDialog.Execute) Then Exit;
ShellExecute(Application.MainForm.Handle, PChar('open'), PChar(OpenDialog.FileName),
Nil, PChar(ExtractFilePath(OpenDialog.FileName)), SW_ShowNormal);
end;
Функция ShellExecute использует, в данном случае, ту программу, которая открывает файлы данного типа по умолчанию. Если нужно узнать расширение файла, то функция: ExtractFileExt, принимает строку - имя файла. А насчёт, как узнать расширение после его изменения, ничего сказать не могу.