Na ja, ich würde da den Dreisatz favorisieren:
Deine Ausgangs-Variable beginnt bei 100 und überstreicht einen Bereich von 80, und die Resultierende soll bei 0 beginnen und einen Bereich von 250 überstreichen.
Du müsstest also von der Ausgangsvariablen 100 abziehen und die Differenz mit 250/80 (=3,125) multiplizieren - fertich.
Der Haken ist natürlich der, dass Du eine exakte Multiplikation mit Fließkomma-Zahlen nur mit Single-Variablen durchführen kannst. Aber das wäre ja kein Problem:
Dim A as Byte (Ausgangs-Variable)
Dim B as Single
Dim C as Byte (Resultierende Variable)
B = A - 100
B = B * 3,125
C = B
Wenn es für die resultierende Variable aber auch okay wäre wenn sie von 0 - 240 geht statt bis 250, müsstest Du die Differenz nur mit 3 multiplizieren, was den Umweg über die Single-Variable erspart:
C = A - 100
C = C * 3
Lesezeichen