|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
как открыть файл кнопкой?
помогите ктонить пжалста..что надо написать шоб кнопка открывала файл??..заранее очень благодарен..
Последний раз редактировалось rain, 19.03.2008 в 02:19. |
#2
|
||||
|
||||
Цитата:
Должно помочь.. вызывет диалог открытия как в офисе Зависимости: uses activeX Автор: Babay_S Дата: 27 сентября 2002 г. ************************************************** * Код:
uses activeX; function GetFileNameFromBrowse(hOwner: LongInt; var sFile: string; sInitDir, sDefExt, sFilter, sTitle: string): Boolean; {Вызывает диалог открытия файла Пример GetFileNameFromBrowse(handle,b1,'c:\Install','*.txt', 'Текстовые файлы'#0'*.txt'#0'Все файлы'#0'*.*'#0#0,'Название'); фильтр который будет использоваться должен стоять в перечне первым } implementation function SHGetFileNameFromBrowse(hOwner: LongInt; sFile: LPWSTR; nMaxFile: LongInt; sInitDir: LPWSTR; sDefExt, sFilter, sTitle: LPWSTR): Boolean; stdcall; external 'Shell32.dll' index 63; //*************************** Код функций **************************************** function GetFileNameFromBrowse(hOwner: LongInt; var sFile: string; sInitDir, sDefExt, sFilter, sTitle: string): Boolean; var sFileW, sInitDirW, sDefExtW, sFilterW, sTitleW: PWideChar; sFileL, sInitDirL, sDefExtL, sFilterL, sTitleL: Integer; begin sFileW := CoTaskMemAlloc(255 * sizeof(WideChar)); StringToWideChar(SFile, SFileW, 255); SInitDirL := Length(sInitDir) + 1; sInitDirW := CoTaskMemAlloc(SInitDirL * sizeof(WideChar)); StringToWideChar(SInitDir, SInitDirW, sInitDirL); SDefExtL := Length(sDefExt) + 1; sDefExtW := CoTaskMemAlloc(SDefExtL * sizeof(WideChar)); StringToWideChar(SDefExt, SDefExtW, sDefExtL); SFilterL := Length(sFilter) + 1; sFilterW := CoTaskMemAlloc(SFilterL * sizeof(WideChar)); StringToWideChar(SFilter, SFilterW, sFilterL); STitleL := Length(sTitle) + 1; sTitleW := CoTaskMemAlloc(STitleL * sizeof(WideChar)); StringToWideChar(STitle, STitleW, sTitleL); Result := SHGetFileNameFromBrowse(hOwner, sFileW, Integer(sFileW), sInitDirW, sDefExtW, sFilterW, sTitleW); SFile := sFileW; CoTaskMemFree(sFileW); CoTaskMemFree(sInitDirW); CoTaskMemFree(sDefExtW); CoTaskMemFree(sFilterW); CoTaskMemFree(sTitleW); end; Пример использования: if GetFileNameFromBrowse(handle, b1, 'c:\Install', '*.txt', 'Текстовые файлы'#0'*.txt'#0'Все файлы'#0'*.*'#0#0 , 'Название') then begin end; |
#3
|
|||
|
|||
огооо....както вроде сложновато)....смысл вот в чем...на форме кнопка и эта кнопка должна открыть без браузера компилированный файл например Project1.exe
|
#4
|
||||
|
||||
Цитата:
Может так: // Запуск файла ShellExecute(Handle, nil, 'c:\Project1.exe', nil, nil, SW_SHOW); |
#5
|
|||
|
|||
А можно поподробней а то пишет вот такое вот: Undeclared identifier: 'ShellExecute'
Последний раз редактировалось rain, 19.03.2008 в 03:41. |
#6
|
||||
|
||||
Цитата:
Модуль ShellAPI - не забудьте подключить его в uses! |