Registriert seit: 8. Sep 2024
11 Beiträge
Delphi 12 Athens
|
AW: Sortieren eines Array of record
9. Sep 2024, 18:11
Hallo,
Danke für Euer Verständnis, hier mal mein Delphi-CODE.
Delphi-Quellcode:
FUNCTION TCodeSorted(Value: array of TCode): TArray<TCode>;
begin
SetLength(Result, Length(Value));
for var I := 0 to High(Result) do
Result[I] := Value[I];
TArray.Sort<TCode>(Result, TDelegatedComparer<TCode>.Create(
FUNCTION(const Left, Right: TCode): integer
begin
Result := string.Compare(Left.Wort, Right.Wort, [coDigitAsNumbers]);
end));
end;
Delphi-Quellcode:
// TSteuerung: PAL
begin
Pal := TSteuerung.Create('PAL');
SetLength(Pal.Nullpunkt, 6);
Pal.Nullpunkt[0] := 'G54';
Pal.Nullpunkt[1] := 'G55';
Pal.Nullpunkt[2] := 'G56';
Pal.Nullpunkt[3] := 'G57';
Pal.Nullpunkt[4] := 'G58';
Pal.Nullpunkt[5] := 'G59';
SetLength(Pal.Parameter, 0);
// GCodeB nach TArray sortiert und in TSteuerung
begin
lLength := Length(GCodeB);
SetLength(TArray, lLength);
SetLength(Pal.Wegbedingung, lLength);
arr := TCodeSorted(GCodeB);
Zaehler := 0;
for var rec in arr do
begin
TArray[Zaehler].Wort := rec.Wort;
TArray[Zaehler].Bezeichnung := rec.Bezeichnung;
Pal.Wegbedingung[Zaehler].Wort := TArray[Zaehler].Wort;
Pal.Wegbedingung[Zaehler].Bezeichnung := TArray[Zaehler].Bezeichnung;
Zaehler := Zaehler + 1;
end;
end;
end;
|
|
Zitat
|