Главная страница
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.012 c
1-64117
mmmh
2003-03-11 00:02
2003.03.20
как сделать так чтобы комбо бох не закрывался пока не сделан выбо


3-63998
VIB
2003-02-27 12:36
2003.03.20
DBGrid


1-64124
KpeHgeJIb
2003-03-10 23:47
2003.03.20
Подскажите универсальный способ закрытия приложения


3-63965
den2002
2003-02-27 11:12
2003.03.20
Float conversion failed


14-64320
Leon crom
2003-03-03 11:05
2003.03.20
---|Ветка была без названия|---