Vraag : De Gegevens van de Lading van Delphi in Twee Dynamische Arras van Één enkele Procedure

Ik heb geroepen tenzij, Procedure1 zeg, verklarend de volgende twee dtynamic series:
Var SourceArray, DestArray: serie van Koord;

From Procedure1 die ik heb willen om Procedure2 of Function2 waar ik gegevens in SourceArray of DestArray wil laden, door de naam van de Serie tot Procedure 2 over te gaan, vandaar controlerend roepen door het overgaan van de naam van de Serie, waarin Procedure 2 van de Serie is de gegevens te laden.  Hoe wordt dit gedaan?

Antwoord : De Gegevens van de Lading van Delphi in Twee Dynamische Arras van Één enkele Procedure

het codewoord u bent „VAR“ zoekt

- om gegevens tot een procedure over te gaan die niet moet veranderen dat variabele:
type
  TMyArray = serie van koord;
procedure Test1 (arr: TMyArray);
begin
  ShowMessage (Formaat (de „elementen van de Serie: %d“, [Hoogte (arr)]));
eind;

om gegevens tot een procedure over te gaan die moet veranderen (of de variabele invullen):
type
  TMyArray = serie van koord;
procedure Test2 (var arr: TMyArray);
var I: Geheel;
begin
  SetLength (arr, 10);
  voor I: = Laag (arr) aan Hoogte (arr)
    arr [I]: = IntToStr (I);
eind;

u kunt het aantal parameters ook veranderen
type
  TMyArray = serie van koord;
procedure Test3 (var arr1, arr2: TMyArray);
var I: Geheel;
begin
  SetLength (arr1, 10);
  voor I: = Laag (arr1) aan Hoogte (arr1)
    arr1 [I]: = IntToStr (I);
  SetLength (arr2, 20);
  voor I: = Laag (arr2) aan Hoogte (arr2)
    arr2 [I]: = IntToStr (I);
eind;

of schrijf Test3 als dit:
type
  TMyArray = serie van koord;
procedure Test3 (var arr1, arr2: TMyArray);
var I: Geheel;
begin
  Test2 (arr1);
  SetLength (arr2, 20);
  voor I: = Laag (arr2) aan Hoogte (arr2)
    arr2 [I]: = IntToStr (I);
eind;



Andere oplossingen  
 
programming4us programming4us