Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.20;
Скачать: 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 вся ветка

Текущий архив: 2003.03.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
14-64313
alexteam
2003-03-04 13:32
2003.03.20
код-антикод


1-64092
SkyQuake
2003-03-04 08:02
2003.03.20
Ключевое слово object


1-64055
Sector
2003-03-07 09:51
2003.03.20
Разные цвета в Memo


3-63958
Kurt_
2003-02-27 14:53
2003.03.20
если а одной транзакции (в Адо между BeginTransaction и CommitTra


1-64125
GrayWolf
2003-03-10 22:16
2003.03.20
Корректная выгрузка DLL