Вниз
Скачать: 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.013 c
6-64261
tararasyk
2003-01-31 12:14
2003.03.20
Два WinSock Server на одном порту ?


6-64273
Rock@for
2003-01-29 17:21
2003.03.20
Аналог nes send ... на Delphi 5


3-63988
Ольга
2003-02-26 15:59
2003.03.20
как лучше создавать связанные таблицы


1-64214
Adolf
2003-03-09 10:46
2003.03.20
Code


14-64299
Мазут Береговой
2003-03-03 23:02
2003.03.20
Сколько соток в гектаре?




   Наверх