Rect neu definieren aber mit single(floating) Elementen

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
fseuhs
Beiträge: 13
Registriert: Mi 20. Sep 2017, 10:40
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Niederösterreich

Rect neu definieren aber mit single(floating) Elementen

Beitrag von fseuhs »

Hallo ich habe ein Problem, ich möchte einen recordtype definieren, der gleiche oder ähnliche Funktionalität wie TRect hat.

Meine Versuch:

type
TSclPoint = packed record
X: single;
Y: single;
end;

{ TSclRect }

TSclRect = packed record
case Longint of
0: (Left,Top,Right,Bottom : single);
1: (TopLeft,BottomRight : TSclPoint);
end;

funtioniert.

Wenn ich aber so wie .../typshrdh.inc gefunden um Height ergänze:

TSclRect = packed record
private
function GetWidth: single;
procedure SetWidth(AValue: single);
public
Property Width: single read GetWidth write SetWidth;
case Longint of
0: (Left,Top,Right,Bottom : single);
1: (TopLeft,BottomRight : TSclPoint);
end;

Gigt es eine Fehlermeldung
scaledpixel.pas(31,5) Fatal: Syntax error, ":" expected but "FUNCTION" found

Vielleicht erfinde ich gerade das Rad neu und es gibt schon solch ein Single-Rect, oder kann mir dabei jemand helfen.
Danke für die Hilfe.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Rect neu definieren aber mit single(floating) Elementen

Beitrag von wp_xyz »

Du musst noch "advancedrecords" aktivieren, d.h. am Anfang der Unit

Code: Alles auswählen

{$mode objfpc}{$H+}
{$modeswitch advancedrecords} 

oder in den Delphi-Modus schalten

Code: Alles auswählen

{$mode Delphi}

fseuhs
Beiträge: 13
Registriert: Mi 20. Sep 2017, 10:40
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Niederösterreich

Re: Rect neu definieren aber mit single(floating) Elementen

Beitrag von fseuhs »

Besten Dank!
Hat gleich funktioniert.

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Rect neu definieren aber mit single(floating) Elementen

Beitrag von marcov »

Gibst schon. (TPointF, TRectF)

Antworten