Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2010.01.24;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2010.01.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
1-1228253040
asail
2008-12-03 00:24
2010.01.24
Не рабтает смена лотка в QuickReport


3-1233646344
Sergey2
2009-02-03 10:32
2010.01.24
неверно отображаются записи в таблице


9-1184091410
Evgraf
2007-07-10 22:16
2010.01.24
D3DXLoadMeshFromX не может найти файл меша в .x формате


15-1258368049
stas
2009-11-16 13:40
2010.01.24
TWebBrowser


15-1258839016
Юрий
2009-11-22 00:30
2010.01.24
С днем рождения ! 22 ноября 2009 воскресенье





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский