Форум: "Начинающим";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];
ВнизЗакрыть окно консоли в Delphi Найти похожие ветки
← →
NovaC (2006-11-27 04:19) [0]День добрый!
Если кто знает помогите пожалуста!
Как в консольном приложении в Delphi
закрыть это самое окно консоли для того чтобы программа работала в фоновом режиме
и как посредством Delphi добавлять и убирать программу в атозагрузку так
чтобы это работало в win98-2000-xp ?
Заранее спасибо за ответ . . .
← →
Сергей М. © (2006-11-27 08:24) [1]Какое отношение это имеет к "Сетям" ?
← →
Cawa © (2006-11-27 08:36) [2]Вы хоть видели где размещали свой вопрос?!!!!
Конференция "Сети" - любые вопросы связанные с программированием сетей и для Интернета.
Если тебе нухно чтобы твоя программа работала без каких либо окон, то просто их не создавай!!!
Вот тебе простой пример:
program InvisibleBeep;
uses SysUtils;
var i:integer;
begin
for i:=1 to 1000 do
begin
beep;
end;
end.
как видишь - ни форм, ни {$APPTYPE CONSOLE}
прописывай необходимые модули создавай поток и радуйся жизни.
И еще одно насчет автозагрузки, прежде чем просто задавать вопрос ради того чтобы тебе на него ответели - рекомендую воспользоваться поисковыми системами. Если бы ВЫ поискали то уже бы знали ответ, а не ждали его!!!!
Счастливого Вам перемещения!!!:))
← →
NovaC (2006-11-27 12:04) [3]программа сбрасывает на ftp файлы.
интерфейс через консольное окно, но мне нужно сделать так чтобы при запуске скажем с параметром /auto программа не открывала консольное окно, а загружалась в фоновом режиме и при изменении файла сбрасывала его на ftp.
Для автозагрузки есть несколько вариантов. Но я не уверен какой лучше в плане совместимости с размыми WIN.
И хотель бы ещё узнать:
На сколько правильно в консольном приложении добавлять форму только для того чтобы положить на неё TIdFTP ???
Как с помощью TIdFTP.PUT закидывать несколько файлов ???
Можно ли как-то по другому без TIdFTP реализовать в консольном приложении сброс одновременно нескольких файлов на FTP ???
Заранее спасибо за ответ . . .
← →
Сергей М. © (2006-11-27 12:09) [4]
> На сколько правильно в консольном приложении добавлять форму
> только для того чтобы положить на неё TIdFTP ?
Форма для этого совершенно не нужна.
> Как с помощью TIdFTP.PUT закидывать несколько файлов ?
Последовательно вызывая put().
> Можно ли как-то по другому без TIdFTP реализовать в консольном
> приложении сброс одновременно нескольких файлов на FTP
> ?
Можно.
← →
NovaC (2006-11-27 12:41) [5]Может я задаю совсем тупые вопросы, но хотелось бы поподробнее!?
Если форма не нужна - то как сделать это без неё???
Хотя бы в общих чертах!
Т.Е. за один вызов PUT копирует только один файл?
Какая есть альтернатива для того чтобы работать хотя бы с двумя файлами?
Если без без TIdFTP, то тогда как?
← →
Anatoly Podgoretsky © (2006-11-27 12:52) [6]> NovaC (27.11.2006 12:41:05) [5]
Если форма не нужна то просто не делай форму.
← →
alex810 © (2006-11-27 12:56) [7]Нашел у себя в справочнике не знаю работает
Консольные приложения Win32 запускаются в командном окне. Для того, чтобы консольное приложение могло определить когда консоль закрывается, надо зарегистрировать консольный обработчик управления и в выражении case искать следующие значения:
CTRL_CLOSE_EVENT Пользователь закрывает консоль
CTRL_LOGOFF_EVENT Пользователь завершает сеанс работы (log off)
CTRL_SHUTDOWN_EVENT Пользователь выключает систему (shut down)
Как это делается, можно посмотреть в примере CONSOLE. Более подробную информацию можно посмотреть в руководстве Win32 application programming interface (API) в разделе SetConsoleCtrlhandler().
← →
Cawa © (2006-11-27 13:20) [8]Для того чтобы работать с компонентом TIdFTP (или с каким либо другим) нужно:
1- подключить нужный модуль (Uses IdFTP,еще какой нибудь модуль...)
2- описать переменную var MyFTP:TIDFTP;
3- осуществить выделение памяти и инициализацию необходимых для работы данных (в классах обычно для этого используют конструктор), поэтому пишем MyFTP:=TIDFTP.Create(nil); (по завершению работы не забываем убирать мусор MyFTP.Free;)
← →
Сергей М. © (2006-11-27 13:23) [9]
> как сделать это без неё?
MyIdFTP := TIdFTP.Create(nil);
try
.. работат с MyIdFTP ..
finally
MyIdFTP.Free;
end;
> за один вызов PUT копирует только один файл?
Увы и ах)
> Какая есть альтернатива для того чтобы работать хотя бы
> с двумя файлами?
Последоввательный вызов put() чем плох ?
> Если без без TIdFTP, то тогда как?
А чем плох TIdFTP ?
← →
NovaC (2006-11-27 13:28) [10]с этим теперь понятно. спасибо
А всё-таки какая есть альтернатива TIdFTP.PUT
для копирования нескольких файлов, чтобы не вызывать
несколько раз PUT?
← →
Сергей М. © (2006-11-27 13:31) [11]
> А всё-таки какая есть альтернатива
Доп.поток
← →
Cawa © (2006-11-27 13:34) [12]Мне совершенно не понятно, почему тебя не устраивает вызывать Put несколько раз?
← →
NovaC (2006-11-27 13:40) [13]Потому что я не знаю заранее сколько будет файлов
хотелось бы задать копирование например по маске...
← →
Cawa © (2006-11-27 13:51) [14]И причем здесь отказ от использования Put несколько раз?
← →
Anatoly Podgoretsky © (2006-11-27 14:15) [15]> NovaC (27.11.2006 13:28:10) [10]
Смотри RFC по протоколу FTP и все станет понятно.
← →
Сергей М. © (2006-11-27 14:26) [16]
> NovaC (27.11.06 13:40) [13]
>
> Потому что я не знаю заранее сколько будет файлов
Т.е. тебя бы устроило нечто похожее на
НекийFTPКомпонент.ЗакинутьНаСервер(сам не знаю сколько файлов)
?
← →
Anatoly Podgoretsky © (2006-11-27 14:38) [17]> Сергей М. (27.11.2006 14:26:16) [16]
MPUT *.txt
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.04 c