Einzelnen Beitrag anzeigen

Benutzerbild von dummzeuch
dummzeuch
Online

Registriert seit: 11. Aug 2012
Ort: Essen
1.586 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: kleine Datentypen (BYTE) zusammenfassend als z.B. WORD/Integer übergeben

  Alt 14. Okt 2024, 17:02
Was willst Du damit erreichen? Speicher sparen? Klar geht das, aber bei vielen Werten geht das dann ziemlich auf die Performance und nicht zuletzt auf die Lesbarkeit / Debugbarkeit.

Ich würde dann vermutlich ein
Delphi-Quellcode:
type
  TCombinedCoord = packed record
  var integer of // <= das belegt keinen Speicher
    0: (AsWord: Word);
    1: (x, y: Byte);
  end;
Einen solchen Record kann man dann auch noch mit ein paar Methoden schmücken:
Delphi-Quellcode:
type
  TCombinedCoord = packed record
    // Methoden müssen vor dem VAR-Part deklariert werden
    class function From(_x, _y: byte): TCombinedCoord; static;
  var integer of
    0: (AsWord: Word);
    1: (x, y: Byte);
  end;
So dass man z.B. folgendes schreiben könnte:

MeinMittelpunkt := Mittelpunkt(TCombinedRecord.From(x1,y1), TCombinedRecord.From(x2,y2));
Ob das aber soviel besser ist?

Lesbarer wäre definitiv eine normale Funktion statt einer Methode:

MeinMittelpunkt := Mittelpunkt(Combine(x1,y1), Combine(x2,y2));
Thomas Mueller

Geändert von dummzeuch (14. Okt 2024 um 17:04 Uhr)
  Mit Zitat antworten Zitat