Oppure

Loading
21/10/09 14:45
haberdasherv_
mi servirebbe creare una procedura che preso in input un tipo di dato prima dichiarato sia in grado di manipolarne i singoli campi.
type
  TForm1 = class(TForm)
    procedure modifica(var app: ???);
type
  coordinate = record
  var x1 :integer;
      x2 :integer;
      x3 :integer;
      x4 :integer;
  end;
var
  rettangolo : coordinate; 

procedure TForm1.Button1Click(Sender: TObject);
begin
  modifica(rettangolo);
end;

procedure TForm1.modifica(var app: ???);
begin
  app.x1 := 2;
  app.x2 := 37; 
end;


per fare ciò, come dovrei dichiarare la variabile app che viene passata alla procedura?
aaa
21/10/09 14:56
lorenzo
beh se il tipo della variabile app(che poi è uguale a quello di rettangolo) è "coordinate" allora metti

var app: coordinate
aaa
21/10/09 18:53
haberdasherv_
fosse stato così facile non l'avrei chiesto XD
questa è stata la prima cosa che ho fatto ma mi da "undeclared identifier" nella riga dove dichiaro la procedura, "identifier redeclared" dove dichiaro il nome del tipo e ancora "undeclared identifier" dove dichiaro il tipo del dato "rettangolo".
aaa
21/10/09 20:22
lorenzo
togli la parola chiave "var" quando dichiari la struttura "record"

devi mettere per esempio:

rect = record
x1: Integer;
...
end;

non ci va la var per dichiarare le cose in una struttura dati record

e poi la procedura la devi dichiarare DOPO la dichiarazione della record
Ultima modifica effettuata da lorenzo 21/10/09 20:23
aaa
21/10/09 20:40
haberdasherv_
grazie mille, adesso funziona.
aaa