Главная страница
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.015 c
15-1258742459
POOP
2009-11-20 21:40
2010.01.24
Djvu просмоторщик для мобильника?


2-1259347319
Palalord
2009-11-27 21:41
2010.01.24
Инсталятор для своей программы


11-1210487732
=BuckLr=
2008-05-11 10:35
2010.01.24
Скрыть каретку в richedit НАПРОЧЬ


15-1258555427
Германн
2009-11-18 17:43
2010.01.24
Что-то я запамятовал.


3-1233568415
cyborg
2009-02-02 12:53
2010.01.24
Компонент TDBLookumComboBox