Главная страница
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.011 c
4-1227216337
demon
2008-11-21 00:25
2010.01.24
Количество Items на помещаеться


2-1259714074
Восьмой
2009-12-02 03:34
2010.01.24
Латышский язык


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


2-1259665917
Xmen
2009-12-01 14:11
2010.01.24
Доступ к папкам через сеть


2-1259955488
Nostalgia
2009-12-04 22:38
2010.01.24
Класс human - помогите пожалуйста доработать