purebasic.info

PureBasic forum
Текущее время: Ср ноя 21, 2018 9:48 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Таймер
СообщениеДобавлено: Пн июл 11, 2011 7:54 pm 
Не в сети
ассистент

Зарегистрирован: Пт июл 08, 2011 8:27 pm
Сообщений: 12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
нужно написать программку таймер выключение пк .
работать должна примерно так
при нажатии на кнопку CTRL+F12 - задавалось время выключении 10мин
при повторно нажатии прибавлялось ещё 10мин
CTRL-F11 - время аннулировалось
CTRL-F10 - на экран выводилось время таймера


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 11, 2011 8:45 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вт май 24, 2011 7:01 pm
Сообщений: 505
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
Скоко платишь?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 11, 2011 8:50 pm 
Не в сети
ассистент

Зарегистрирован: Пт июл 08, 2011 8:27 pm
Сообщений: 12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
не скоко


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 11, 2011 9:17 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вт май 24, 2011 7:01 pm
Сообщений: 505
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
Это не заказ а просьба? Больше похоже на заказ.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 11, 2011 9:21 pm 
Не в сети
ассистент

Зарегистрирован: Пт июл 08, 2011 8:27 pm
Сообщений: 12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
неправильно выразился если можешь помочь напиши как это реализовать .


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 11, 2011 11:43 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Сб июл 18, 2009 8:25 am
Сообщений: 813
Благодарил (а): 21 раз.
Поблагодарили: 4 раз.
Пункты репутации: 0
Элементарнейшая задача даже для человека весьма поверхностно знающего программирование хоть на чем-нибудь.
Тебе нужно азы изучить, а потом "программы" писать.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 11, 2011 11:54 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вт май 24, 2011 7:01 pm
Сообщений: 505
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
Выкладывай свой начальный код, и там будем помогать. Готовый код тебе писать никто не будет, кроме за деньги.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт июл 12, 2011 6:35 am 
Не в сети
ассистент

