Come dichiarare e inizializzare array costanti in Delphi

In Delphi, il versatile linguaggio di programmazione Web, gli array consentono a uno sviluppatore di fare riferimento a una serie di variabili con lo stesso nome e di utilizzare un numero, un indice, per distinguerli.

Nella maggior parte degli scenari, si dichiara un array come una variabile, che consente di modificare gli elementi dell'array in fase di esecuzione.

Tuttavia, a volte è necessario dichiarare un array costante, un array di sola lettura. Non è possibile modificare il valore di una costante o di una variabile di sola lettura. Pertanto, mentre si dichiara un array costante, è necessario inizializzarlo.

Dichiarazione di esempio di tre array costanti

Questo esempio di codice dichiara e inizializza tre matrici costanti, denominate giorni, CursorMode, e Elementi.

  • giorni è una matrice di stringhe di sei elementi. Giorni [1] restituisce la stringa Mon.
  • CursorMode è un array di due elementi, per cui la dichiarazione CursorMode [false] = crHourGlass e CursorMode = crSQLWait. Le costanti "cr *" possono essere utilizzate per modificare il cursore dello schermo corrente.
  • Elementi definisce una matrice di tre record TShopItem.
genere
   TShopItem = record
     Nome: stringa;
     Prezzo: valuta;
   fine;
const
   Giorni: array [0… 6] di stringa =
   (
     'Sole', 'Lun', 'Mar', 'Mer',
     'Gio', 'Ven', 'Sab'
   );
   CursorMode: array [booleano] di TCursor =
   (
     crHourGlass, crSQLWait
   );
   Articoli: array [1… 3] di TShopItem =
   (
     (Nome: "Orologio"; Prezzo: 20,99),
     (Nome: 'Matita'; Prezzo: 15,75),
     (Nome: "Consiglio"; Prezzo: 42,96)
   );

Il tentativo di assegnare un valore per un elemento in un array costante genera l'errore di compilazione "Impossibile assegnare il lato sinistro". Ad esempio, il seguente codice non viene eseguito correttamente:

 Articoli [1] .Name: = 'Watch'; //non verrà compilato