Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как запустить файл? 
:(
    Опции темы
Kbl4AH
Дата 26.12.2008, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



У меня есть файл qwerty.bat. Подскажите, пожалуйста, как его запустить из программы Delphi?
Или есть какая-нибудь команда для командной строки, как ее выполнить из Delphi?

Это сообщение отредактировал(а) Kbl4AH - 26.12.2008, 11:55
PM MAIL ICQ   Вверх
Akella
Дата 26.12.2008, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 8
Всего: 329



ShellExec
PM MAIL   Вверх
Frees
Дата 26.12.2008, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 16
Всего: 54



WinExec не подойдет?


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Akella
Дата 26.12.2008, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 8
Всего: 329



CreateProcess

Добавлено через 25 секунд
Цитата(Frees @  26.12.2008,  12:02 Найти цитируемый пост)
WinExec

устаревшая, лучше её не использовать

Добавлено через 3 минуты и 13 секунд
Код

ShellExecute(Application.Handle,'open',PAnsichar(sFileName),'query.txt',PAnsiChar(sPath),SW_HIDE);

в 98ой винде могут быть проблемы
PM MAIL   Вверх
Kbl4AH
Дата 26.12.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



Цитата(Kbl4AH @  26.12.2008,  11:53 Найти цитируемый пост)
есть какая-нибудь команда для командной строки, как ее выполнить из Delphi?

а реализация этого?
PM MAIL ICQ   Вверх
Frees
Дата 26.12.2008, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 16
Всего: 54



Код

procedure ExecCmdline(const CmdLine: string; CmdResult: TStrings);

var

Output: PIOFile;

Buffer: PChar;

TempString: string;

Line: string;

BytesRead: Integer;

 

const

BufferSize: Integer = 1000;

 

begin

Output := popen(PChar(CmdLine), 'r');

GetMem(Buffer, BufferSize);

if Assigned(Output) then

try

   while feof(Output) = 0 do

   begin

     BytesRead := Libc.fread(Buffer, 1, BufferSize, Output);

     SetLength(TempString, Length(TempString)+BytesRead);

     memcpy(@TempString[length(TempString)-(BytesRead-1)], Buffer, BytesRead);

     while Pos(#10, TempString) > 0 do

     begin

       Line := Copy(TempString, 1, Pos(#10, TempString)-1);

       if CmdResult<>nil then CmdResult.Add(Line);

       TempString := copy(TempString, Pos(#10, TempString)+1, Length(TempString));

     end;

   end;

finally

   Libc.pclose(output);

   wait(nil);

   FreeMem(Buffer,BufferSize);

end;

end;

DRKB©


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
THandle
Дата 26.12.2008, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



Kbl4AH, бойан smile 

Юзай CreateProcess, как нить так:
Код


procedure TForm1.Button1Click(Sender: TObject);
var
  pi: TProcessInformation;
  si: TStartupInfo;
begin
  ZeroMemory(@si, SizeOf(si));
  si.cb := SizeOf(si);
  if CreateProcess(nil, 'C:\1.bat', nil, nil, false, 0, nil, nil, si, pi) then
  begin
    //что то там...
    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);
  end;
end;


А вообще таких тем было миллион. Поиск рулит.
PM   Вверх
Kbl4AH
Дата 26.12.2008, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



Спасибо!
Цитата(THandle @  26.12.2008,  12:17 Найти цитируемый пост)
А вообще таких тем было миллион. Поиск рулит.

Ну, хз, "а здесь смотрели?" не помогло, по крайне мере...
PM MAIL ICQ   Вверх
bems
Дата 26.12.2008, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 18
Всего: 88



THandle, ты это для батника проверял?


--------------------
Обижено школьников: 8
PM MAIL   Вверх
THandle
Дата 26.12.2008, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



bems, да, работает.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0530 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.