Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Cursorposition im Integerwert speichern (https://www.delphipraxis.net/37475-cursorposition-im-integerwert-speichern.html)

malo 6. Jan 2005 12:04


Cursorposition im Integerwert speichern
 
Ich möchte die Position des Cursors in einem Integerwert speichern.

Da hab ich an folgenden Code gedacht:

Delphi-Quellcode:
var
  Position: integer;

...

procedure TForm1.MausTimeTimer(Sender: TObject);
var Posi: TPoint;
begin
  Posi := Mouse.CursorPos;
  Position := IntToStr(StrToInt(Posi.X));
end;
Doch da kommt dann immer die Fehlermeldung "inkompatible Typen: 'String' und 'Integer' :gruebel:

hat jemand vielleicht 'ne andere Idee, wie ich die Cursorposition in einem Integerwert speichern kann?

freak4fun 6. Jan 2005 12:07

Re: Cursorposition im Integerwert speichern
 
Position := Posi.X;

mfg
freak

malo 6. Jan 2005 12:08

Re: Cursorposition im Integerwert speichern
 
Zitat:

Zitat von freak4fun
Position := Posi.X;

mfg
freak

Da hatte ich schon dran gedacht, aber dann kommt die Fehlermeldung "inkompatible Typen: TPosition und Integer" :wall:

Christian Seehase 6. Jan 2005 12:08

Re: Cursorposition im Integerwert speichern
 
Moin malo,

Posi.x ist ja bereits eine Zahl, was willst Du da konvertieren?

Du müsstest nur ein wenig "schieben", damit Du beide Werte (x und y) in einer Variablen unterbringen kannst.

Delphi-Quellcode:
Position := (posi.x shl 16) or (posi.y);
Hierdurch wird der horizontale Wert in den oberen 16 Bit von Position gespeichert, die vertikale in den unteren.

malo 6. Jan 2005 12:11

Re: Cursorposition im Integerwert speichern
 
@Chris: Ich will aber halt nur den X-Wert speichern, den Y-Wert brauch ich nicht ;)

Das Problem dabei ist aber ein Post weiter oben ;)

Christian Seehase 6. Jan 2005 12:12

Re: Cursorposition im Integerwert speichern
 
Moin malo,

Zitat:

Zitat von malo
...aber dann kommt die Fehlermeldung "inkompatible Typen: TPosition und Integer

Position ist eine Eigenschaft von TForm.
Nenn es doch iPosition.

[EDIT]
Oder besser: Pack es als Eigenschaft in das Formular


Delphi-Quellcode:
TForm1 = class(TForm)
//...
private
  FiPosition : integer;
public
  property MyPosition : integer read FiPosition write FiPosition;
end;

//...


MyPosition := Posi.x;

//...

freak4fun 6. Jan 2005 12:15

Re: Cursorposition im Integerwert speichern
 
Wieso denn TPosition es gibt doch nur TPoint und Integer?! :gruebel:

mfg
freak

malo 6. Jan 2005 12:15

Re: Cursorposition im Integerwert speichern
 
Zitat:

Zitat von Christian Seehase
Moin malo,

Zitat:

Zitat von malo
...aber dann kommt die Fehlermeldung "inkompatible Typen: TPosition und Integer

Position ist eine Eigenschaft von TForm.
Nenn es doch iPosition.

Ah, danke, wusst ich nicht! :thumb:

Christian Seehase 6. Jan 2005 12:17

Re: Cursorposition im Integerwert speichern
 
Moin Christian,

Zitat:

Zitat von freak4fun
Wieso denn TPosition es gibt doch nur TPoint und Integer?! :gruebel:

mfg
freak

Dann schau mal im Objekt-Inspektor in den Eigenschaften eines Formulares.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:01 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