Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Совмещение функций в одну... [D3, Win95/98]


stupid ©   (2002-05-27 15:31:00) 

У меня на форме в компонент Memo1 выводиться командная строка. Ее запись меняться после каждого щелканья пользователем по компонентам RadioButton, CheckBox. По нажатию на кнопку Button4 дожно происходить тоже самое, только нужно, чтобы еще запускался процесс ShellExecute. Мне пришлось создать две функции - одна для отображения действий в командной строке, другая - для отображения действий в командной строке и для запуска процесса. Как можно использовать одну функцию и для того и для другого процессов?

//Функция для отображения действий в командной строке:
procedure CommandLine;
var
Level, L, Overley, O, Resurs, R, CExports, E, SRelocs, T, Backup, B, TmpStr : String;
begin
if Form1.CheckBox3.Checked then
R := "-q "
else
begin
if Form1.RadioButton3.Checked then
R := "-r ";
if Form1.RadioButton5.Checked then
R := "-e ";
if Form1.RadioButton6.Checked then
R := "-y ";
end;
SRelocs := R;
TmpStr := SRelocs + GetShortFileName(PChar(Form1.OpenDialog1.FileName));
Form1.Memo1.Text := "Имя_внешнего_файла.exe"+ TmpStr;
end;
end;

//Функция для отображения действий в командной строке и запуска процесса:
procedure ExecuteFile;
var
Level, L, Overley, O, Resurs, R, CExports, E, SRelocs, T, Backup, B, TmpStr : String;
begin
if Form1.CheckBox3.Checked then
R := "-q "
else
begin
if Form1.RadioButton3.Checked then
R := "-r ";
if Form1.RadioButton5.Checked then
R := "-e ";
if Form1.RadioButton6.Checked then
R := "-y ";
end;
SRelocs := R;
TmpStr := SRelocs + GetShortFileName(PChar(Form1.OpenDialog1.FileName));
Form1.Memo1.Text := "Имя внешнего файла.exe"+ TmpStr;

//Запуск внешнего процесса
ShellExecute(Application.Handle,"open","Имя_внешнего_файла.exe",PChar(TmpStr),nil,SW_SHOW);

end;
end;


Andrey007   (2002-05-27 15:47:00) [1]

Самое простое - изменить процедуру ExecuteFile так:

procedure ExecuteFile;
var TmpStr: String
begin
CommandLine;
ShellExecute(Application.Handle,"open","Имя_внешнего_файла.exe",PChar(TmpStr),nil,SW_SHOW)
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо