Questione : Dati di caricamento di Delfi nel Arras dinamico due da una singola procedura

Faccio denominare affinchè non dire, Procedure1, dichiarante i seguenti due allineamenti dtynamic:
Var SourceArray, DestArray: allineamento di stringa;

From Procedure1 che voglio denominare Procedure2 o Function2 dove voglio caricare i dati in SourceArray o in DestArray, passando il nome dell'allineamento alla procedura 2, quindi controllando con il passaggio del nome dell'allineamento, in cui la procedura 2 di allineamento è di caricare i dati.  Come questo è fatto?
class= del

Risposta : Dati di caricamento di Delfi nel Arras dinamico due da una singola procedura

la parola che di codice state cercando è “varietà„

- per passare i dati ad una procedura che non deve alterare quella variabile:
tipo
  TMyArray = allineamento di stringa;
procedura Test1 (arr: TMyArray);
cominciare
  ShowMessage (disposizione (“elementi di allineamento: %d„, [livello (arr)]));
estremità;

per per passare i dati ad una procedura che deve alterarsi (o riempire la variabile):
tipo
  TMyArray = allineamento di stringa;
procedura Test2 (arr di varietà: TMyArray);
varietà I: Numero intero;
cominciare
  SetLength (arr, 10);
  per la I: = basso (arr) al livello (arr) fare
    arr [I]: = IntToStr (I);
estremità;

potete anche alterare il numero dei parametri
tipo
  TMyArray = allineamento di stringa;
procedura Test3 (varietà arr1, arr2: TMyArray);
varietà I: Numero intero;
cominciare
  SetLength (arr1, 10);
  per la I: = basso (arr1) al livello (arr1) fare
    arr1 [I]: = IntToStr (I);
  SetLength (arr2, 20);
  per la I: = basso (arr2) al livello (arr2) fare
    arr2 [I]: = IntToStr (I);
estremità;

o scrivere Test3 come questo:
scriv
  TMyArray = allineamento di stringa;
procedura Test3 (varietà arr1, arr2: TMyArray);
varietà I: Numero intero;
cominciare
  Test2 (arr1);
  SetLength (arr2, 20);
  per la I: = basso (arr2) al livello (arr2) fare
    arr2 [I]: = IntToStr (I);
estremità;



Altre soluzioni  
 
programming4us programming4us