Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.24;
Скачать: CL | DM;

Вниз

Как вызвать и обработать стандартный диалог открытия файлов?   Найти похожие ветки 

 
kalexi   (2008-08-02 22:47) [0]

Сабж. Понял, что необходимо использовать функцию GetOpenFileName, но как не понял.
Мне нужно обьявить эту функцию, вызвать и вернуть путь к файлу. А также понять что за структура OPENFILENAME.

Нашел следующий код (правилен ли он я не знаю так как не сумел проверить из за неизвестного типа OPENFILENAME):

var
ofn : OPENFILENAME;
begin
ZeroMemory(@ofn, sizeof(OPENFILENAME));
with ofn do
  begin
    lStructSize:=sizeof(OPENFILENAME);
    lpstrInitialDir:="c:\windows";
    lpstrTitle:="Choose Any File";
    nMaxFile:=255;
    lpstrFile:=VirtualAlloc(0, 255, MEM_COMMIT, PAGE_READWRITE);
    lpstrFilter:="Win32 Executables"+#0+"*.exe"+#0+"All file types"#0+"*.*"+#0#0;
    Flags:=OFN_FILEMUSTEXIST + OFN_HIDEREADONLY + OFN_PATHMUSTEXIST;
  end;

if GetOpenFileName(ofn) then
  MessageBox(0, ofn.lpstrFile, nil, MB_OK);
VirtualFree(ofn.lpstrFile, 0, MEM_RELEASE);


Объявлять кажется так:
function GetOpenFileName(lpofn: pointer): integer; stdcall; external "comdlg32.dll" name "GetOpenFileNameA";

Правильно ли и как обьявить структуру OPENFILENAME?


 
Сергей М. ©   (2008-08-02 23:11) [1]


> из за неизвестного типа OPENFILENAME


Подключи в uses юнит CommDlg и удивись - все гениальное изобретено до нас


 
kalexi   (2008-08-02 23:38) [2]

Блин, дурак, сори...


 
ЧИкАго   (2008-11-22 02:23) [3]

Благодарю! Код работает нормально использовал в своей программе. Пишу "Помошник БУГАЛТЕРА". Счастливо...


 
Leonid Troyanovsky ©   (2008-11-22 11:06) [4]

Удалено модератором


 
ЧИкАго   (2008-11-23 14:26) [5]

Удалено модератором


 
Leonid Troyanovsky ©   (2008-11-24 09:12) [6]

Удалено модератором


 
ЧИкАго   (2008-11-24 17:20) [7]

Удалено модератором


 
ЧИкАго   (2008-11-24 17:27) [8]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2010.01.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.007 c
15-1258916708
antonn
2009-11-22 22:05
2010.01.24
Аптайм сервера, долгий uptime


15-1258750559
XXL
2009-11-20 23:55
2010.01.24
Про второй смысл в развлекательных медиа


15-1258446035
_
2009-11-17 11:20
2010.01.24
Довлоадеры. Какой выбрать?


2-1258096612
xtd
2009-11-13 10:16
2010.01.24
почему в TWebBrowser не работает JavaScript ?


2-1260029047
Danco
2009-12-05 19:04
2010.01.24
TPopumMenu и TButton