AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Paintbox

Ein Thema von Stefbeck · begonnen am 25. Apr 2006 · letzter Beitrag vom 2. Mai 2006
Antwort Antwort
Stefbeck

Registriert seit: 25. Apr 2006
5 Beiträge
 
#1

Paintbox

  Alt 25. Apr 2006, 16:49
Hallo, wir müssen für die Uni ein Programm mit Delphi schreiben in dem in einer Paintbox 3 Punkte durch anklicken eingegeben werden sollen. Von diesen Punkten brauche ich die Koordinaten.

Dummerweise kenne ich mich mit Delphi überhaupt nicht aus. Ich war schon froh als ich den Paintbox-Button in Delhi gefunden hab.


Wenn mir also jemand mal erklären könnte wie so was funktioniert wäre ich dankbar.

Mfg
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#2

Re: Paintbox

  Alt 25. Apr 2006, 17:04
Schau dir dazu am besten die Ereignisse OnMouseUp oder OnClick an.
Im OnMouseUp bekommst die Koordinaten gleich mitgeliefert, an welchem Punkt
über der Paintbox ein Mausknopf losgelassen wurde.
Im OnClick musst noch mit Mouse.CursorPos.X/Mouse.CursorPos.Y und PaintBox.ScreenToClient rumhantieren.
Manuel
  Mit Zitat antworten Zitat
Stefbeck

Registriert seit: 25. Apr 2006
5 Beiträge
 
#3

Re: Paintbox

  Alt 25. Apr 2006, 18:51
erstmal danke.
wie mache ich das denn dann wenn ich 3 punkte hintereinander in der painbox anklicken will und alle 6 koordinaten zum rechnen benötige?
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#4

Re: Paintbox

  Alt 26. Apr 2006, 09:04
Hab ich ja total verschlafen:
Willkommen in der Delphi-PRAXiS


Dann musst dir überlegen, wie du mehrere Koordinaten speichern möchstest.
Einige Kandidaten wären da TStringList oder ein Array.

Ich würde das Array bevorzugen, denn dann könntest du z.b. machen:
var MeineKoordinaten: array [0..5] of TPoint; Somit hättest du ein Array mit 6 Elementen (#1 hat den Index 0, #6 den Index 5).
Dann könntest du dir einen Integer nehmen, welcher speichert welche Koordinate als
nächstes gefüllt wird.
Delphi-Quellcode:
// global
var
  MeineKoordinaten: array [0..5] of TPoint;
  AktuelleKoordinate: integer;

// im FormCreate:
  AktuelleKoordinate := 0;

procedure PaintBox.OnMouseUp(Sender: TObject; X,Y: integer);
begin
  // prüfen, ob noch Elemente ausstehen
  if AktuelleKoordinate <= 5 then begin
    // Koordinate speichern
    MeineKoordinate[AktuelleKoordinate].X := X;
    MeineKoordinate[AktuelleKoordinate].Y := Y;
    // Zeige auf nächstes Feld setzen
    inc(AktuelleKoordinate);
  end else begin
    // mit Koordinaten rechnen
    bla blubb
    // Koordinatenzeiger reset
    AktuelleKoordinate := 0;
  end;
end;
Das müsste eigentlich die Grundaspekte erklären.
Manuel
  Mit Zitat antworten Zitat
Stefbeck

Registriert seit: 25. Apr 2006
5 Beiträge
 
#5

Re: Paintbox

  Alt 26. Apr 2006, 15:47
hey super danke damit sollte ich was anfangen können.
  Mit Zitat antworten Zitat
Stefbeck

Registriert seit: 25. Apr 2006
5 Beiträge
 
#6

Re: Paintbox

  Alt 2. Mai 2006, 15:27
Wie kann ich denn real-werte in integer-werte umwandeln?
Wir sollen die Berechnung nämlich in real-Arithmetik realisieren.

Und wenn jemand weiss wie sich aus den 3 Koordinaten der Mittelpunkt des Umkreises ermitteln lässt, ich bin für jede Hilfe dankbar.
  Mit Zitat antworten Zitat
pacman1986

Registriert seit: 11. Feb 2005
Ort: Kirchhain
498 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Paintbox

  Alt 2. Mai 2006, 15:32
Zitat von Stefbeck:
Wie kann ich denn real-werte in integer-werte umwandeln?
round(wert); rundet dir diesen wert auf integer
Christian N.
Designed to make a difference

najjaronline.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Paintbox

  Alt 2. Mai 2006, 16:10
Bitte startet für eine neue Frage einen neuen Thread, sonst geht hier alles durcheinander. Danke.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 08:42 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