Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
Delphi 12 Athens
|
AW: Compilerschalter der Autoformat verhindert
4. Feb 2021, 17:19
Zitat:
Delphi-Quellcode:
if (Value1.Nr = 0) then // Verhindern, dass Datensatz 0 sortiert wird
Result := -1
else if (Value2.Nr = 0) then // Verhindern, dass Datensatz 0 sortiert wird
Result := 1
"mach nichts" heißt doch eigentlich 0?
Delphi-Quellcode:
if (Value1.Nr = 0) or (Value2.Nr = 0) then // Verhindern, dass Datensatz 0 sortiert wird
Result := 0
PS:
Delphi-Quellcode:
Sort(TComparer<TStandardName>.Construct(
function(const Value1, Value2: TStandardName): Integer
begin
if (Value1.Nr = 0) or (Value2.Nr = 0) then // Verhindern, dass Datensatz 0 sortiert wird
Result := 0
else if SameStr(Value1.Name, Value2.Name) then
Result := CompareValue(Value1.Nr, Value2.Nr)
else
Result := CompareStr(Value1.Name, Value2.Name);
end));
// der erste Kommentar ist klar, aber der Zweite ist nutzlos.
// "Bei gleichen Namen" steht lesbar direkt davor, vor allem wenn man IF-SameStr nutzen würde
// und "nach Nr sortieren" kommt schön sichtbar gleich nach dem THEN
// bzw.
Sort(TComparer<TStandardName>.Construct(
function(const Value1, Value2: TStandardName): Integer
begin
if (Value1.Nr = 0) or (Value2.Nr = 0) then
Exit(0); // Verhindern, dass Datensatz 0 sortiert wird
Result := CompareStr(Value1.Name, Value2.Name);
if Result = 0 then
Result := CompareValue(Value1.Nr, Value2.Nr);
end));
// Eventuell AnsiCompareStr statt CompareStr ... aber damit man das Schema besser erkennt
$2B or not $2B
Geändert von himitsu ( 4. Feb 2021 um 17:37 Uhr)
|
|
Zitat
|