| 
| 
 | Вопрос # 707/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!Подскажите, пожалуйста, как при нажатии на кнопку открыть файл любого расширения для просмотра (например, HTML в IE6 или ехе для установки программы)? И как значение переменной типа HKey отобразить в Edit? Спасибо!
 
|  |   Вопрос задал: Евгений Eklmn (статус: Посетитель)Вопрос отправлен: 6 июля 2007, 14:29
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Николай Рубан Здравствуйте, Трофимов Евгений!
 1) Для запуска приложения используйте функцию:
 ShellExecute(Handle,nil,'ФАЙЛ.ЕХЕ','',nil,SW_SHOWNORMAL);
 
 Для запуска файла с которым связано соответствующее программное (обязательно установленное) обеспечение достаточно:
 ShellExecute(Handle,nil,'','ФАЙЛ',nil,SW_SHOWNORMAL);
 
 ДЛя работы в проэкте необходимо подключить модуль ShellApi (uses ShellApi).
 
 2) Вот нашел функции которые делают соответсвующие преобразования - смотрите приложение.
 
 Good Luck!!!
 Приложение:Переключить в обычный режим const  HKEYNames: array[0..6] of string =    ('HKEY_CLASSES_ROOT', 'HKEY_CURRENT_USER', 'HKEY_LOCAL_MACHINE', 'HKEY_USERS',    'HKEY_PERFORMANCE_DATA', 'HKEY_CURRENT_CONFIG', 'HKEY_DYN_DATA'); function HKEYToStr(const Key: HKEY): string;begin  if (key < HKEY_CLASSES_ROOT) or (key > HKEY_CLASSES_ROOT+6) then    Result := ''  else    Result := HKEYNames[key - HKEY_CLASSES_ROOT];end; function StrToHKEY(const KEY: string): HKEY;var  i: Byte;begin  Result := $0;  for i := Low(HKEYNames) to High(HKEYNames) do  begin    if SameText(HKEYNames[i], KEY) then      Result := HKEY_CLASSES_ROOT + i;  end;end;
|  | Ответ отправил: Николай Рубан (статус: 10-ый класс)Время отправки: 6 июля 2007, 20:29
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 3; последнее сообщение — 7 июля 2007, 22:40; участников в обсуждении: 2. 
|   | Николай Рубан (статус: 10-ый класс), 6 июля 2007, 20:31 [#1]:По второму пункту... Функции можно применить например так:
 Edit1.Text:=HKEYToStr(HKEY_LOCAL_MACHINE);
 
 Good Luck!!!
 |  
|   | Евгений Eklmn (статус: Посетитель), 7 июля 2007, 22:28 [#2]:Как из string получить AnsiChar? Оказывается, что: ShellExecute(Handle,nil,'полный адреc файла':AnsiChar,'ФАЙЛ':string,nil,SW_SHOWNORMAL); Генерация случайных чисел - слишком важный вопрос, чтобы оставлять его на волю случая. (Роберт Ковзю, Окриджская лаборатория) |  
|   | Николай Рубан (статус: 10-ый класс), 7 июля 2007, 22:40 [#3]:Достаточно воспользоваться таким подходом: ShellExecute(Handle,nil,PChar('полный адреc файла'),'ФАЙЛ':string,nil,SW_SHOWNORMAL);
 
 Т.е. применяем функцию PChar.
 
 Good Luck!!!
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |