AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Problem mit einer Weltmap und 10x10er kästchen...
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit einer Weltmap und 10x10er kästchen...

Ein Thema von Teklab · begonnen am 13. Sep 2004 · letzter Beitrag vom 13. Sep 2004
Antwort Antwort
Teklab

Registriert seit: 28. Apr 2004
Ort: Stralsund
58 Beiträge
 
#1

Problem mit einer Weltmap und 10x10er kästchen...

  Alt 13. Sep 2004, 17:30
Ja sorry scheiss überschrift.

Also ich habe in der Image1 eine Jpeg Weltkarte, auf der 10x10 pixel große
Kästchen sind *G* jetzt habe ich ein neues 10x10 Image erstellt und es so
gemacht, dass das kästchen, wenn ich auf die Weltkarte klicke rastert....
aber es funzt noch ned ganz

also MausPos X nehmen, druch 10 teilen, dann runden und mit 10 multiplizieren
dann image2 an diesen wert übergeben, das gleiche mit Y

Aber zB. bei 186 klicke ich in das 18 Kästchen aber er rundet es auf 19 und
setzt daher auch das Image2 auf 19.... ?? wie kann ich das ändern?
müßte ja irgendwie so sein.

X XX1-XX9 stelle um auf XX0 *G* also egal ob 1,2,3 oder 6,7,8 er soll immer
abrunden.

keine Ahnung ob mich nun jemand verstanden hat...
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Problem mit einer Weltmap und 10x10er kästchen...

  Alt 13. Sep 2004, 17:33
Eine Möglichkeit wäre div. Damit wird bei einer Division (Ganzzahl) nur der Teil vor dem Komma als Ergebniss zurückgegeben. Also 25 div 20 = 1. Damit müsstest du dir ganz elegenat was bauen können.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
heiopei
(Gast)

n/a Beiträge
 
#3

Re: Problem mit einer Weltmap und 10x10er kästchen...

  Alt 13. Sep 2004, 17:34
hallo,
soweit ich weiss, tut die funktion trunc genau was du willst,
d.h. sie gibt den ganzzahligen anteil eines realwertes(etc.) zurück!

bin mir aber nich ganz sicher!!!!

heiopei
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: Problem mit einer Weltmap und 10x10er kästchen...

  Alt 13. Sep 2004, 17:36
Zitat von heiopei:
soweit ich weiss, tut die funktion trunc genau was du willst,
d.h. sie gibt den ganzzahligen anteil eines realwertes(etc.) zurück!
Ja, die Funktion macht genau das, aber die Methode von Toxman ist wahrscheinlich besser, einfach jedes / durch div ersetzen.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Teklab

Registriert seit: 28. Apr 2004
Ort: Stralsund
58 Beiträge
 
#5

Re: Problem mit einer Weltmap und 10x10er kästchen...

  Alt 13. Sep 2004, 17:54
So *G* in der Zeit hab ich mir was eigenes gemacht *G* sicher voll umständlich
aber es erfüllt erstma seinen Zweck, werds aber mit div versuchen

Delphi-Quellcode:
begin
p := Image1.ScreenToClient(Mouse.CursorPos);
Wert1 := Round(p.X /10);
Wert1 := p.X - Wert1*10;
if Wert1 < 0 then
Wert1 := Round((p.X -10)/10)
else
Wert1 := Round(p.X /10);
Wert2 := Round(p.Y /10);
Wert2 := p.Y - Wert2*10;
if Wert2 < 0 then
Wert2 := Round((p.Y-10)/10)
else
Wert2 := Round(p.Y /10);
Shape1.Left := Wert1*10;
Shape1.Top := Wert2*10;
end;
SO OK habs mit Div gemacht sind ja dann auch nur 2 zeilen *G*
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Problem mit einer Weltmap und 10x10er kästchen...

  Alt 13. Sep 2004, 17:57
Dann mal so
Delphi-Quellcode:
begin
p := Image1.ScreenToClient(Mouse.CursorPos);
Wert1 := p.X div 10;
Wert1 := p.X - Wert1 * 10;
if Wert1 < 0 then
Wert1 := (p.X -10) div 10
else
Wert1 := p.X div 10;
Wert2 := p.Y div 10;
Wert2 := p.Y - Wert2 * 10;
if Wert2 < 0 then
Wert2 := (p.Y-10) div 10
else
Wert2 := p.Y div 10;
Shape1.Left := Wert1 * 10;
Shape1.Top := Wert2 * 10;
end;
Wert1 und Wert2 als Integer deklarieren

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Teklab

Registriert seit: 28. Apr 2004
Ort: Stralsund
58 Beiträge
 
#7

Re: Problem mit einer Weltmap und 10x10er kästchen...

  Alt 13. Sep 2004, 19:02
Habs jetzt so und es funzt super ohne fehler *G*

Delphi-Quellcode:
var p: TPoint;
    Wert1: Shortint;
    Wert2: Shortint;
begin
p := Image1.ScreenToClient(Mouse.CursorPos);
Wert1 := p.X div 10;
Wert2 := p.Y div 10;
Image2.Left := Wert1*10;
Image2.Top := Wert2*10;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


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:30 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