AGB  ·  Datenschutz  ·  Impressum  







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

Probleme beim Vergleichen ...

Ein Thema von Fallenangel1989 · begonnen am 2. Mär 2007 · letzter Beitrag vom 3. Mär 2007
Antwort Antwort
Fallenangel1989

Registriert seit: 11. Nov 2006
9 Beiträge
 
#1

Probleme beim Vergleichen ...

  Alt 2. Mär 2007, 14:39
Ich möchte Wunschdaten die ich zuvor mit Checkboxen und Comboboxen ausgewählt habe mit voreingegeben Personen vergleichen.
Dazu habe ich zur Zeit diesen Quelletext:

Delphi-Quellcode:
punktzahl1:=0;
if wunschdaten[1].musik.pop=wunschdaten[2].musik.pop then
punktzahl1:=punktzahl1+1
else
if wunschdaten[1].musik.rock=wunschdaten[2].musik.rock then
punktzahl1:=punktzahl1+1
else
if wunschdaten[1].musik.pop and wunschdaten[2].musik.rock then
punktzahl1:=punktzahl1+0
else
if wunschdaten[1].musik.rock and wunschdaten[2].musik.pop then
punktzahl1:=punktzahl1+0;

if wunschdaten[1].bundesland = wunschdaten[2].bundesland then
punktzahl1:=punktzahl1+3
else
if wunschdaten[1].bundesland <> wunschdaten[2].bundesland then
punktzahl1:=punktzahl1+0;

if wunschdaten[1].geschlecht = wunschdaten[2].geschlecht then
punktzahl1:=punktzahl1+0
else
if wunschdaten[1].geschlecht <> wunschdaten[2].geschlecht then
punktzahl1:=punktzahl1+3;

if wunschdaten[1].haarfarbe = wunschdaten[2].haarfarbe then
punktzahl1:=punktzahl1+3
else
if wunschdaten[1].haarfarbe <> wunschdaten[2].haarfarbe then
punktzahl1:=punktzahl1+0;

if wunschdaten[1].interessen.kino = wunschdaten[2].interessen.kino then
punktzahl1:=punktzahl1+1
else
if wunschdaten[1].interessen.kino and wunschdaten[2].interessen.sport then
punktzahl1:=punktzahl1+0
else
if wunschdaten[1].interessen.kino and wunschdaten[2].interessen.reisen then
punktzahl1:=punktzahl1+0
else
if wunschdaten[1].interessen.kino and wunschdaten[2].interessen.fotografieren then
punktzahl1:=punktzahl1+0
else
if wunschdaten[1].interessen.kino and wunschdaten[2].interessen.buecher then
punktzahl1:=punktzahl1+0
else
if wunschdaten[1].interessen.kino and wunschdaten[2].interessen.musik then
punktzahl1:=punktzahl1+0
else
if wunschdaten[1].interessen.kino and wunschdaten[2].interessen.filme then
punktzahl1:=punktzahl1+0
else
if wunschdaten[1].interessen.kino and wunschdaten[2].interessen.technik then
punktzahl1:=punktzahl1+0
else
if wunschdaten[1].interessen.kino and wunschdaten[2].interessen.computerspiele then
punktzahl1:=punktzahl1+0;
Aber irgendwie gibt er mir nicht die richtige Punktzahl aus und ich finde meinen Fehler irgendwie nicht ... habe nur die Vermutung das es vielleicht an dem AND bei bei dein Interessen und Musikrichtungen liegen könnte ...

[edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]
  Mit Zitat antworten Zitat
shmia

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

Re: Probleme beim Vergleichen ...

  Alt 2. Mär 2007, 15:08
Lass mal die ganzen Else weg. So wird ja nur ein einziges Mal Punkte vergeben.
Andreas
  Mit Zitat antworten Zitat
Fallenangel1989

Registriert seit: 11. Nov 2006
9 Beiträge
 
#3

Re: Probleme beim Vergleichen ...

  Alt 3. Mär 2007, 11:58
Ich habe die ELSE jetzt weggemacht, aber er rechnet trotzdem noch nicht richtig.
Mal eine Frage zu den AND habe ich die richtig verwendet oder muss ich da etwas anderes nehmen?
  Mit Zitat antworten Zitat
MatWur

Registriert seit: 22. Feb 2007
Ort: Spessart
26 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Probleme beim Vergleichen ...

  Alt 3. Mär 2007, 12:19
gib doch mal bitte die Typdefinition von 'wunschdaten' an.

Die AND Anweisungen bei dir verknüpfen höchstwahrscheinlich 2 Binärzahlen und testen das Resultat auf <>0, ich nehme an da kommt murks raus.

Delphi-Quellcode:
if wunschdaten[1].geschlecht = wunschdaten[2].geschlecht then
punktzahl1:=punktzahl1+0
else
if wunschdaten[1].geschlecht <> wunschdaten[2].geschlecht then
punktzahl1:=punktzahl1+3;
die Logik ist hier nicht ersichtlich... die erste if-Anweisung tut nichts. Die zweite if-Anweisung wird nur dann ausgeführt wenn sie sowieso stimmt...???

oder einfacher: dieser Text ersetzt den obigen vollständig:

Delphi-Quellcode:
if wunschdaten[1].geschlecht <> wunschdaten[2].geschlecht then
punktzahl1:=punktzahl1+3;
mfg

Matthias
Matthias
Es gibt drei verschiedene Arten von Mathematikern: die, die bis 3 zählen können und die, die das nicht können.
Ich gehöre zur mittleren Gruppe.
  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:31 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