Zeitsteuerung

Anfängerfragen zum Programmieren mit PureBasic.
eiban
Beiträge: 33
Registriert: 07.12.2005 15:30
Wohnort: Irlach

Zeitsteuerung

Beitrag von eiban »

Hallo PureBoard

ist es möglich mit PureBasic V3.9 eine Art Zeitschaltung
für den PC zu machen . D.h. wenn die Maus oder die Tastatur z.B. 2Minuten nicht
betätigt wird, dass eine bestimmte Aktion ausgeführt wird.

Ich bin dankbar für alle Antworten!
Brügge
Beiträge: 359
Registriert: 28.05.2006 16:40
Wohnort: Rheine

Beitrag von Brügge »

jo
eiban
Beiträge: 33
Registriert: 07.12.2005 15:30
Wohnort: Irlach

Beitrag von eiban »

evtl. einen CODE ? :mrgreen:
Brügge
Beiträge: 359
Registriert: 28.05.2006 16:40
Wohnort: Rheine

Beitrag von Brügge »

^^ jo klar 1mom bin noch am tüfteln ^^ aber ich muss dir sagen das ist nicht die ideal-lösung...

also ich denke es gibt ne bessere
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Re: Zeitsteuerung

Beitrag von sobi »

eiban hat geschrieben:Hallo PureBoard

ist es möglich mit PureBasic V3.9 eine Art Zeitschaltung
für den PC zu machen . D.h. wenn die Maus oder die Tastatur z.B. 2Minuten nicht
betätigt wird, dass eine bestimmte Aktion ausgeführt wird.
Ich bin dankbar für alle Antworten!
Mann kann doch mit delay() ein programm anhalten? - da einfach 2 Minuten einstellen, davor die Position der Maus speichern und danach vergleichen, ob sie immer noch auf der gleichen Position steht... (keine Ahnung ob das in der Praxis geht, aber ein Gedanke ist es schon mal)
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Brügge
Beiträge: 359
Registriert: 28.05.2006 16:40
Wohnort: Rheine

Beitrag von Brügge »

Code: Alles auswählen

m1$ = FormatDate("%ii", Date()) 

Repeat
  If GetAsyncKeyState_(#VK_A) & 1<<16:       m1$ = FormatDate("%ii", Date())         :EndIf
  If GetAsyncKeyState_(#VK_B) & 1<<16:       m1$ = FormatDate("%ii", Date())         :EndIf
  If GetAsyncKeyState_(#VK_C) & 1<<16:       m1$ = FormatDate("%ii", Date())         :EndIf
  If GetAsyncKeyState_(#VK_D) & 1<<16:       m1$ = FormatDate("%ii", Date())         :EndIf
  If GetAsyncKeyState_(#VK_E) & 1<<16:       m1$ = FormatDate("%ii", Date())         :EndIf
  If GetAsyncKeyState_(#VK_F) & 1<<16:       m1$ = FormatDate("%ii", Date())         :EndIf
  If GetAsyncKeyState_(#VK_G) & 1<<16:       m1$ = FormatDate("%ii", Date())         :EndIf
  If GetAsyncKeyState_(#VK_H) & 1<<16:       m1$ = FormatDate("%ii", Date())         :EndIf
  If GetAsyncKeyState_(#VK_I) & 1<<16:       m1$ = FormatDate("%ii", Date())         :EndIf
  If GetAsyncKeyState_(#VK_J) & 1<<16:       m1$ = FormatDate("%ii", Date())         :EndIf
  If GetAsyncKeyState_(#VK_K) & 1<<16:       m1$ = FormatDate("%ii", Date())         :EndIf
  ;...
     
   Delay(1000)
   
   m2$ = FormatDate("%ii", Date())
  
   m1 = Val(m1$)
   m2 = Val(m2$)
   
   If (m1+2 = m2)
   
       ;;;;hier dein code bis jetzt ist das nur das keyboard von a bis k aber es geht
       Debug "2min sind um"
   
   EndIf
Until esc = 1
eiban
Beiträge: 33
Registriert: 07.12.2005 15:30
Wohnort: Irlach

Beitrag von eiban »

Danke für die Antworten.

leider erkennt mein Compiller die FormatDate() Befehle nicht.
Geht das auch anders?
Brügge
Beiträge: 359
Registriert: 28.05.2006 16:40
Wohnort: Rheine

Beitrag von Brügge »

hmm jo geht 1mom ich tüftel wieder... ^^
Brügge
Beiträge: 359
Registriert: 28.05.2006 16:40
Wohnort: Rheine

Beitrag von Brügge »

Code: Alles auswählen

s1 = 0
sec = 0
maxsec = 61 ; <----- jetzt wartet er darauf, das man 1minute und 1 Sekunde nix drückt(angabe in sekunden)
Repeat
  sec = sec +1
  If GetAsyncKeyState_(#VK_A) & 1<<16:       s1  = sec         :EndIf
  If GetAsyncKeyState_(#VK_B) & 1<<16:       s1 = sec         :EndIf
  If GetAsyncKeyState_(#VK_C) & 1<<16:       s1=sec       :EndIf
  If GetAsyncKeyState_(#VK_D) & 1<<16:       s1=sec         :EndIf
  If GetAsyncKeyState_(#VK_E) & 1<<16:       s1=sec         :EndIf
  If GetAsyncKeyState_(#VK_F) & 1<<16:       s1=sec         :EndIf
  If GetAsyncKeyState_(#VK_G) & 1<<16:       s1=sec         :EndIf
  If GetAsyncKeyState_(#VK_H) & 1<<16:       s1=sec         :EndIf
  If GetAsyncKeyState_(#VK_I) & 1<<16:       s1=sec        :EndIf
  If GetAsyncKeyState_(#VK_J) & 1<<16:       s1=sec         :EndIf
  If GetAsyncKeyState_(#VK_K) & 1<<16:       s1=sec        :EndIf
  ;...
     
   Delay(1000)
   
  
   
   If (s1+maxsec <= sec)
   
       ;;;;hier dein code bis jetzt ist das nur das keyboard von a bis k aber es geht
       Debug "eine minute ist um..."
   
   EndIf
Until esc = 1
MFG!
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

Beitrag von a14xerus »

ungenau :wink:
Antworten