Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#22

AW: wie art der daten in blob erkennen?

  Alt 1. Sep 2023, 15:56
Das Casten der TSignature war ja nur, weil ich es in einem Byte gespeichert hab.
Im Record kannst da den richtigen Typ benutzen.

Bei DatenRecords erstelle ich mir gern einen/mehrere Constuctor, um sie direkt einzeilig füllen zu können, auch direkt an Varioable/Property/Parameter übergebbar.
Quasi Delphi-Referenz durchsuchenTRect.Create anstatt einer externen Funktion ala Delphi-Referenz durchsuchenRect, bzw. Delphi-Referenz durchsuchenTPoint.Create und Delphi-Referenz durchsuchenPoint.
Schön wäre bestimmt es, wenn Emba hier den Constructor implitit für Casts benutzen würde, also TSignature(...) alternativ zu TSignature.Create(...) .

Delphi-Quellcode:
  TSignature = packed record
    Format: TSignature;
    Offset: Integer;
    Signature: array of Byte;
    constructor Create(AFormat: TSignature; AOffset: Integer; ASignature: array of Byte);
  end;
  TSignatures = array of TSignature;

function GetSignatureList: TSignatures;
begin
  {
  Result := nil;
  Result := Result + [TSignature.Create(TImageFormat.JPEG, 0, [$FF, $D8, $FF, $DB])];
  Result := Result + [TSignature.Create(TImageFormat.JPEG, 0, [$FF, $D8, $FF, $E0, $00, $10, $4A, $46])];
  ...
  }

  Result := [
    TSignature.Create(TImageFormat.JPEG, 0, [$FF, $D8, $FF, $DB]),
    TSignature.Create(TImageFormat.JPEG, 0, [$FF, $D8, $FF, $E0, $00, $10, $4A, $46]),
    ...
  ];
end;
Ja, der Code wird so weniger optimal, aber vom Code her wird es teilweise schöner.
Man könnte noch schauen, ob es mit einem INLINE; besser wird.

Delphi kennt ja seit 'ner Weile string-like Operatoren, wie man sie von Strings kennt, wie z.B. das + .
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 1. Sep 2023 um 16:01 Uhr)
  Mit Zitat antworten Zitat