Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
|
Re: Code optimieren
18. Aug 2006, 20:17
@everybody vor mir: so langsam sollte doch bekannt sein, dass case nur bei ordinalen Typen funktioniert... -.-
Delphi-Quellcode:
function RoundÖhm(aValue : Double) : Double;
const
RoundValues : Array[0..2, 0..1] of Double = ((33000, 27000), (25000, 22000),
(22000, 18000)); // jeweils Maximum des Bereichs und Wert, auf den
// gerundet werden soll
// hab mich mal auf drei Angaben beschränkt
var
i: Integer;
begin
if (aValue > RoundValues[0, 0]) then
raise Exception.Create(' Lebensgefährlich!')
else
begin
for i := 1 to Length(RoundValues) - 1 do
if (aValue > RoundValues[i, 0]) then
begin
Result := RoundValues[i - 1, 1];
Exit;
end;
Result := RoundValues[High(RoundValues), 1];
end;
end;
function ÖhmToStr(aValue : Double) : string;
begin
if (aValue > 1000) then
Result := Format(' %f KOhm', [aValue / 1000])
else
Result := Format(' %f Ohm', [aValue])
end;
Sebastian Moderator in der EE
|
|
Zitat
|