[fpc-pascal] Correct syntax for initialized constants/variables

Ralf Quint freedos.la at gmail.com
Fri Apr 28 07:52:11 CEST 2017

On 4/27/2017 12:22 PM, Ewald wrote:
> On 27/04/17 20:49, Ralf Quint wrote:
>> I try to include some initialized constants/variables in an application
>> of mine, but somehow stumbled upon a stupid little problem that I can't
>> figure out myself after nights on the computer.
>> I see in the reference docs (section 4.4) examples for arrays and
>> examples for records, but in my case, I would need to properly define an
>> array of records.
> Something like this?
> Type
> 	TA = Record
> 		a: Integer;
> 	End;
> Var
> 	SomeArray: Array[0..1] of TA = (
> 		(a: 42;),
> 		(a: 17;)
> 	);
> Note: this is written from memory, syntax might differ a little (but the
> error messages from the compiler should help you out in that case).
Well, no, the error messages just state "expected this, found that",
without actually giving a REAL hint...

The declaration would be something like this

Type tStateRecord = Record
                                         StateAbbrev : String [4];
                                         StateName   : String [40];
                                         InLower48    : Boolean;  
        tStateArray = Array [1..MaxNoStates] of tStateRecord;

Var {or Const, so it's initialized only once}
        States : tStateArray = (  (StateAbbrev  : 'AL', StateName :
'Alabama', InLower48:TRUE),
                                                 (StateAbbrev  : 'AK',
StateName : 'Alaska',     InLower48:FALSE),

Various versions of parenthesis just vary the error message, either the
above mentioned "expected this, found that" or "filed xyz not initialize"...


This email has been checked for viruses by Avast antivirus software.

More information about the fpc-pascal mailing list