Hur man förklarar och initierar konstant matriser i Delphi

I Delphi, det mångsidiga webbprogrammeringsspråket, gör arrayer en utvecklare att hänvisa till en serie variabler med samma namn och att använda ett nummer-ett index-för att skilja dem från varandra.

I de flesta scenarier förklarar du en matris som en variabel, som gör det möjligt att ändra arrayelement vid körning.

Men ibland måste du förklara en konstant matris - en skrivskyddad matris. Du kan inte ändra värdet på en konstant eller en skrivskyddad variabel. Därför måste du även initialisera det medan du förklarar en konstant matris.

Exempel deklaration av tre konstant matriser

Detta kodexempel deklarerar och initialiserar tre konstant matriser, namngivna dagar, CursorMode, och artiklar.

  • dagar är en stränguppsättning av sex element. Dagar [1] returnerar mån-strängen.
  • CursorMode är en matris med två element, varvid deklaration CursorMode [false] = crHourGlass och CursorMode = crSQLWait. "cr *" -konstanter kan användas för att ändra den aktuella skärmmarkören.
  • artiklar definierar en matris med tre TShopItem-poster.
typ
   TShopItem = post
     Namn: sträng;
     Pris: valuta;
   slutet;
const
   Dagar: matris [0… 6] av sträng =
   (
     'Sol', 'Man', 'Tis', 'Ons',
     'Tors', 'fre', 'lör'
   );
   CursorMode: array [boolean] of TCursor =
   (
     crHourGlass, crSQLWait
   );
   Objekt: matris [1… 3] av TShopItem =
   (
     (Namn: 'Clock'; Pris: 20.99),
     (Namn: 'Pencil'; Pris: 15,75),
     (Namn: "Board"; Pris: 42.96)
   );

Att försöka tilldela ett värde för ett objekt i en konstant matris höjer "vänster sida kan inte tilldelas" kompilering av tidfel. Följande kod körs inte framgångsrikt:

 Objekt [1] .Name: = 'Titta'; //kommer inte att sammanställa