Recupero constante da nome calcolato

di il
2 risposte

Recupero constante da nome calcolato

Ciao a tutti, magari è una boiata ma sto perdendoci un sacco di tempo.

riassunto:
ho 6 costanti, che sono fondamentalmente dei messaggi che devono uscire in base ad un eventuale errore.

ho 6 errori per 6 messaggi.

costanti:
cMsg1 ='pippo';
cMsg2 ='pluto';
cMsg3 ='paperino';
cMsg4 ='qui';
cMsg5 ='quo';
cMsg6 ='qua';


in una procedura ricevo il numero dell'errore e devo andare prendere il valore della constante.
una cosa tipo:
var
nomecostante:string;
begin
nomecostante:='cMsg'+inttostr(numErrore);
showmessage([nomecostante])
end;

quindi nel caso di numerrore = 2 vorrei che lo showmessage mostrasse il messaggio "pluto"

è fattibile questa cosa?

2 Risposte

  • Re: Recupero constante da nome calcolato

    ziobacco ha scritto:


    ho 6 costanti, che sono fondamentalmente dei messaggi che devono uscire in base ad un eventuale errore.
    ho 6 errori per 6 messaggi.
    [...]
    quindi nel caso di numerrore = 2 vorrei che lo showmessage mostrasse il messaggio "pluto"
    è fattibile questa cosa?
    Così come è stata impostata, non è possibile a meno di non usare funzioni per l'esplorazione dei tipi che sarebbe uno spreco poiché complessa e lenta.

    Crea un array di costanti, ad esempio qualcosa del genere:
    
    const
      Msg: array [Integer] of string = ('pippo', 'pluto', 'paperino');
    
    Usando l'indice sulla variabile Msg, puoi selezionare un elemento (la stringa corrispondente).

    Non ho provato il codice direttamente, ma dovrebbe funzionare.

    Ciao!
  • Re: Recupero constante da nome calcolato

    Ti ringrazio, alla fine ho fatto come hai detto tu, recuperare la costante come volvo fare io diventava troppo complicato.
Devi accedere o registrarti per scrivere nel forum
2 risposte