Probleme beim Vergleichen ...
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:
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 ... :wiejetzt:
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; [edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit] |
Re: Probleme beim Vergleichen ...
Lass mal die ganzen Else weg. So wird ja nur ein einziges Mal Punkte vergeben.
|
Re: Probleme beim Vergleichen ...
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? |
Re: Probleme beim Vergleichen ...
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:
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...???
if wunschdaten[1].geschlecht = wunschdaten[2].geschlecht then
punktzahl1:=punktzahl1+0 else if wunschdaten[1].geschlecht <> wunschdaten[2].geschlecht then punktzahl1:=punktzahl1+3; oder einfacher: dieser Text ersetzt den obigen vollständig:
Delphi-Quellcode:
mfg
if wunschdaten[1].geschlecht <> wunschdaten[2].geschlecht then
punktzahl1:=punktzahl1+3; Matthias |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:04 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