Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2016, 17:25   #1
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию Программа - маленький посредник. С какой стороны лучше подойти?

Здравствуйте!
Написал программку, которая помогает "вспомнить" что за файл со всем известного торрент-сайта был мной скачан. Работает просто: для файла через "ПКМ -> Открыть с помощью" выбрать мою программку, то при помощи стыренного из интернета метода она передаёт параметр-наззвание файла в процедуру, которая "вырезает" из названия файла нужную часть, добавляет то, что нужно для ссылки, и через ShellExecute открывает ссылку в Опере.
Всё замечательно кроме одного: начинал я с того, что копирован название файла в Edit, а открывал сайт нажатием кнопки. А теперь окно-то мне, по сути, и не нужно... А как от него избавиться? Заглянуть в консольное программирование? Но там тоже, хоть и не пользовательский интерфейс, но окно есть, кажется...
Или есть другие варианты упрощения и минимизации?
Ship_1 вне форума Ответить с цитированием
Старый 12.12.2016, 17:54   #2
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Копайте в сторону служб. Специально в Delphi существует вид таких приложений: Service Application.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 12.12.2016, 18:14   #3
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Цитата:
Сообщение от саша40 Посмотреть сообщение
Копайте в сторону служб. Специально в Delphi существует вид таких приложений: Service Application.
Спасибо за совет. Чуть копнул уже. Если правильно понял - смысл служб - висеть в системе и что-то делать. Для моей цели это не нужно. По сути, мне нужно только выполнить одну команду, предварительно обработав строку, и сразу после этого закрыть приложение.
Пожалуй, в этот раз я поторопился лезть в форум... Создал консольную программу, открывающую диск "С", воспользовался советом отсюда для скрытия всё же появляющегося на пару секунд окна, и, кажется, это как раз то, что мне нужно. Вроде, в процессах Винды после этого не зависает, а действительно закрывается после выполнения.
Ship_1 вне форума Ответить с цитированием
Старый 12.12.2016, 18:44   #4
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Технически, служба могла просто отлавливать открытие данных файлов, извлекать из них данные, необходимые вам и сохранять. Всё это делалось без окон и прочих подобных радостей, но раз уж вы нашли подходящие вам решение, то вопрос можно считать решенным, а тему закрыть.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 13.12.2016, 08:52   #5
Replicant
Форумчанин
 
Аватар для Replicant
 
Регистрация: 17.08.2009
Сообщений: 139
По умолчанию

Думается вам достаточно было сделать visible:=false;
Replicant вне форума Ответить с цитированием
Старый 13.12.2016, 09:16   #6
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Цитата:
Сообщение от Replicant Посмотреть сообщение
Думается вам достаточно было сделать visible:=false;
Не совсем. Программа после выполнения кода должна закрываться (после этого она не нужна), выполнение происходит при FormCreate, а FormClose в этот момент не действует. Можно было попробовать FormClose пристыковать в FormShow, но не стал. Кроме того использование формы бессмысленно увеличивает размер файла. Консольное приложение более рационально.

Последний раз редактировалось Ship_1; 13.12.2016 в 09:19.
Ship_1 вне форума Ответить с цитированием
Старый 13.12.2016, 09:44   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

В dpr-файле до Application.CreateForm и выход с Application.Terminate до него же. Application.CreateForm и все что после можно вообще выбросить. Да, визуальное окно есть, но не создается. Зато ни какого мигания консольного окна
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 13.12.2016 в 09:50.
Аватар вне форума Ответить с цитированием
Старый 13.12.2016, 10:59   #8
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Аватар О, а вот это уже интересно Спасибо!
Ship_1 вне форума Ответить с цитированием
Старый 13.12.2016, 12:48   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А убрать Application.CreateForm нельзя что ли?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 13.12.2016, 12:57   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
А убрать Application.CreateForm нельзя что ли?
Так и предлагаю убрать
Цитата:
Application.CreateForm и все что после можно вообще выбросить
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как симметрично отразить фигуру(например треугольник) относительно какой либо стороны Forsaken92 Помощь студентам 1 17.12.2013 13:38
Структуры, с какой стороны подступить к решению задачи Astar Помощь студентам 2 29.06.2012 13:59
С какой стороны функция LORDIF Общие вопросы C/C++ 1 28.05.2012 22:38
C какой стороны вообще подступиться ? (дайте примерный алгоритм) Silly Student C++ Builder 1 03.10.2011 23:29
Стороны света ≈ стороны монитора Alex Cones Свободное общение 21 26.08.2010 17:15