Ich weiß es gibt extra Sortiermethoden. Aber die will ich erst mal nicht nutzen, sonst lernen ich ja nichts.
Ich will mir von den drei Grundfarben-Werten die Reihenfolge bzw. die Position von der stärksten bis zu dem schwächsten Wert ausgeben lassen.
So das wenn Rot den Wert $65, Grün den Wert $27, und Blau den Wert $45 hat, das mir die Reihenfolge bzw. die Position 3 für den Wert von Rot, dann 1 für den Wert von Grün und dann 2 für den Wert von Blau.
Für eine andere Funktion habe ich mir eine NearestInteger-Funktion gebaut.
Code: Alles auswählen
Function NearestInteger(Const Main, IntegerA, IntegerB: SInt32): SInt32;
Habe die Werte von 'IntegerA' und 'IntegerB' zu 'Main' den selben Abstand, wird mir 'IntegerA' zurückgegeben.
Zuerst dachte ich mir, diese Funktion in einer Schleife laufen zu lassen, aber dann hatte ich die Idee, die NearestInteger-Funktion anzupassen.
Aber das gelang mir auch nicht.
Code: Alles auswählen
IF (RedColor > GreenColor) and (RedColor > BlueColor) then
Result := 1;
IF (GreenColor > RedColor) and (GreenColor > BlueColor) then
Result := 2;
IF (BlueColor > RedColor) and (BlueColor > GreenColor) then
Result := 3;
Hat einer eine Idee wie ich das Problem lösen kann?
Mir scheint meinen Schleifen-Idee nicht so falsch zu sein, da ich damit ja schon einen Vergleich mache.
Gruß vom Nixsager