[fpc-pascal]RE: Defining Records on the fly:
Jon D. Sawyer
badquanta6384 at comcast.net
Thu Feb 19 03:27:41 CET 2004
^_^ Thats how its working at the moment and I've known that FPC doesn't
do that kinda definition on the fly. My real question was why not?
On Wed, 2004-02-18 at 21:34, Adam Victor Nazareth Brandizzi wrote:
> You can also define a function that returns the record you need:
>
> function NewMyRec( X, Y : double ) : TMyRec;
> begin
> NewMyRec.x := X;
> NewMyRec.y := Y;
> end;
>
> I think it's really better than declare a new variable and initialize it
> by the code.
>
> if CheckPoint(NewMyRec(1.2, 2.2)) then ...
>
> Be well...
>
> Jeff Pohlmeyer wrote:
>
> >Since Free Pascal supports function overloading,
> >you could do something like this:
> >
> >
> >Function CheckPoint(X, Y:real): Boolean;
> >Begin
> > {Does something here..}
> >end;
> >
> >
> >Function CheckPoint(aPoint: tMyRec): Boolean;
> >Begin
> > Result:=CheckPoint(aPoint.X, aPoint.Y);
> >end;
> >
> >
> >// So you can use it either way:
> >
> >var
> > MyRec:tMyRec;
> >begin
> > if CheckPoint(MyRec) then {do stuff};
> > if CheckPoint(1.2, 2.2) then {do more stuff};
> >end;
> >
> >
> >
> >
> >>Here is why I was wondering why you couldn't, say I have this type:
> >>Type tMyRec = Record X, Y : Real; End;
> >>
> >>And I have this function:
> >>
> >>Function CheckPoint(aPoint: tMyRec): Boolean;
> >>Begin
> >> {Does something here..}
> >>end;
> >>
> >>begin
> >> CheckPoint((X:1.2;Y:2.2));
> >>end.
> >>
> >>
> >
> >
> >__________________________________
> >Do you Yahoo!?
> >Yahoo! Mail SpamGuard - Read only the mail you want.
> >http://antispam.yahoo.com/tools
> >
> >_______________________________________________
> >fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> >http://lists.freepascal.org/mailman/listinfo/fpc-pascal
> >
> >
> >
>
More information about the fpc-pascal
mailing list