Zitat von
freak4fun:
Hallo
,
gibt es immer nur A, B und C oder ist die Anzahl variabel?
MfG
freak
achso ja, vergessen zu sagen. also in meinem fall ist es fest definiert welcher typ von record verglichen werden soll und somit auch die anzahl und arten der felder.
in meiner umsetzung hatte ich mir eine enumeration mit allen feldern gebaut + ein set davon damit ich wusste welche vergleicht werden sollen.
alternativ wäre noch eine nachbildung des records bloß mit boolschen variablen vorstellbar.
dynamischer brauchts wegen mir also nicht zu sein.
Zitat:
Hm, also wenn schon als Wettbewerb, dann bitte mit (annerkennugns) Preis,
Respekt kann man hier doch ohne Einschränkungen dne meisten zugestehen.
is halt n geek wettbewerb
außerdem ist die genugtuung den "besten" algo geschrieben zu haben auch kein schlechter preis
Zitat von
Dax:
Da, büdde
Delphi-Quellcode:
type
TBspField = (bfA, bfB, bfC);
TBspFieldSet = set of TBspField;
function Compare(A, B: TBsp; Fields: TBspFieldSet): Boolean;
begin
Result := True;
if bfA in Fields then Result := Result and (A.A = B.A);
if bfB in Fields then Result := Result and (A.B = B.B);
if bfC in Fields then Result := Result and (A.C = B.C);
end;
Ich hoffe es hilft dir
Das war auch mein erster ansatz, leider klappt das so nicht, da result von anfang an true ist das heißt auch wenn nichts übereinstimmt ists true! result von anfang an auf false setzen klappt hier leider auch nicht