![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Объявление переменной
Mariya © (2007-10-05 14:26:00)btn.OnClick:=ButtonClick1;
Procedure TForm1.ButtonClick1(Sender: TObject);
begin
ShellExecute(handle, nil, 'winword.exe', NiL, NiL, SW_SHOWNORMAL);
end;
Подскажите, как winword.exe объявить переменной и написать в программе, чтобы в ини файле можно было менять, например на Excel.
Mariya (2007-10-05 15:41:00) [1]Спасибо, большое, Вы очень доступно все объяснили, буду пробывать!!!
Kolan (2007-10-05 15:37:00) [2]И там где ты кнопки создаешь пиши:
Btn := TMyButton.Create( );
Btn.Program :=
Kolan (2007-10-05 15:35:00) [3]Имхо, ты не так придумала.
Надо так, имхо:
В ини есть секция
[Programs]
Prog1=Word
Prog2=Excel
А потомты читаешь эту секцию и для каждой строчкигенеришь кнопку.
А обработчик им назначаешь 1 и то же всем кнопкам.
И вот чтобы в обработчике вызвать нужную прогу, тебе надо ассоциировать(связать) кнопку со строкой.
Я бы сделал так:
Сделал бы наследника кнопки:
TMyButton = class(TButtn)
private
FProgram: string;
public
property Program: string read FProgram write FProgram;
end;
А обработчик такой:
Procedure TForm1.ButtonClick1(Sender: TObject);
begin
if Sender is TMyButton then
ShellExecute(handle, nil, (Sender as TMyButton).Program, NiL, NiL, SW_SHOWNORMAL);
end;
Mariya (2007-10-05 15:24:00) [4]Спасибо, но не поняла где теперь писать название программы, которая должна открыться в ини? а как правильно писать?
Ping (2007-10-05 14:32:00) [5]WinWordStr: string;
ShellExecute(handle, nil, PChar(WinWordStr), NiL, NiL, SW_SHOWNORMAL);