Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Strecke, die die Maus zurücklegt messen (https://www.delphipraxis.net/6117-strecke-die-die-maus-zuruecklegt-messen.html)

Luckie 30. Jun 2003 20:23

OK, ich gebe mich geschlagen.

tommie-lie 30. Jun 2003 20:23

Dann schnapp' ihn dir mal.
Ich brauche es zwar, nicht, aber es würde mich interessieren, wie sowas geht. Immerhin dürfte schon die Kurve der Beschleunigung schwierig genug sein, auch noch dafür zu sorgen, daß wenn die Maus über den Rand hinausgeschoben wird, man die Strecke erfassen kann, müsste genau auf den Maustreiber abgestimmt sein, der von Nagetier zu Nagetier anders ist.

edit: mist, umsonst geschrieben.
Ich sollte mir angewöhnen meine Beiträge genauso kurz zu fassen wie Luckie, dann brauch' ich nicht so lange dazu... :roll:

Luckie 30. Jun 2003 20:25

Zitat:

Zitat von tommie-lie
Dann schnapp' ihn dir mal.

Mein Arm ist leider keine 150 km lang. Und das e-book finde ich irgendwie nicht im Moment. Aber Assarbad hat es.

Christian Seehase 30. Jun 2003 22:12

Moin dopeline,

Zitat:

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

Gegenfrage:
Hast Du die Angaben des Programmes mal nachgemessen, und weisst, dass sie stimmen?

glkgereon 28. Aug 2005 11:14

Re: Strecke, die die Maus zurücklegt messen
 
ich hol den Thread mal wieder hoch...mir würde es zum beispiel reichen nur die zurückgelegte strecke in pixeln (habbich als Integer vorliegen) in meter umzurechnen...

dafür brauche ich ja offensichtlich die info, mit wieviel dpi der monitor läuft...wir komm ich da dran?

ManuMF 28. Aug 2005 11:24

Re: Strecke, die die Maus zurücklegt messen
 
und wieviel Zentimeter der Maus wieviel Pixel entsprechen.
Am besten nachmessen! ;-)
Das funktioniert natürlich dann nur bei deinem PC.

Ach, und der Monitor sollte mit 96dpi laufen. (Eigenschaften von Anzeige -> Einstellungen -> Erweitert)

Delphi-Freak 28. Aug 2005 11:32

Re: Strecke, die die Maus zurücklegt messen
 
Vielleicht hilft dir GetDeviceCaps (HORZSIZE bzw. VERTSIZE) oder DEVMODE (dmYResolution) weiter.
LG, ich

glkgereon 28. Aug 2005 11:39

Re: Strecke, die die Maus zurücklegt messen
 
also wenn ich nur die strecke will, die der mauszeiger aufm bildschirm zurücklegt....da könnte ich ja Screen.PixelsPerInch nehmen...oder?

stimmen diese umrechnungssachen?

Delphi-Quellcode:
{ *** Umrechnen ***}

function Inch2MM(Val: Extended):Extended;
begin
  Result:=Val*25.4
end;

function MM2Inch(Val: Extended):Extended;
begin
  Result:=Val/25.4
end;

function Px2Inch(Val: Int64):Extended;
begin
  Result:=Val/Screen.PixelsPerInch;
end;

function Inch2Px(Val: Extended):Int64;
begin
  Result:=Round(Val*Screen.PixelsPerInch);
end;

function Px2MM(Val: Int64):Extended;
begin
  Result:=Inch2MM(Val/Screen.PixelsPerInch);
end;

function MM2Px(Val: Extended):Int64;
begin
  Result:=Round(MM2Inch(Val)*Screen.PixelsPerInch);
end;

{ *** Ende Umrechnen *** }

tommie-lie 28. Aug 2005 11:45

Re: Strecke, die die Maus zurücklegt messen
 
Zitat:

Zitat von glkgereon
dafür brauche ich ja offensichtlich die info, mit wieviel dpi der monitor läuft...wir komm ich da dran?

Ausschließlich über Messen, never ever auf einem anderen Weg.
Lass vom Benutzer einen Streifen von 100 Pixeln länge abmessen, dann weißt du, wieviele Zentimeter hundert Pixel sind nd kannst damit rechnen. Eine andere Möglichkeit existiert nicht und kann auch nicht existieren.

Delphi-Freak 28. Aug 2005 12:15

Re: Strecke, die die Maus zurücklegt messen
 
Andererseits: Warum stimmt es dann z.B. bei Word? Wenn man da 100% einstellt, dann kann man ein Blatt Papier vor den Bildschirm halten und es geht sich genau aus...

Edit: @glkgeron: Die Umrechnungen stimmen glaube ich so weit, nur die letzten beiden würde ich etwas anders machen:
Delphi-Quellcode:
function Px2MM(Val: Int64):Extended;
begin
  Result:=Inch2MM(Px2Inch(Val));
end;

function MM2Px(Val: Extended):Int64;
begin
  Result:=Inch2Px(MM2Inch(Val));
end;
LG


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 Uhr.
Seite 2 von 4     12 34      

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