![]() |
Wertezuweisung Record ohne Punktnotation
Huhu,
ich hab wahrscheinlich ne recht simple frage: ich hab nen record:
Delphi-Quellcode:
und ich möchte dem werte zuweisen ohne diese Punktnotation also sowas wie:
myrec = record
x1,x2,x3,x4 : currency; end;
Delphi-Quellcode:
gibbet da ne Möglichkeit, ich hab leider noch nix gefunden.
[...]
var x : myrec; begin x := (1.2,2.3,3.4,4.5); [...] Viele Grüße =) |
Re: Wertezuweisung Record ohne Punktnotation
Du könntest Dir eine Funktion / Prozedur dafür schreiben.
Delphi-Quellcode:
der Aufruf wäre dann:
procedure FillRecord(var R: TMyRec; A1, A2, A3, A4: Currency);
begin with R do begin X1 := A1; X2 := A2; X3 := A3; X4 := A4; end; end;
Delphi-Quellcode:
var
x: TMyRec; begin FillRecord(x, 1.2, 2.3, 3.4, 4.5); end; |
Re: Wertezuweisung Record ohne Punktnotation
Jaaa, das wäre auch ne Alternative... aber eine vorgefertigte Methode gibts da nicht?
Danke schonmal :) |
Re: Wertezuweisung Record ohne Punktnotation
Falls du wirklich einen konstanten Record zuweisen willst, kannst du eine typisierte Konstante deklarieren und dann diese zuweisen. Das sähe dann so aus:
Delphi-Quellcode:
const MyRecordConst: TMyRecord = (a: 1; b: 5; c: 4.5);
|
Re: Wertezuweisung Record ohne Punktnotation
Ich glaube ab Delphi 2006 gehen auch solche schmucken Sachen:
Delphi-Quellcode:
Und benutzt wird es dann so:
type TMyRec = record
x1,x2,x3,x4 : Currency; constructor Create(v1, v2, v3, v4: Currency); //oder: procedure SetValue(v1, v2, v3, v4: Currency); end; ... procedure TMyRec.Create(v1, v2, v3, v4: Currency); begin x1 := v1; x2 := v2; x3 := v3; x4 := v4; end; procedure TMyRec.SetValue(v1, v2, v3, v4: Currency); begin x1 := v1; x2 := v2; x3 := v3; x4 := v4; end; ...
Delphi-Quellcode:
var x: TMyRec;
begin x := TMyRec.Create(1.2, 2.3, 3.4, 4.5); x.SetValue(5.2, 6.3, 7.4, 8.5); end; |
Re: Wertezuweisung Record ohne Punktnotation
Hallo,
Delphi-Quellcode:
Wer kann mir in einem Jahr noch sagen, welcher Wert welchem Recordfeld zugewiesen wird?
FillRecord(x, 1.2, 2.3, 3.4, 4.5);
x := TMyRec.Create(1.2, 2.3, 3.4, 4.5); x.SetValue(5.2, 6.3, 7.4, 8.5); Man sollte bei aller Liebe zu kompaktem Code die Lesbarkeit nicht aus den Augen verlieren. Gruß Hawkeye |
Re: Wertezuweisung Record ohne Punktnotation
Zitat:
P.S.: Das ganze unter der Vorraussetzung, dass man sich konsequent an einen Weg hält und nicht alles mischt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz