AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eingabe oder Tastendruck im Form pauschal abfragen

Ein Thema von khh · begonnen am 10. Aug 2015 · letzter Beitrag vom 13. Aug 2015
Antwort Antwort
Seite 1 von 2  1 2      
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#1

Eingabe oder Tastendruck im Form pauschal abfragen

  Alt 10. Aug 2015, 15:38
Hallo zusammen,

ich möchte ein geöffnetes Form nach einer gewissen Zeit per Timer schließen, wenn der User in dieser Zeit keine Eingabe vornimmt.
Gibt es ein Event, welches ich global abfragen kann, oder muss ich alle auf der Form befindlichen Bedienelemente einzeln behandeln?


Ich danke euch
Karl-Heinz
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
640 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: Eingabe oder Tastendruck im Form pauschal abfragen

  Alt 10. Aug 2015, 15:52
Code:
TForm.KeyPreview := true;
und dann nach Belieben

TForm.OnKeyDown oder
TForm.OnKeyUp oder
TForm.OnKeyPressed
Gruss Otto
Wenn du mit Gott reden willst, dann bete.
Wenn du ihn treffen willst, schreib bei Tempo 220 eine SMS
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.294 Beiträge
 
Delphi 12 Athens
 
#3

AW: Eingabe oder Tastendruck im Form pauschal abfragen

  Alt 10. Aug 2015, 15:54
Hallo...

Deine Freunde sind FormKeyDown bzw. FormKeyPress in Verbindung mit KeyPreview = True;
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Eingabe oder Tastendruck im Form pauschal abfragen

  Alt 10. Aug 2015, 16:31
ich danke euch,
hätte ich ja auch selbst drauf kommen können
Karl-Heinz
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Eingabe oder Tastendruck im Form pauschal abfragen

  Alt 10. Aug 2015, 23:05
Oder vielleicht auch hiermit: LastInputInfo
Hier noch ein Topic aus der DP, bei der auch schonmal jemand damit gearbeitet hat: Letzte Eingabe ermitteln
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Eingabe oder Tastendruck im Form pauschal abfragen

  Alt 11. Aug 2015, 15:48
mh, keydown etc. funktioniert leider nicht, da die Buttons ja per Touchscreen, sprich Mausklick bedient werden.
Also doch jedes Element auf OnMousDown abfragen?

EDIT: LastInputInfo sieht gut aus, aber wo ist TLastInputInfo definiert ?
Karl-Heinz

Geändert von khh (11. Aug 2015 um 16:03 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Eingabe oder Tastendruck im Form pauschal abfragen

  Alt 11. Aug 2015, 16:00
Hallo,

die verlinkten Beispiele ist ein bisschen overdressed.

http://www.experts-exchange.com/Prog..._21838717.html
http://forum.codecall.net/topic/6014...-delphi-codes/

Aber das Stichwort ist Hook, es muss hier nat. nicht gleich ein systemweiter Hook per Dll sein,
es reicht auch ein App-Hook.

http://delphi.about.com/od/windowssh...board_hook.htm


Heiko
Heiko

Geändert von hoika (11. Aug 2015 um 16:03 Uhr)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Eingabe oder Tastendruck im Form pauschal abfragen

  Alt 11. Aug 2015, 23:07
Wenn du die Unit Winapi.Windows eingebunden hast, sollte er das automatisch finden.

Hallo,

die verlinkten Beispiele ist ein bisschen overdressed.

Aber das Stichwort ist Hook [...]
Hooks werden nur so wie ich es weiß öfters von Virenscannern erkannt. Ob das jetzt bei diesem auch der Fall ist weiß ich nicht. Habe auch noch nie mit Hooks arbeiten müssen. TLastInputInfo ist eben relativ einfach zu verwenden und kann regelmäßig über einen TTimer abgefragt werden.

Hier nur ein kleines Beispiel wie ich es umgesetzt habe:
Delphi-Quellcode:
LastInputInfo.cbSize := SizeOf(TLastInputInfo);
if GetLastInputInfo(LastInputInfo) then begin
  if ((GetTickCount - LastInputInfo.dwTime) >= Cardinal(InactivityValue * 60000)) then begin
    DoLockDatabase(True); // Sperrt in meinem Fall die Datenbank
  end;
end;
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Eingabe oder Tastendruck im Form pauschal abfragen

  Alt 12. Aug 2015, 11:47
danke, funktioniert aber unter Lazarus leider nicht
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#10

AW: Eingabe oder Tastendruck im Form pauschal abfragen

  Alt 12. Aug 2015, 13:27
Ich habe das schon einmal mit einem lokalen Maus- und Tastaturhook gelöst. Das hat problemlos funktioniert und Virenscanner haben auch nicht gemeckert.
Ich würde das jederzeit dem KeyDown, etc. abfangen vorziehen.
Jens
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz