Entwickler-Ecke

Algorithmen, Optimierung und Assembler - An welcher Stelle???


Müllersche - Mo 14.01.08 09:55
Titel: An welcher Stelle???
Hi.

Wie kann man es programmieren bzw. wie ist der Algorithmus dafür:
Ich möchte, dass Delphi ein Objekt an eine bestimmte Stelle setzt, an die man zuvor mit der Maus geklickt hat???
Bzw. mit reicht der Algorithmus dafür, dass der den "canvas"-Befehl "moveto" an die Stelle setzt, an die man geklickt hat. Ich möchte also einfach nur, dass er die Koordinaten des angeklickten Punktes erkennt.


elundril - Mo 14.01.08 10:04

Hallo und :welcome: in der EE,

Im OnClick oder OnMouseDown von den Komponenten kann man die Werte X und Y auslesen. Damit hast du die Koordinaten im Bezug zu den Nullpunkten der Komponente. Wenn du dies auch auserhalb deiner Anwendung willst musst du mit Maus Hooks arbeiten.

lg elundril


Müllersche - Mo 14.01.08 10:26

Okay, gut.
Und wenn ich jetzt ein Objekt habe. Wie kann ich dann im Algorithmus die Koordinaten in die Variablen schreiben.
Wäre cool, wenn ihr mir dafür einen Algorithmus geben könntet.


nagel - Mo 14.01.08 10:30

Könntest du bitte deine Frage etwas präzisieren?


elundril - Mo 14.01.08 10:32

da dein Objekt left und top hat, vermute ich mal, kannst du mittels Object.Left := X und Object.Top := Y den linken abstand und den oberen Abstand.

lg elundril


Müllersche - Mo 14.01.08 10:35

user profile iconnagel hat folgendes geschrieben:
Könntest du bitte deine Frage etwas präzisieren?



Ich meinte einfach, dass der Algorithmus die Koordinaten von einem Objekt in eine Variable kopiert.
Aber elundril hat das glaube ich schon gut erklärt.


nagel - Mo 14.01.08 10:41

Achso, sorry. Dachte beim Wort Algorithmus an was Komplizierteres.


elundril - Mo 14.01.08 10:42

opps! sry hab mich verlesen. Du willst ja die Koordinaten VOM Object in eine Variable. dann muss du das ganze umdrehen.


Delphi-Quelltext
1:
2:
3:
4:
5:
var Links, Oben: Integer //Deine Variablen zum speichern definieren
begin
  Links := Object.Left;  //der linke abstand des objects in die variable speichern.
  Oben := Object.Top;    //der Obere Abstand des objects in die variable speichern.
end;


lg elundril


Müllersche - Mo 14.01.08 17:07

Gut, vielen Dank.
Genau das habe ich gebraucht :D

Kann geclosed werden...