![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
GetOpenFileName [D6, WinXP]
anod © (2002-08-22 18:00:00)Почему-то ничего не происходит:
function OpenFiles(Handle: HWND):TStrings;
var ofn: TOPENFILENAME; files:PCHAR; i:integer;
begin
With ofn do begin
lStructSize:=SizeOf(TOPENFILENAME);
hWndOwner:=Handle;
nFilterIndex:=1;
lpstrFilter:="MPEG Layer-3\0*.mp3\0";
lpstrFile:=files;
nMaxFile:=sizeof(files);
lpstrInitialDir:="C:\";
lpstrTitle:="Выбирите файлы:";
lpstrDefExt:="mp3";
Flags:=OFN_ALLOWMULTISELECT or OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST;
end;
if GetOpenFileName(ofn) then begin
...
end;
end;
anod (2002-08-23 21:16:00) [1]Хмм, ладно, все равно не работает, зато я подключил dialogs и создаю TOpenDialogs - отлично работает.
Eugen Honeker (2002-08-23 02:01:00) [2]мне тут сразу три ошибки в глаза бросились:
1.
fileName : PChar;
...
lpstrFile:= fileName;
а кто памать то резервировать будет?
провильно было бы:
fileName: array[0..MAX_PATH-1]of char;
...
lpstrFile:= fileName;
2.
lpstrInitialDir:= "C:\\"; это наверно с си передрато?
для паскалэ хватит"C:\";
3.
lpstrFilter:="MPEG Layer-3|*.mp3";
провильно было бы:
lpstrFilter:="MPEG Layer-3"#0"*.mp3";
anod (2002-08-22 21:07:00) [3]Скачал с интернета пример:
function OpenFiles(Handle: HWND):TStrings;
var
OpenFile : OPENFILENAME;
fileName : PChar;
begin
fileName := "";
With OpenFile do begin
lStructSize:= SizeOf(OPENFILENAME);
hwndOwner:=GetActiveWindow();
lpstrFile:= fileName;
nMaxFile:= 255;
lpstrFilter:="MPEG Layer-3|*.mp3";
nFilterIndex:= 1;
lpstrTitle:="Выбирите файлы:";
lpstrInitialDir:= "C:\\";
Flags:=OFN_EXPLORER or OFN_ALLOWMULTISELECT or OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST;
end;
if ( GetOpenFileName(OpenFile) ) then MessageBox(0,fileName, "NotCancel",MB_OK)
else MessageBox(0,"Cancel Pressed!", "NotCancel",MB_OK);
end;
Выдает "Cancel Pressed!"
Мроже можно как-нибудь по другому выбирать файлы???
anod (2002-08-22 18:26:00) [4]files:="";
Никак не помогает, диалог даже не отображается.
Игорь Шевченко (2002-08-22 18:07:00) [5]а files переменную будем иницализировать или как ?