![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Стандартные диалоги Открыть/Сохранить файл... [D6, Win95/98]
Nimda © (2002-10-25 15:26:00)Как на WinApi вызвать стандартное окно Открытия/Сохранения файла и получить от него имя выбранного/сохраненного файла? Небольшой пример очень приветствуется :)
Заранее спасибо!
Nick N A (2002-10-27 08:05:00) [1]Зачем придумывать велосипед ?
пишешь FileOpenDialog1.Execute,
нажимаешь Ctrl + Нажимаешь на слово Execute мышкой,
и изучаешь исходник. можешь скопировать его,
класс обьявить выше чем TFORM, и выбрасывать ненужное.
k (2002-10-26 12:36:00) [2]я вчера поставил эксперимент:
uses CommDlg;
procedure TForm1.Button1Click(Sender: TObject);
var OFStruct:OPENFILENAME;
begin
ZeroMemory(@OFStruct,SizeOf(OFStruct));
OFStruct.lStructSize := SizeOf(OFStruct);
GetOpenFileName(OFStruct);
end;
и диалог показался......
щас у меня D5 и WinXP
а когда я писал под Win98 (давно это было)
я устанавливал в поле lFlags бит OFN_EXPLORER
Nimda (2002-10-25 16:13:00) [3]
program dialog;
uses
Windows,
CommDlg;
var
f: OPENFILENAME;
filename : string;
begin
ZeroMemory(@f, sizeof(OPENFILENAME));
f.lStructSize := sizeof(OPENFILENAME);
f.hwndOwner := 0;
f.lpstrFilter := nil;
f.lpstrFile := PChar(filename);
f.nMaxFile := MAX_PATH;
if GetOpenFileName(f) then
MessageBox(0, PChar(filename), "", mb_ok);
end.
Теперь возникла другая проблема - диалог не показывается :( Что делать???
k (2002-10-25 15:58:00) [4]конечно пример не приведу, в универе я
но посмотрите хелп по ф-циям GetOpenFileName и
GetSaveFileName(какая-то структура);
делает тоже самое, что SaveDialog.Execute
а имя файла можно достать из структур туда передаваемой....