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

Как открыть файл?   Найти похожие ветки 

 
ден555 ©   (2003-03-08 14:34) [0]

Здравствуйте!
Недавно начал изучать Delphi и упёрся в вопрос:
допустим,при нажатии на button1 должен открыться файл (x.exe)

procedure TForm1.Button1Click(Sender: TObject);
begin
???
end;

А что надо вставить вместо ??? ?
Заранее спасибо!


 
Palladin ©   (2003-03-08 14:36) [1]

как открытся?


 
X3coder   (2003-03-08 14:43) [2]

ShellExecute() чтоли??


 
Anatoly Podgoretsky ©   (2003-03-08 14:54) [3]

Зачем открывать и для чего?


 
Романов Р.В. ©   (2003-03-08 15:03) [4]

Консервным ножом. Но закусывать лучше огурцами.


 
MAN-In-RED ©   (2003-03-08 15:06) [5]

if ShellExecute(0,nil,{1} ,{2} ,{3} , 1)<32 then
ShowMessage("Error!");
// Если файл не найден, или не может быть открыт...

// 1: Имя файла, пример: "notepad.exe";
// 2: Параметры, пример: "C:\WINDOWS\win.ini";
// 3: Директория в которой он находится, пример: "c:\windows";

Если нужно именно открыть файл, а не загрузить в TMemo, для примера...


 
Intell ©   (2003-03-08 15:19) [6]

16 и 32 разрядный вызов (работает на разных операционных системах)

procedure TForm1.Button1Click(Sender: TObject);
begin
winexec(pchar("notepad.exe"),sw_shownormal);
end;



Есть другой способ - 32 разрядный (работает только под Windows, но быстрее предыдущего)

добавляем модуль ShellAPI в USES

procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Handle,nil,PChar("notepad.exe"),nil,nil,SW_ShowNormal);
end;



Ещё один способ - открывает не только *.exe файлы, как предыдущие, а открывает по маске

добавляем модуль ShellAPI в USES

procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Application.Handle, "open", "C:\мои документы\Doc1.doc", nil, nil, sw_ShowNormal);
end;



Другой способ - открывает ссылки в инет:

добавляем модуль ShellAPI в USES

procedure TForm1.Label1Click(Sender: TObject);
begin
ShellExecute(0, "open", " http://www.pl-computers.ru", "", "", SW_Show);
end;

открывает ссылки Email:
procedure TForm1.Label1Click(Sender: TObject);
begin
ShellExecute(0, "open", "mailto:sergein@nojabrsk.ru", "", "", SW_Show);
end;


Другой способ: (Не забудьте добавить Shellapi в Uses)

function ExecuteFile(const FileName, Params, DefaultDir: string; ShowCmd: Integer): THandle;
var
zFileName, zParams, zDir: array[0..79] of Char;
begin
Result := ShellExecute(Application.MainForm.Handle, nil,
StrPCopy(zFileName, FileName), StrPCopy(zParams, Params),
StrPCopy(zDir, DefaultDir), ShowCmd);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
ExecuteFile("maker.exe","text_file","c:\maker", SW_SHOWNORMAL);
end;

Intell
sergein@nojabrsk.ru



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

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



Память: 0.46 MB
Время: 0.011 c
1-64080
mixamixa
2003-03-10 07:38
2003.03.20
Как вывести на принтер содержимое StringGrid1?


1-64116
zolotov
2003-03-10 23:33
2003.03.20
Коды клавиш


6-64252
kingdom
2003-01-29 17:45
2003.03.20
Как добавить группу в группу?


1-64053
xZero
2003-03-07 01:01
2003.03.20
Ф-ии в разных модулях...


3-63942
AtoL
2003-03-03 15:26
2003.03.20
Программный backup БД




   Наверх