AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Strecke, die die Maus zurücklegt messen
Thema durchsuchen
Ansicht
Themen-Optionen

Strecke, die die Maus zurücklegt messen

Ein Thema von dopeline · begonnen am 30. Jun 2003 · letzter Beitrag vom 19. Mai 2007
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#1

Strecke, die die Maus zurücklegt messen

  Alt 30. Jun 2003, 13:04
ich möchte was kleines progen, was die entfernung misst, die die maus zurücklegt (in metern). wie stelle ich das an?

Grüße, dopeline
  Mit Zitat antworten Zitat
Benutzerbild von RomanK
RomanK

Registriert seit: 7. Jun 2002
Ort: Kirchheim unter Teck
1.036 Beiträge
 
Delphi 7 Personal
 
#2
  Alt 30. Jun 2003, 13:24
Hab mal nen bissle gesucht, also hier in der DP, und hab da was gefunden wo zwei unterschiedliche Lösungsansätze gezeigt werden:
http://www.delphipraxis.net/internal...highlight=hook

Wenn du nicht weiterkommst dann melde dich.
Roman Keller
Krieg ist Gottes Art den Amerikanern Geographie beizubringen!
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#3
  Alt 30. Jun 2003, 15:16
Was der Antirassist nur überlesen hat: "(in metern)"
Das ist ohne weiteres nicht möglich, weil der Cursor auf dem Bildschirm ja nicht den Bewegungen der Maus auf dem Tisch entspricht, sondern durch die Geschwindigkeitseinstellungen im Treiber beschleunigt oder verlangsamt werden.
Dann gibt es noch eine nette Sache namens Mausbeschleunigung, die eine sinnvolle Messung der Strecke der Maus auf dem Schreibtisch per Software schlichtweg unmöglich macht, wenn man nicht die genauen Daten der Beschleunigungskurve im Treiber hat. Und da darf man den Treiberhersteller fragen, ob der antwortet, ist was anderes...
Aber theoretisch (ohne Beschleunigung) müsste man das Programm vorher kalibrieren, z.B. den Anwender auffordern 10 cm abzufahren und gucken, wieviele Pixel das waren und dann immer damit rechnen.
Wie's aber mit Hooks aussieht, wenn der Cursor am Bildrand ist und er noch weiter vom Bildschirm wegbewegt wird, weiß ich nicht. Wahrscheinlich wird das dann aber abgeschnitten, Fehlbereiche würden also wieder nicht in der Messung sein.
  Mit Zitat antworten Zitat
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#4
  Alt 30. Jun 2003, 15:25
ich habe ein programm installiert (workrave) das misst die arbeitszeit am computer und mach noch ein paar sachen. unteranderem zeigt er die zurückgelegte entfehrnung (der maus auf dem bildschirm und der maus in echt auf dem tisch) in metern, die zeit, wieviel/wielange die maus bewegt wurde, mausklicks und tastenanschläge. und alles in echtzeit (aktuallisiert sich alle halbe sekunde)

und wie machen die das? das muss doch auch irgentwie mit delphi gehen!

Gruß, dopeline
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#5
  Alt 30. Jun 2003, 15:28
Ich denke mal, das Programm misst die Bewegung des Mauszeigers am Bildschirm. Das wäre nicht so problematisch zu realisieren.

mfg Daniel

[EDIT]Sorry hab das mit der Entfernung am Monitor und der Entfernung am Tisch überlesen. Also war das ein relativ sinnloses Posting[/EDIT]
Daniel
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#6
  Alt 30. Jun 2003, 16:46
Evtl, aber wirklich nur vielleicht, geht das über DirectInput.
Aber davon habe ich zu wenig Ahnung von nativem DirectX, um dir sagen zu können ob das geht und womit genau...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7
  Alt 30. Jun 2003, 19:24
Man kann aber die zurückgelegte Strecke in Pixel in Meter umrechnen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#8
  Alt 30. Jun 2003, 21:11
Warum das nicht geht, habe ich versucht zu erklären:
Man weiß nicht wieviel ein Pixel in Metern ist. Dieser Wert hängt von verschiedenen Einstellungen ab, zu denen man nicht immer Zugang hat.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9
  Alt 30. Jun 2003, 21:14
Ich meine im Petzold steht drin, wie es geht. Ich habe ihn nur leider nicht zur Hand.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#10
  Alt 30. Jun 2003, 21:21
IMHO nur möglich wenn man einen eigenen Maustreiber programmiert. Kann auch nur eine Art Miniport sein, welcher das dann an den Orginaltreiber weiterreicht, aber jedenfalls sind die Probleme da, welche von tommie-lie beschrieben wurden, solange man "oberhalb" des Treibers arbeitet (also etwas allgemeiner: im Usermode).

@Luckie: Damals gab es IMHO noch keine Treiber mit Beschleunigungsfunktion.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 07:33 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