Главная Главная страница форума Регистрация Вход
Новые сообщения Участники форума Правила форума Поиск
Страница 1 из 212»
Модератор форума: Admin 
Форум » Все о Delphi » Графика и игры » Скринсейвер запускается при его выборе (Скринсейвер на Delphi)
Скринсейвер запускается при его выборе
DigyДата: Четверг, 05.02.2009, 16:29 | Сообщение # 1
Ранг 3
Группа: Проверенные
Сообщений: 71
Награды: 0
Репутация: 1
Статус: Offline
Я написал скринсейвер, всё как положено, работает, но есть одно неудобство - он запускается и когда нужно, и когда выбираем его из выпадающего меню в свойствах экрана, когда жмем применить там же, и даже когда просто открываем вкладку "заставка" в свойствах экрана, если мой скринсейвер уже выбран в качастве используемого. Как это исправить?

><))'>
 
DJ_ЕвсДата: Четверг, 05.02.2009, 16:33 | Сообщение # 2
Ранг 6
Группа: Проверенные
Сообщений: 165
Награды: 3
Репутация: 1
Статус: Offline
Кстати, тоже хотел этот вопрос задать! Ты мня опередил! biggrin

ПРОЙДИ ТЕСТ!!!!!
http://FIDO20.ru/test.php?4052&c=bbea2a1

 
AdminДата: Четверг, 05.02.2009, 18:28 | Сообщение # 3
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
ОС просто запускает скринсейвер с параметром, для каждого свой. Например при нажатии на кнопку параметры, с параметром (вроде бы как) "-c". Я просто напросто выводил ShowMessage'м сам параметр. Далее обрабатывал его и все!

Не оказываю помощь через личные сообщения и ICQ
 
DJ_ЕвсДата: Четверг, 05.02.2009, 19:29 | Сообщение # 4
Ранг 6
Группа: Проверенные
Сообщений: 165
Награды: 3
Репутация: 1
Статус: Offline
Хм... А кде в коде искать этот параметр? Как его обрабатывать?

ПРОЙДИ ТЕСТ!!!!!
http://FIDO20.ru/test.php?4052&c=bbea2a1

 
AdminДата: Четверг, 05.02.2009, 20:25 | Сообщение # 5
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
/publ/2-1-0-38

Не оказываю помощь через личные сообщения и ICQ
 
DigyДата: Пятница, 06.02.2009, 11:29 | Сообщение # 6
Ранг 3
Группа: Проверенные
Сообщений: 71
Награды: 0
Репутация: 1
Статус: Offline
статью прочитал, не въехал((

><))'>
 
EkzДата: Пятница, 06.02.2009, 11:36 | Сообщение # 7
Ранг 10
Группа: Пользователи
Сообщений: 164
Награды: 2
Репутация: 1
Статус: Offline
Quote
ParamCount - Функция возвращающая колличество параметров.

function ParamCount: Integer;
Функция ParamStr(Index: Integer) возвращает параметр под номером Index

function ParamStr(Index: Integer): string;

Пример использования:

procedure TForm1.FormCreate(Sender: TObject);
begin
If ParamCount=1 Then
begin
If ParamStr(1)='install' Then {выполняются необъодимые действия};
If ParamStr(1)='remove' Then {выполняются необъодимые действия};
end;
end;
То есть если программа запущена с одним параметром, то выполняем определенные действия.

Как я понял, тут все просто. В обработчик TForm1.FormCreate добавляем это

Code
If ParamCount=1 Then
   begin
     If ParamStr(1)='install' Then {выполняются необъодимые действия};
     If ParamStr(1)='remove' Then {выполняются необъодимые действия};
   end;

только вместо 'install' пишем 'c' и после Then пишем код, который должен выполнятся при нажатии на кнопку параметры, на вкладке заставка.
 
AdminДата: Пятница, 06.02.2009, 12:17 | Сообщение # 8
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Ну как можно это не понять? Все элементарно, даже пример привел. ParamCount возвращает количество параметров с которыми запускается программа. Ну параметры наверно непонятно что такое? Или чего еще то?

Не оказываю помощь через личные сообщения и ICQ
 
EkzДата: Пятница, 06.02.2009, 12:19 | Сообщение # 9
Ранг 10
Группа: Пользователи
Сообщений: 164
Награды: 2
Репутация: 1
Статус: Offline
Quote (Admin)
Ну как можно это не понять? Все элементарно, даже пример привел. ParamCount возвращает количество параметров с которыми запускается программа. Ну параметры наверно непонятно что такое? Или чего еще то?

И даже мой ответ критиковать не стал, оттого на улице тепло стало smile
 
DigyДата: Пятница, 06.02.2009, 15:08 | Сообщение # 10
Ранг 3
Группа: Проверенные
Сообщений: 71
Награды: 0
Репутация: 1
Статус: Offline
опытнам путём установил, что при нажатии кнопки "просмотр" (справа от "параматры") программа запускается с параметром "s", добавил такую строчку

" If ParamCount=1 Then If ParamStr(1)<>'s' Then form1.Close; "

ничего не изменилось(


><))'>
 
AdminДата: Пятница, 06.02.2009, 15:19 | Сообщение # 11
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
form1.Close; в обработчике onCreate не выйдет из проги. Используй Halt;

Не оказываю помощь через личные сообщения и ICQ
 
DigyДата: Пятница, 06.02.2009, 15:39 | Сообщение # 12
Ранг 3
Группа: Проверенные
Сообщений: 71
Награды: 0
Репутация: 1
Статус: Offline
application.terminate тоже не помогло
З.Ы. rfr bcgjkmpjdfnm Рфде

Добавлено (06.02.2009, 12:23)
---------------------------------------------

Quote (Digy)
rfr bcgjkmpjdfnm Рфде

как использовать Halt

Добавлено (06.02.2009, 12:39)
---------------------------------------------
c Halt разобрался, но всё равно не помогает


><))'>
 
AdminДата: Пятница, 06.02.2009, 16:02 | Сообщение # 13
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Не просто S а /S нужно. У тебя условие не выполняется.

Не оказываю помощь через личные сообщения и ICQ
 
DigyДата: Пятница, 06.02.2009, 16:44 | Сообщение # 14
Ранг 3
Группа: Проверенные
Сообщений: 71
Награды: 0
Репутация: 1
Статус: Offline
я ставил if paramstr(1)<>'s' then { }
условие всегда не выполняется и всё равно не выходит


><))'>
 
AdminДата: Пятница, 06.02.2009, 17:07 | Сообщение # 15
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Он и не будет выходить так как условие не выполняется. Я вообще все это проверял до создания форм.
попробуй:
Code
if paramstr(1)<>'/s' then


Не оказываю помощь через личные сообщения и ICQ
 
Форум » Все о Delphi » Графика и игры » Скринсейвер запускается при его выборе (Скринсейвер на Delphi)
Страница 1 из 212»
Поиск:

Copyright DelphiDevelop.ru © 2008-2018
Хостинг от uCoz