Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.09.2010, 13:42
Adrenalin666 Adrenalin666 вне форума
Новичок
 
Регистрация: 21.09.2010
Сообщения: 94
Репутация: 16
По умолчанию ShellExecute

Код:
d: real;

begin
   d:=strTOfloat(copy(mess,1,length(mess)));
   ShellExecute(0,'open','cmd.exe','/c d','C:\Windows\system32\',SW_SHOW);
   result:=Pchar(' Выполненно! ');
   exit;
   end;
   end;
Admin: Не забываем правильно оформлять код!

ошибок нет, но я пишу команду к примеру rundll32 shell32,OpenAs_RunDLL это - Выводит окошко - "Открыть с помощью.."

он должен присваивать к переменной d и
сработать должно так
ShellExecute(0,'open','cmd.exe','/c rundll32 shell32,OpenAs_RunDLL','C:\Windows\system32\',SW_S HOW);

но почемуто не работает в тестировании программы

Последний раз редактировалось Admin, 21.09.2010 в 13:48.
Ответить с цитированием
  #2  
Старый 21.09.2010, 13:53
Аватар для eXplorer
eXplorer eXplorer вне форума
Активный
 
Регистрация: 06.08.2010
Адрес: Ярославль
Сообщения: 264
Версия Delphi: 7
Репутация: 14
По умолчанию

неработает:
выдает ошибку или что?
Ответить с цитированием
  #3  
Старый 21.09.2010, 13:55
Аватар для eXplorer
eXplorer eXplorer вне форума
Активный
 
Регистрация: 06.08.2010
Адрес: Ярославль
Сообщения: 264
Версия Delphi: 7
Репутация: 14
По умолчанию

у меня работает... подключи модуль ShellApi если он неподключен...
Ответить с цитированием
  #4  
Старый 21.09.2010, 13:59
Adrenalin666 Adrenalin666 вне форума
Новичок
 
Регистрация: 21.09.2010
Сообщения: 94
Репутация: 16
По умолчанию

в дельфи ошибки нет, сохраняется но я тестирую готовое и не срабатывает
Ответить с цитированием
  #5  
Старый 21.09.2010, 14:01
Adrenalin666 Adrenalin666 вне форума
Новичок
 
Регистрация: 21.09.2010
Сообщения: 94
Репутация: 16
По умолчанию

ShellApi подключен, просто я пишу допустим

rundll32 shell32,OpenAs_RunDLL

он подставить его под d должен и открыть мне, а он неясно почему не открывает если сразу поставить

ShellExecute(0,'open','cmd.exe','/c rundll32 shell32,OpenAs_RunDLL','C:\Windows\system32\',SW_S HOW);

тогда да работает
Ответить с цитированием
  #6  
Старый 21.09.2010, 14:10
Аватар для eXplorer
eXplorer eXplorer вне форума
Активный
 
Регистрация: 06.08.2010
Адрес: Ярославль
Сообщения: 264
Версия Delphi: 7
Репутация: 14
По умолчанию

у тебя d стоит вообще Real...
Так он у тебя не запустит...)
Ответить с цитированием
  #7  
Старый 21.09.2010, 14:13
Adrenalin666 Adrenalin666 вне форума
Новичок
 
Регистрация: 21.09.2010
Сообщения: 94
Репутация: 16
По умолчанию

нет, походу там d он не считает как переменную она в кавычках, я незнаю как её как переменную сделать там
Ответить с цитированием
  #8  
Старый 21.09.2010, 14:17
Аватар для eXplorer
eXplorer eXplorer вне форума
Активный
 
Регистрация: 06.08.2010
Адрес: Ярославль
Сообщения: 264
Версия Delphi: 7
Репутация: 14
По умолчанию

я вот так и понял... думаю тоже как))) невидит как переменную)))
Ответить с цитированием
  #9  
Старый 21.09.2010, 14:22
Adrenalin666 Adrenalin666 вне форума
Новичок
 
Регистрация: 21.09.2010
Сообщения: 94
Репутация: 16
По умолчанию

додумай скажи как)
Ответить с цитированием
  #10  
Старый 21.09.2010, 14:47
Аватар для eXplorer
eXplorer eXplorer вне форума
Активный
 
Регистрация: 06.08.2010
Адрес: Ярославль
Сообщения: 264
Версия Delphi: 7
Репутация: 14
По умолчанию

Можно в две переменные прописать:

Код:
var
d1:string;
d:string;
begin
d1:='/c';
d:='rundll32 shell32,OpenAs_RunDLL';
d1:=d1+d;
ShellExecute(0,'open','cmd.exe',Pchar(d1), 'C:\Windows\system32\',SW_SHOW);
end;

Последний раз редактировалось eXplorer, 21.09.2010 в 15:03.
Ответить с цитированием
  #11  
Старый 21.09.2010, 15:24
Adrenalin666 Adrenalin666 вне форума
Новичок
 
Регистрация: 21.09.2010
Сообщения: 94
Репутация: 16
По умолчанию

Pchar(d1) так выделять переменную?
Ответить с цитированием
  #12  
Старый 21.09.2010, 15:29
Adrenalin666 Adrenalin666 вне форума
Новичок
 
Регистрация: 21.09.2010
Сообщения: 94
Репутация: 16
По умолчанию

нет не хочет он мне кажется строки мы не склдываем
Ответить с цитированием
  #13  
Старый 21.09.2010, 15:39
Adrenalin666 Adrenalin666 вне форума
Новичок
 
Регистрация: 21.09.2010
Сообщения: 94
Репутация: 16
По умолчанию

begin
d:=Trim(copy(mess,1,length(mess)));
ShellExecute(0,'open','cmd.exe','/c' Pchar(d),'C:\Windows\system32\',SW_SHOW);
result:=Pchar(' Выплненно! ');

на это он выдает Not enough actual parameters
Ответить с цитированием
  #14  
Старый 21.09.2010, 15:53
Аватар для eXplorer
eXplorer eXplorer вне форума
Активный
 
Регистрация: 06.08.2010
Адрес: Ярославль
Сообщения: 264
Версия Delphi: 7
Репутация: 14
По умолчанию

я так пробовал... получилось только если строки сложить....
Ответить с цитированием
  #15  
Старый 21.09.2010, 15:56
Аватар для eXplorer
eXplorer eXplorer вне форума
Активный
 
Регистрация: 06.08.2010
Адрес: Ярославль
Сообщения: 264
Версия Delphi: 7
Репутация: 14
По умолчанию

надо пробел поставить после /с...
Код:
var
d1:string;
d:string;
begin
d1:='/c'+' ';
d:='rundll32 shell32,OpenAs_RunDLL';
d1:=d1+d;
ShellExecute(0,'open','cmd.exe',Pchar(d1), 'C:\Windows\system32\',SW_SHOW);
end;

ДОЛЖНО БЫТЬ ПРАВИЛЬНО...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:37.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter