Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 28.11.2010, 14:51   #1
artemavd
Модератор
Заслуженный модератор
 
Регистрация: 05.06.2008
Адрес: г.Иркутск
Сообщений: 4,180
Репутация: 837
Вопрос Как запустить форму только один раз

Добрый вечер! Думал, что легко найду в Интернете информацию по своему вопросу, а оказалось, что нет. Вопрос собственно в названии темы. Как показать формы только один раз? Например, как в некоторых программах стоит галочка "Не показывать при следующем запуске". Когда пользователь выбирает такую галочку, то при следующем запуске своей программы форма уже не показывается.
artemavd вне форума   Ответить с цитированием
Старый 28.11.2010, 15:02   #2
AlDelta
Реанимируюсь...
Профессионал
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Адрес: Украина. Кривой Рог.
Сообщений: 1,445
Репутация: 916
По умолчанию

artemavd, а файл настроек? Или реестр?
Храните где-нибудь флаг о "показать" и все, а ,потом в зависимости от состояния этого флага, показывайте/не показывайте форму

Не все надо искать в интернете.
__________________
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума   Ответить с цитированием
Старый 28.11.2010, 15:31   #3
artemavd
Модератор
Заслуженный модератор
 
Регистрация: 05.06.2008
Адрес: г.Иркутск
Сообщений: 4,180
Репутация: 837
По умолчанию

Файл настроек? Мм...просто думал, что можно как-то без дополнительных файлов, кодом, программно.
artemavd вне форума   Ответить с цитированием
Старый 28.11.2010, 15:52   #4
AlDelta
Реанимируюсь...
Профессионал
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Адрес: Украина. Кривой Рог.
Сообщений: 1,445
Репутация: 916
По умолчанию

artemavd, тогда реестр.
__________________
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума   Ответить с цитированием
Старый 28.11.2010, 16:18   #5
mihali4
*
Профессионал
 
Регистрация: 22.11.2006
Адрес: Москва
Сообщений: 9,198
Репутация: 2695
По умолчанию

Мой способ.

Код:
uses SyncObjs;
...
CheckEvent: TEvent;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
CheckEvent:= TEvent.Create( nil, false, true, 'MYPROJECT_CHECKEXIST' );
If CheckEvent.WaitFor(10)<>wrSignaled then
begin
ShowMessage('Сколько можно запускать одну и ту же программу ?');
Application.Terminate;
end else
...
mihali4 вне форума   Ответить с цитированием
Старый 28.11.2010, 16:27   #6
Bad-XxX
Пользователь
 
Регистрация: 27.09.2010
Сообщений: 18
Репутация: 10
По умолчанию

Код:
if FindWindow('TForm1', 'Заголовок окна')<>0 then application.terminate;
А вообще, способов немеряно. Начиная от перебора списка процессов, заканчивая SendMessage.
Bad-XxX вне форума   Ответить с цитированием
Старый 28.11.2010, 16:34   #7
Alex Cones
Trust no one.
Профессионал
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Адрес: In the middle of nowhere.
Сообщений: 6,524
Репутация: 1440
По умолчанию

Имеется в виду "сплеш" форма. У неё функа "не показывать при следующем запуске". Либо пишите в реестре, либо в файл. Можете, конечно еще на сервере хранить или делать изменения в самом exe. Так же можно использовать Launcher.exe
__________________
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума   Ответить с цитированием
Старый 28.11.2010, 16:38   #8
AlDelta
Реанимируюсь...
Профессионал
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Адрес: Украина. Кривой Рог.
Сообщений: 1,445
Репутация: 916
По умолчанию

ТС хочет всего лишь показывать/не показывать какую-то дополнительную форму(из разряда подсказок, при запуске основного приложения). Закрывать все приложение ему не надо.
__________________
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума   Ответить с цитированием
Старый 28.11.2010, 16:44   #9
_SERGEYX_
Профессионал
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Адрес: г. Витебск
Сообщений: 1,517
Репутация: 437

icq: 375449564
По умолчанию

В компонентах JEDI есть крутой компонент JvTipOfDay.
Там же в его опциях есть свойство toShowOnStartUp. Но это свойство все равно где-то сохранять нужно.
_SERGEYX_ вне форума   Ответить с цитированием
Старый 28.11.2010, 17:43   #10
artemavd
Модератор
Заслуженный модератор
 
Регистрация: 05.06.2008
Адрес: г.Иркутск
Сообщений: 4,180
Репутация: 837
По умолчанию

Цитата:
Но это свойство все равно где-то сохранять нужно.
Можно в файл сохранять, а при запуске проги считывать его значение оттуда и присваивать компоненту.
artemavd вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как выполнить действие только один раз? dolphin705 Общие вопросы Delphi 5 25.08.2009 09:33
timer срабатывает только один раз! KWN, lnc Общие вопросы Delphi 1 05.03.2009 13:58
Как сделать, чтобы программа запускалась один раз, т.е. повторно запустить нельзя??? Kamikadze_666 Безопасность, Шифрование 7 31.07.2007 08:34
Как высчитывать ячейку только один раз? Человек Microsoft Office Excel 2 20.12.2006 21:57
Как сделать что-бы Таймер срабатывал только один раз? Greg Компоненты Delphi 11 16.12.2006 02:25


07:29.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru