unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; type TMR = record P1: string; P2: string; P3: string; P4: string; end; var Form1: TForm1; implementation {$R *.dfm} procedure MyProc(AA: TMR); type TMyRec = record P1: string; P2: string; P3: string; P4: string; end; var AAA: TMyRec; begin AAA.P1 := '1'; AAA.P2 := '2'; AAA.P3 := '3'; AAA.P4 := '4'; if AA.P1 <> '' then AAA.P1 := AA.P1; if AA.P2 <> '' then AAA.P2 := AA.P2; if AA.P3 <> '' then AAA.P3 := AA.P3; if AA.P4 <> '' then AAA.P4 := AA.P4; ShowMessage(AAA.P1 + ' ' + AAA.P2 + ' ' + AAA.P3 + ' ' + AAA.P4); end; procedure TForm1.FormCreate(Sender: TObject); var A: TMR; begin MyProc(A); A.P1 := '10'; MyProc(A); A.P2 := 'q'; A.P4 := 'w'; MyProc(A); end; end.