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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Возможно ли без кнопок, Нужна программа выполняемая без нажатия  
:(
    Опции темы
a715
Дата 23.9.2015, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Нужна консультация по Delphi. Искал поисковиками как написать программу
для выполнения команды:

WinExec ('copy_i_20.bat', SW_SHOW);

Все что нашел обычно пишут о выполнении программ по нажатию кнопки.
Мне нужен exe файл выполняемый без каких-либо кнопок. Просто стал
на него курсором, нажал enter-клавишу и все.

Возможно это на Delphi ? Если это не сложно, то напишите как ?
PM MAIL   Вверх
Агрох
Дата 23.9.2015, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: 1
Всего: 6



Возможно. Можно создать приложение без интерфейса и выполнение "WinExec ('copy_i_20.bat', SW_SHOW);" будет осуществляться при запуске приложения.
Только зачем это нужно? Не проще сразу запустить файл"copy_i_20.bat"?
--------------------
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
a715
Дата 23.9.2015, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



bat-файл к сожалению не подходит.  Приходится подбирать язык
на котором можно написать exe-файл. Попробовал VBA, не подошел. 
Проблема в том, что нужно за несколько дней решить это все.

На каком сайте почитать как это сделать. Или напишите строки,
которые надо написать сверху и снизу команды

WinExec ('copy_i_20.bat', SW_SHOW)

Скажите пожалуйста, можно ли текст bat-файла полностью перенести  в программу 
Delphi ? То есть команды DOS.

Это сообщение отредактировал(а) a715 - 23.9.2015, 10:38
PM MAIL   Вверх
Агрох
Дата 23.9.2015, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: 1
Всего: 6



Сам когда то давно один раз подобное делал.
Попробуй создать в Delphi консольное приложение "Console Application".
У тебя появится заготовка кода примерно следующего вида:
Код

program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

begin
  try
    { TODO -oUser -cConsole Main : Insert code here }
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.


Там где написано "{ TODO -oUser -cConsole Main : Insert code here }" попробуй просто прописать WriteLn('Hello, World!'); Вместо "Hello, World!" напиши свою команду.

Добавлено через 5 минут и 39 секунд
Не, так не прокатит. smile
Нужен совет знатоков.
--------------------
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
Alexeis
Дата 23.9.2015, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Цитата(Агрох @  23.9.2015,  12:25 Найти цитируемый пост)
Не, так не прокатит. 

  Почему не прокатит? Консоль не обязательно. Можно просто удалить из проекта форму и все.  Будет приложение без формы. Откроется выполнит код и закроется



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Агрох
Дата 23.9.2015, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: 1
Всего: 6



Цитата(Alexeis @  23.9.2015,  12:45 Найти цитируемый пост)
Почему не прокатит?


Я думал можно по тупому, через консольное приложение выполнить команду dos:
Код

WriteLn('C:\Work\P_StarrySky.exe');

Но он просто выводит текст.

А так да, в примере выше вместо "{ TODO -oUser -cConsole Main : Insert code here }" вставляешь WinExec ('copy_i_20.bat', SW_SHOW); и всё работает.
--------------------
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
a715
Дата 23.9.2015, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо, попробую сделать.
PM MAIL   Вверх
a715
Дата 23.9.2015, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Работает только Writeln("Hello word");

На команде Winexec не работает. 

Выдает сообщение:

Undeclared Identifier "WinExec"



Это сообщение отредактировал(а) a715 - 23.9.2015, 13:05
PM MAIL   Вверх
Агрох
Дата 23.9.2015, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: 1
Всего: 6



Выше, там где uses, через запятую добавь windows.
--------------------
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
a715
Дата 25.9.2015, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

program Project1;
{$APPTYPE CONSOLE}
{$R *.res}

uses, windows
  System.SysUtils;
begin
  try
    { TODO -oUser -cConsole Main : Insert code here }
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.


Так ?  Ошибку выдаёт:  Identifier expected, but "," not found.

Это сообщение отредактировал(а) Poseidon - 28.9.2015, 08:49
PM MAIL   Вверх
superVad
Дата 26.9.2015, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

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



Перед uses убери запятую, перед System.SysUtils - поставь.
Цитата(a715 @  25.9.2015,  15:19 Найти цитируемый пост)
uses windows, System.SysUtils;


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

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

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

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

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


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

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


 




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


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

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