Einzelnen Beitrag anzeigen

ebi

Registriert seit: 8. Sep 2024
10 Beiträge
 
Delphi 12 Athens
 
#5

AW: Sortieren eines Array of record

  Alt 8. Sep 2024, 12:39
Hallo Uwe,

vielen Dank.

Wie muss ich das bei mir einbinden?

Delphi-Quellcode:
procedure TForm_Main.MyObjects_default();
var
  Din, Pal: TSteuerung;
  I: integer;
begin
  // TSteuerung: DIN
  begin
    Din := TSteuerung.Create('DIN');
    SetLength(Din.Nullpunkt, 4);
    Din.Nullpunkt[0] := 'G54';
    Din.Nullpunkt[1] := 'G55';
    Din.Nullpunkt[2] := 'G56';
    Din.Nullpunkt[3] := 'G57';
    SetLength(Din.Parameter, 0);
    SetLength(Din.TAdresse, 0);

    SetLength(Din.Wegbedingung, Length(GCodeA));
    for I := 0 to Length(GCodeA) - 1 do
      begin
        Din.Wegbedingung[I].Wort := GCodeA[I + 1].Wort;
        Din.Wegbedingung[I].Bezeichnung := GCodeA[I + 1].Bezeichnung;
      end;

    SetLength(Din.Schaltfunktion, Length(MCodeA));
    for I := 0 to Length(MCodeA) - 1 do
      begin
        Din.Schaltfunktion[I].Wort := MCodeA[I + 1].Wort;
        Din.Schaltfunktion[I].Bezeichnung := MCodeA[I + 1].Bezeichnung;
      end;
  end;

  // 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);

    SetLength(Pal.Wegbedingung, Length(GCodeB));
    for I := 0 to Length(GCodeB) - 1 do
      begin
        Pal.Wegbedingung[I].Wort := GCodeB[I + 1].Wort;
        Pal.Wegbedingung[I].Bezeichnung := GCodeB[I + 1].Bezeichnung;
      end;

    SetLength(Pal.Schaltfunktion, Length(MCodeB));
    for I := 0 to Length(MCodeB) - 1 do
      begin
        Pal.Schaltfunktion[I].Wort := MCodeB[I + 1].Wort;
        Pal.Schaltfunktion[I].Bezeichnung := MCodeB[I + 1].Bezeichnung;
      end;

    SetLength(Pal.TAdresse, Length(TCodeB));
    for I := 0 to Length(TCodeB) - 1 do
      begin
        Pal.TAdresse[I].Wort := TCodeB[I + 1].Wort;
        Pal.TAdresse[I].Bezeichnung := TCodeB[I + 1].Bezeichnung;
      end;
  end;
  MyObjects.Add(Din);
  MyObjects.Add(Pal);
end;
  Mit Zitat antworten Zitat