Зарегистрирован: Пт июл 08, 2011 8:27 pm
Сообщений: 12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
;{ Отключение компьютера 
 Structure MyLUID
    LowPart.l
    HighPart.l
    Attributes.l
  EndStructure
     
  Structure MyTOKEN
    PrivilegeCount.l
    LowPart.l
    HighPart.l
    Attributes.l
  EndStructure
 Procedure PowerOff()
    hdlProcessHandle.l
    hdlTokenHandle.l
    tmpLuid.MyLUID
    tkp.MyTOKEN
    tkpNewButIgnored.MyTOKEN
    lBufferNeeded.l
    hdlProcessHandle = GetCurrentProcess_()
    OpenProcessToken_(hdlProcessHandle, #TOKEN_ADJUST_PRIVILEGES | #TOKEN_QUERY, @hdlTokenHandle)
    SysName.s=""+Chr(0)
    Name.s="SeShutdownPrivilege"+Chr(0)
    Erg.l=LookupPrivilegeValue_(SysName, Name, @tmpLuid)
    tmpLuid\Attributes = #SE_PRIVILEGE_ENABLED
    tkp\PrivilegeCount = 1
    tkp\LowPart = tmpLuid\LowPart
    tkp\HighPart = tmpLuid\HighPart
    tkp\Attributes = tmpLuid\Attributes
    Erg.l = AdjustTokenPrivileges_(hdlTokenHandle,0,@tkp,SizeOf(MyTOKEN),@tkpNewButIgnored,@lBufferNeeded)
    Erg.l = ExitWindowsEx_((#EWX_SHUTDOWN |#EWX_POWEROFF | #EWX_FORCE), 0)
  EndProcedure
   ;}



Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт июл 12, 2011 8:24 am 
Не в сети
док

Зарегистрирован: Пт янв 21, 2011 12:01 pm
Сообщений: 116
Откуда: Беларусь
Благодарил (а): 1 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
Держи код
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
Global time=-1,second=0,visible=0,thread,FontID1
Enumeration
  #Window
  #Text
  #Button
EndEnumeration
FontID1 = LoadFont(2, "Arial", 12)
Structure MyLUID
  LowPart.l
  HighPart.l
  Attributes.l
EndStructure
 
Structure MyTOKEN
  PrivilegeCount.l
  LowPart.l
  HighPart.l
  Attributes.l
EndStructure
Procedure PowerOff()
  hdlProcessHandle.l
  hdlTokenHandle.l
  tmpLuid.MyLUID
  tkp.MyTOKEN
  tkpNewButIgnored.MyTOKEN
  lBufferNeeded.l
  hdlProcessHandle = GetCurrentProcess_()
  OpenProcessToken_(hdlProcessHandle, #TOKEN_ADJUST_PRIVILEGES | #TOKEN_QUERY, @hdlTokenHandle)
  SysName.s=""+Chr(0)
  Name.s="SeShutdownPrivilege"+Chr(0)
  Erg.l=LookupPrivilegeValue_(SysName, Name, @tmpLuid)
  tmpLuid\Attributes = #SE_PRIVILEGE_ENABLED
  tkp\PrivilegeCount = 1
  tkp\LowPart = tmpLuid\LowPart
  tkp\HighPart = tmpLuid\HighPart
  tkp\Attributes = tmpLuid\Attributes
  Erg.l = AdjustTokenPrivileges_(hdlTokenHandle,0,@tkp,SizeOf(MyTOKEN),@tkpNewButIgnored,@lBufferNeeded)
  Erg.l = ExitWindowsEx_((#EWX_SHUTDOWN |#EWX_POWEROFF | #EWX_FORCE), 0)
EndProcedure
 
Procedure TimeDown(value)
  Repeat
  Delay(1000)
  If second=0:time=time-1:second=60:EndIf
  second=second-1
  ForEver
EndProcedure
 
Procedure VerifyKey()
If GetAsyncKeyState_(#VK_CONTROL) And GetAsyncKeyState_(#VK_F10)
visible=1
EndIf
If GetAsyncKeyState_(#VK_CONTROL) And GetAsyncKeyState_(#VK_F11)
  KillThread(thread)
  time=-1
  visible=1
EndIf
If GetAsyncKeyState_(#VK_CONTROL) And GetAsyncKeyState_(#VK_F12)
  If time=-1
    time=9:second=59
    thread = CreateThread(@TimeDown() ,0)
  Else
   time=time+10
  EndIf
  visible=1
EndIf
 
If time=-1
SetGadgetText(#Text,"Таймер выключен")
  Else
SetGadgetText(#Text,"Таймер "+Str(time)+" минут "+Str(second)+" секунд")
EndIf
 
If time=0:KillThread(thread):PowerOff():End:EndIf
If visible=1:HideWindow(#Window,0):EndIf
EndProcedure
 
StartTimer(1, 100, @VerifyKey())
 
  OpenWindow(#Window, 216, 0, 257, 79, "Таймер",  #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
    If CreateGadgetList(WindowID(#Window))
      TextGadget(#Text, 10, 10, 240, 30, "Таймер выключен", #PB_Text_Center)
      SetGadgetFont(#Text, FontID1)
      ButtonGadget(#Button, 80, 50, 100, 20, "Выйти")
    EndIf
   
   Repeat
     Event = WaitWindowEvent()
     If Event = #PB_Event_CloseWindow:HideWindow(#Window,1):visible=0:EndIf
     Select Event
       Case #PB_Event_Gadget
         Select EventGadget()
           Case #Button
           End
         EndSelect
     EndSelect
   ForEver


Писал на PureBasic 4.51
Выход из программы только кнопкой выход
Крестик просто визуально скрывает окно и программа дальше работает
Вообще круче было бы загнать значок в трею, но это уже сам. :D


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 13, 2011 7:09 am 
Не в сети
ассистент

Зарегистрирован: Пт июл 08, 2011 8:27 pm
Сообщений: 12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Спасибо за помощь! А нельзя сделать так, чтоб сам таймер был не в окошке, а выводился цифрами на экран на како-ето время, а патом прятался сам, и цифры сделать больше?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 13, 2011 9:26 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Сб июл 18, 2009 8:25 am
Сообщений: 813
Благодарил (а): 21 раз.
Поблагодарили: 4 раз.
Пункты репутации: 0
Gudzik11
Итак, ты ноль в пб, и просишь написать программу, аналогов которой в инете сотни, притом "за спасибо"...
В чем смысл?
ПБ судя по всему тебе не интересен.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 13, 2011 9:35 am 
Не в сети
профессор

Зарегистрирован: Ср янв 14, 2009 4:12 pm
Сообщений: 2002
Благодарил (а): 12 раз.
Поблагодарили: 101 раз.
Пункты репутации: 43
Gudzik11 писал(а):
А нельзя сделать так

Озвучте бюджет
Цитата:
а патом
посмотрим

_________________
Всё должно быть просто, настолько просто, насколько возможно, но не проще. (c) Альберт Эйнштейн
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 13, 2011 10:58 pm 
Не в сети
ассистент

Зарегистрирован: Пт июл 08, 2011 8:27 pm
Сообщений: 12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Извените,но в ПБ я дейсвительно ноль..Просто ищу программу,которая позволила бы выставлять таймер на компьютере..но найти я её не смог..
Если есть возможность,скинь,пожалуйста,ссылку..Заранее спасибо!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт июл 14, 2011 1:20 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Ср фев 02, 2011 10:44 am
Сообщений: 382
Откуда: :адуктО
Благодарил (а): 6 раз.
Поблагодарили: 1 раз.
Пункты репутации: 0
Gudzik11
в Гугле
И че реально не можешь найти???


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт июл 14, 2011 2:57 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт дек 17, 2009 4:49 pm
Сообщений: 1230
Откуда: г. Ангарск
Благодарил (а): 2 раз.
Поблагодарили: 16 раз.
Пункты репутации: 10
Gudzik11 писал(а):
Просто ищу программу...но найти я её не смог...Заранее спасибо!

kosjachok
Так лучше ТЫЦ

_________________
.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB