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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.07.2012, 20:58
true true вне форума
Новичок
 
Регистрация: 03.10.2010
Сообщения: 64
Репутация: 10
По умолчанию WinExec и цикл

Приветствую, подскажите пожалуста что здесь не так?

Код:
var
  str:TStringList;
  i:integer;
begin
  str:=TStringList.Create;
  str.LoadFromFile('prompt.txt');
  for i:= 0 to str.Count - 1 do
  WinExec(PANSIChar(str.Strings[i]),SW_SHOW);

Код выполняется но команды не выполняются что прописаны в prompt.txt
Ответить с цитированием
  #2  
Старый 03.07.2012, 21:26
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

WinExec - стремная функция, используй ShellExecute.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение:
true (04.07.2012)
  #3  
Старый 03.07.2012, 21:42
true true вне форума
Новичок
 
Регистрация: 03.10.2010
Сообщения: 64
Репутация: 10
По умолчанию

Я немного разобрался, в Delphi 7 все пошло нормально, а ShellExecute помоему тяжелая функция, да и пробывал с ней не все получалось. я хочу сделать типа своей командной строки, чтобы юзеров не смущать черными окошками, есть смысл отлавливать окна командной строки или есть более нормальный способ?
Ответить с цитированием
  #4  
Старый 03.07.2012, 22:16
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 297
Репутация: -1806
По умолчанию

Цитата:
Сообщение от true
я хочу сделать типа своей командной строки, чтобы юзеров не смущать черными окошками
чозабред, настрой чтоб были белыми раз смущают черные
Ответить с цитированием
  #5  
Старый 04.07.2012, 10:05
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Чорные окошки - это консольные приложения.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение:
true (04.07.2012)
  #6  
Старый 04.07.2012, 10:19
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

Цитата:
ShellExecute помоему тяжелая функция
вроде этого можно
Код:
procedure run(filename: string; para: string = ''; dir: string = '');
  function pchar2(s: string): pchar;
  begin
    if s = '' then
      result := nil
    else
      result := pchar(s);
  end;
begin
  ShellExecute(0, 'open', PChar(filename), pchar2(para), pchar2(dir), SW_SHOWNORMAL);
end;
Ответить с цитированием
Этот пользователь сказал Спасибо Pyro за это полезное сообщение:
true (04.07.2012)
  #7  
Старый 04.07.2012, 10:29
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Вообще правильнее было бы вызывать CreateProcess.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение:
true (04.07.2012)
  #8  
Старый 04.07.2012, 10:35
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 297
Репутация: -1806
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Чорные окошки - это консольные приложения.
я про них и писал
Ответить с цитированием
  #9  
Старый 04.07.2012, 14:53
true true вне форума
Новичок
 
Регистрация: 03.10.2010
Сообщения: 64
Репутация: 10
По умолчанию

Спасибо за ответы, еще один вопросик, можно ли узнать завершила ли коммандная строка действие, если завершила то пустить дальше цикл?
Ответить с цитированием
  #10  
Старый 04.07.2012, 14:59
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

CreateProcess / WaitForSingleObject
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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