Вниз
Скачать: CL | DM;

Стандартные диалоги Открыть/Сохранить файл...   Найти похожие ветки 

 
Nimda   (2002-10-25 15:26) [0]

Как на WinApi вызвать стандартное окно Открытия/Сохранения файла и получить от него имя выбранного/сохраненного файла? Небольшой пример очень приветствуется :)
Заранее спасибо!


 
k ©   (2002-10-25 15:58) [1]

конечно пример не приведу, в универе я

но посмотрите хелп по ф-циям GetOpenFileName и
GetSaveFileName(какая-то структура);

делает тоже самое, что SaveDialog.Execute
а имя файла можно достать из структур туда передаваемой....


 
Nimda   (2002-10-25 16:13) [2]


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-26 12:36) [3]

я вчера поставил эксперимент:

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




 
Nick N A   (2002-10-27 08:05) [4]

Зачем придумывать велосипед ?
пишешь FileOpenDialog1.Execute,
нажимаешь Ctrl + Нажимаешь на слово Execute мышкой,
и изучаешь исходник. можешь скопировать его,
класс обьявить выше чем TFORM, и выбрасывать ненужное.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
1-28116
Starkom
2002-11-28 14:32
2002.12.09
Как отследить момент выгрузки BDE?


1-27966
u96
2002-11-27 18:06
2002.12.09
Таймер с мааленьким интервалом. Как?


14-28296
teebot
2002-11-11 10:51
2002.12.09
Посоветуйте беcплатный хостинг с поддержкой CGI.


1-28040
Cranium
2002-11-30 10:33
2002.12.09
Последовательный запуск программ


1-28048
maxval
2002-11-30 14:48
2002.12.09
Как в DateTimePicker записать дату в формате год/месяц/год?




   Наверх