Learn How To Use Python Functions With Keyword Arguments In A Delphi Windows App

rocedure TForm1.Button1Click(Sender: TObject);

var

  P : Variant;

begin

  PythonEngine1.ExecStrings( Memo1.Lines );

  P := MainModule.Person(‘John’, ‘Doe’);

  Assert(P.first_name = ‘John’);

  Assert(P.last_name = ‘Doe’);

  Assert(VarIsNone(P.weight));

  Assert(VarIsNone(P.height));

  Assert(VarIsNone(P.age));

  P := MainModule.Person(‘John’, ‘Doe’, weight := 70);

  Assert(P.first_name = ‘John’);

  Assert(P.last_name = ‘Doe’);

  Assert(P.weight = 70);

  Assert(VarIsNone(P.height));

  Assert(VarIsNone(P.age));

  P := MainModule.Person(‘John’, ‘Doe’, weight := 70, height := 172);

  Assert(P.first_name = ‘John’);

  Assert(P.last_name = ‘Doe’);

  Assert(P.weight = 70);

  Assert(P.height = 172);

  Assert(VarIsNone(P.age));

  P := MainModule.Person(‘John’, ‘Doe’, weight := 70, height := 172, age := 35);

  Assert(P.first_name = ‘John’);

  Assert(P.last_name = ‘Doe’);

  Assert(P.weight = 70);

  Assert(P.height = 172);

  Assert(P.age = 35);

  P := MainModule.Person(last_name := ‘Doe’, first_name := ‘John’, weight := 70, height := 172, age := 35);

  Assert(P.first_name = ‘John’);

  Assert(P.last_name = ‘Doe’);

  Assert(P.weight = 70);

  Assert(P.height = 172);

  Assert(P.age = 35);

  P := MainModule.Person(‘John’, ‘Doe’, 35, 172, 70);

  Assert(P.first_name = ‘John’);

  Assert(P.last_name = ‘Doe’);

  Assert(P.weight = 70);

  Assert(P.height = 172);

  Assert(P.age = 35);

  Memo2.Lines.Add(‘Success’)

end;