Thank you for the answer and the example... I didn't know there was such a 
thing as a variable dictionary, but It looks like that may work for me, I'll 
give it a try!

James
-----Original Message-----
From: fpc-pascal <fpc-pascal-boun...@lists.freepascal.org> On Behalf Of zh loza
Sent: Sunday, July 7, 2019 4:34 PM
To: FPC-Pascal users discussions <fpc-pascal@lists.freepascal.org>
Subject: Re: [fpc-pascal] specify variable name with string variable

Hi all! It's my first answer to the mailing list, hopefully I won't screw 
anything up.

On Sun, Jul 7, 2019 at 10:58 PM James Richters <ja...@productionautomation.net> 
wrote:
>
> This might sound silly,  but is it possible to somehow specify a variable 
> with a string containing the name of the variable?

You might want to try using generic dictionaries. E.g. like this:

program Project1;
uses
  SysUtils, Generics.Collections;

type
  TVariableDictionary = specialize TDictionary<String, PWord>;

var
  MyDictionary: TVariableDictionary;
  MyVariable1: Word;

begin
  MyDictionary := TVariableDictionary.Create;
  MyDictionary.Add('MyVariable1', @MyVariable1);
  MyDictionary['MyVariable1']^ := 100;
  WriteLn(MyVariable1);
  WriteLn(MyDictionary['MyVariable1']^);
  FreeAndNil(MyDictionary);
end.

If you need to address variables of different type, try Variants ( 
https://wiki.freepascal.org/Variant ).
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org 
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to