![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ничего не понимаю.... [D5, Win2k]
Tornado © (2002-10-29 21:34:00)Подскажите плиз...Есть форма, на ней 3 радиобутона и кнопка ОК. Под кнопкой код:
procedure TfrmMain.btnOKClick(Sender: TObject);
begin
if rbSave.Checked then begin
file_name := ExtractFilePath(paramstr(0)) + "Bat\makapt15.bat";
ShellExecute(Handle,"open",PChar(file_name),nil,nil,SW_SHOW);
end ;
if rbAnaliz.Checked then begin
file_name := ExtractFilePath(paramstr(0)) + "Bat\makapt18.bat";
ShellExecute(Handle,nil,PChar(file_name),nil,nil,SW_SHOW);
end;
if rbReclaim.Checked then
file_name := ExtractFilePath(paramstr(0)) + "Bat\makapt20.bat";
ShellExecute(Handle,nil,PChar(file_name),nil,nil,SW_SHOW); }
end;
Вообщем в зависимости от выбраного радиобутона нужно выполнить соответствующий файл. Только проблема: при выбере 1 радиобутона выполняются почему-то сразу два БАТ-файла, при выборе второго - тоже два и только когда выбираю третий радиобутон выполняется нормально положенный файл...Почему это?
Separator (2002-10-30 11:36:00) [1]
procedure TfrmMain.btnOKClick(Sender: TObject);
begin
file_name:= ExtractFilePath(ParamStr(0)) + "Bat\";
if rbSave.Checked then
file_name:= file_name + "makapt15.bat"
else if rbAnaliz.Checked then begin
file_name:= file_name + "makapt18.bat"
else if rbReclaim.Checked then
file_name:= file_name + "makapt20.bat";
ShellExecute(Handle,nil,PChar(file_name),nil,nil,SW_SHOW); }
end;
> Nomad.kz (30.10.02 09:58
functionExtractFilePath(const FileName: string): string- Возвращает путь к каталогу (включая указание диска и слэш перед именем файла), вырезанный из строки с полным именем файла FileName.
Nomad.kz (2002-10-30 09:58:00) [2]вдогонку, извиняюсь, смотрю в книгу, а вижу фигу. ExtractFilePath в упор не видел :-))
Nomad.kz (2002-10-30 09:57:00) [3]меня смущает эта строка:
file_name := ExtractFilePath(paramstr(0)) + "Bat\makapt15.bat";
непонятная какая-то. получается, что выполняется батник c:\tralala\prj.exe Bat\makapt15.bat
Lord Warlock (2002-10-30 09:57:00) [4]procedure TfrmMain.btnOKClick(Sender: TObject);
begin
...
if rbReclaim.Checked then
begin
file_name := ExtractFilePath(paramstr(0)) + "Bat\makapt20.bat";
ShellExecute(Handle,nil,PChar(file_name),nil,nil,SW_SHOW);
end
end;
Tornado (2002-10-30 09:45:00) [5]> Separator © (30.10.02 08:44)
Пробовал - тоже самое
> iNew (30.10.02 08:46)
Begin есть на самом деле, я здесь его вписать забыл просто, пробовал по-разному, и с begin и без....все одно
iNew (2002-10-30 08:46:00) [6]А это случайно не потому-что после 3-го if rbReclaim.Checked then нету
begina.
Separator (2002-10-30 08:44:00) [7]Попробуй использовать не RadioButton, а RadioGroup
Tornado (2002-10-30 08:38:00) [8]> Song © (30.10.02 08:28)
Спасибо, я попробую, но все таки не могли бы Вы подсказать характер этой ошибки, из-за чего она возникает. Если не сложно.
Song (2002-10-30 08:28:00) [9]Ошибка не здесь.
Если не хотите искать поставьте после первых двух ShellExecut"ов Exit