Einzelnen Beitrag anzeigen

ebi

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

Sortieren eines Array of record

  Alt 8. Sep 2024, 04:03
Hallo,

wie kann ich das GCodeB: array of TCode numerisch (G0, G1, ... G9, G10, G11 ...) sortieren?

Vielen Dank.

Delphi-Quellcode:
unit steuerung;

interface

type
  TCode = record
    Wort: string;
    Bezeichnung: string;
  end;

  TSteuerung = class
  const
    Ebene: array [1 .. 3] of string = ('G17', 'G18', 'G19');
  public
    Name: string;
    Nullpunkt: array of string;
    Parameter: array of string;
    Wegbedingung: array of TCode;
    Schaltfunktion: array of TCode;
    TAdresse: array of TCode;
    constructor Create; overload;
    constructor Create(Value: string); overload;
  end;

const
  GCodeB: array [1 .. 35] of TCode = (
    (Wort: 'G0'; Bezeichnung: 'Verfahrweg im Eilgang'),
    (Wort: 'G1'; Bezeichnung: 'Linearinterpolation im Arbeitsgang'),
    (Wort: 'G2'; Bezeichnung: 'Kreisinterpolation im Uhrzeigersinn'),
    (Wort: 'G3'; Bezeichnung: 'Kreisinterpolation im Gegenuhrzeigersinn'),
    (Wort: 'G4'; Bezeichnung: 'Verweildauer'),
    (Wort: 'G9'; Bezeichnung: 'Genauhalt'),
    (Wort: 'G14'; Bezeichnung: 'Werkzeugwechselpunkt (WWP) anfahren'),
    (Wort: 'G50'; Bezeichnung: 'Aufheben der inkrementellen Nullpunktverschiebung und Drehungen'),
    (Wort: 'G53'; Bezeichnung: 'Alle Nullpunktverschiebungen und Drehungen aufheben'),
    (Wort: 'G22'; Bezeichnung: 'Unterprogrammaufruf'),
    (Wort: 'G23'; Bezeichnung: 'Programmteilwiederholung'),
    (Wort: 'G30'; Bezeichnung: 'Umspannen/Gegenspindelübernahme'),
    (Wort: 'G10'; Bezeichnung: 'Verfahren im Eilgang mit Polarkoordinaten'),
    (Wort: 'G11'; Bezeichnung: 'Linearinterpolation mit Polarkoordinaten'),
    (Wort: 'G12'; Bezeichnung:
    'Kreisinterpolation im Uhrzeigersinn mit Polarkoordinaten mit angetriebenem Werkzeug'),
    (Wort: 'G13'; Bezeichnung: 'Kreisinterpolation im Gegenuhrzeigersinn mit Polarkoordinaten'),
    (Wort: 'G45'; Bezeichnung: 'lineares tangentiales Anfahren an einer Kontur'),
    (Wort: 'G46'; Bezeichnung: 'lineares tangentiales Abfahren an einer Kontur'),
    (Wort: 'G47'; Bezeichnung: 'tangentiales Anfahren im Viertelskreis'),
    (Wort: 'G92'; Bezeichnung: 'Drehzahlbegrenzung'),
    (Wort: 'G94'; Bezeichnung: 'Vorschubgeschwindigkeit in mm/mni (Adresse: F)'),
    (Wort: 'G95'; Bezeichnung: 'Vorschub in mm (Adresse: F, opional E)'),
    (Wort: 'G96'; Bezeichnung: 'konst. Schnittgeschwindigkeit in m/min (Adresse: S)'),
    (Wort: 'G97'; Bezeichnung: 'konstante Drehzahl in 1/min (Adresse: S)'),
    (Wort: 'G70'; Bezeichnung: 'Umschalten auf Maßeinheit Zoll (inch)'),
    (Wort: 'G71'; Bezeichnung: 'Umschalten auf Maßeinheit Millimeter (mm)'),
    (Wort: 'G90'; Bezeichnung: 'absolute Maßangabe'),
    (Wort: 'G91'; Bezeichnung: 'Kettenmaßangabe'),
    (Wort: 'G80'; Bezeichnung: 'Abwahl einer Bearbeitungszyklus-Konturbeschreibung'),
    (Wort: 'G40'; Bezeichnung: 'Abwahlder Schneidenradiuskorrektur (SRK)'),
    (Wort: 'G41'; Bezeichnung: 'SRK links von der programmierten Kontur'),
    (Wort: 'G42'; Bezeichnung: 'SRK rechts von der programmierten Kontur'),
    (Wort: 'G48'; Bezeichnung: 'tangentiales Abahren im Viertelkreis'),
    (Wort: 'G16'; Bezeichnung: 'inkrementelle Drehung der aktuellen Bearbeitungsebene'),
    (Wort: 'G17'; Bezeichnung: 'Ebenenanwahl mit maschinenfesten Raumwinkeln'));
  Mit Zitat antworten Zitat