AGB  ·  Datenschutz  ·  Impressum  







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

Vektorenaddition

Ein Thema von vsilverlord · begonnen am 14. Mai 2008 · letzter Beitrag vom 14. Mai 2008
Antwort Antwort
Benutzerbild von vsilverlord
vsilverlord

Registriert seit: 7. Jan 2008
Ort: Baden Württemberg- Hohenlohekreis
174 Beiträge
 
RAD-Studio 2009 Arc
 
#1

Vektorenaddition

  Alt 14. Mai 2008, 13:14
Hallo,
ich hab eine eigene Klasse:
Delphi-Quellcode:
Tvektor= packed record
   x,y,z:currency;
   end;
funktioniert auch wunderbar. Wenn ich zwei Vektoren addieren will, mache ich das so:
Delphi-Quellcode:
function tform1.vektoradditon(a,b:tvektor):tvektor;
begin
result.x:=a.x+b.x;
result.y:=a.y+b.y;
result.z:=a.z+b.z;
end;
Nur leider funktioniert es nicht, wenn ich es aufrufe:
Koordinaten:=vektoraddition(Koordinaten,Geschwindigkeit) Warum funktioniert das nicht???
danke schon im vorraus, delphipraxis ist wirklich super
Volker
~beware
Wizards First Rule:
People are stupid; given proper motivation, almost anyone will believe almost anything. Because people are stupid, they will believe a lie because they want to believe it’s true, or because they are afraid it might be true
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Vektorenaddition

  Alt 14. Mai 2008, 13:18
Zitat von vsilverlord:
Warum funktioniert das nicht???
Warum funktioniert was nicht?
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Vektorenaddition

  Alt 14. Mai 2008, 13:19
a) Ist das keine Klasse, sondern ein Record
b) Wäre es interessant zu wissen, was nicht funktioniert...
  Mit Zitat antworten Zitat
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#4

Re: Vektorenaddition

  Alt 14. Mai 2008, 13:20
Eine Beschreibung, WAS nicht funktioniert wäre gut gibts nen Fehler oder macht der nichts?

Ins Blaue geraten: Vielleicht weil deine Addieren function eine funktion von Form1 ist?
Richard Mahr
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Vektorenaddition

  Alt 14. Mai 2008, 13:21
Breakpoint auf die Zeile, mit F7 durchsteppen und die Variablenwerte überwachen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Vektorenaddition

  Alt 14. Mai 2008, 13:41
Brauchst du unbedingt die Enterprise Features? Sonst könntest du unter TDE (D10) Klassenoperatoren verwenden.

BTW. Du hast den Fehler in deinem Profil immer noch nicht beseitigt: Baden-Württemberg schreibt man ohne h
Markus Kinzler
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: Vektorenaddition

  Alt 14. Mai 2008, 13:56
Schau dir mal deine Funktion (die in Wirklichkeit eine Methode ist) genau an:
Delphi-Quellcode:
function tform1.vektoradditon(a,b:tvektor):tvektor;
begin
result.x:=a.x+b.x;
result.y:=a.y+b.y;
result.z:=a.z+b.z;
end;
Warum ist die Funktion Bestandteil der Klasse TForm1 ??
Die Vektoraddition hat doch absolut nichts mit dieser Klasse zu tun.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von vsilverlord
vsilverlord

Registriert seit: 7. Jan 2008
Ort: Baden Württemberg- Hohenlohekreis
174 Beiträge
 
RAD-Studio 2009 Arc
 
#8

Re: Vektorenaddition

  Alt 14. Mai 2008, 14:14
ok danke für euren schnellen antworten. muss an was anderem liegen, dass sich gar nichts verändert, also dass nichts addiert wird.
Volker
~beware
Wizards First Rule:
People are stupid; given proper motivation, almost anyone will believe almost anything. Because people are stupid, they will believe a lie because they want to believe it’s true, or because they are afraid it might be true
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: Vektorenaddition

  Alt 14. Mai 2008, 14:37
Zitat von vsilverlord:
muss an was anderem liegen, dass sich gar nichts verändert, also dass nichts addiert wird.
Das funktioniert ganz sicher, nur hast du im Moment Tomaten auf den Augen und kontrollierst die falschen Variable, etc.
Delphi-Quellcode:
procedure VektorTest;
var
  a,b,c : Tvektor;
begin
  a.x := 1;
  a.y := 2;
  a.z := 3;
  b.x := 3;
  b.y := 2;
  b.z := 1;

  c := vektoradditon(a,b);
  ShowMessageFmt('c=(%d,%d,%d)', [c.x,c.y,c.z]);
end;
Bin mir ziemlich sicher, dass da (4,4,4) als Ergebnis rauskommen wird.
Andreas
  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 10: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