Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.049 c
15-1164670569
vasIzmax
2006-11-28 02:36
2006.12.17
Вопрос не по теме


15-1164036886
oldman
2006-11-20 18:34
2006.12.17
Кажись, Россия вошла таки в ВТО...


4-1153296002
shake-c
2006-07-19 12:00
2006.12.17
Связь с порождаемым процессом


15-1164489734
Дмитрий Белькевич
2006-11-26 00:22
2006.12.17
Выполнение праллельных тредов на нескольких камнях


3-1160470925
Megabyte
2006-10-10 13:02
2006.12.17
Правильный запрос или другой метод расчета





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский