Sample code for 30+ languages & platforms
Delphi DLL

Eval JavaScript Returning Int

See more JavaScript Examples

Demonstrates getting the completion value of a JavaScript that returns an integer.

Chilkat Delphi DLL Downloads

Delphi DLL
var
success: Boolean;
sbScript: HCkStringBuilder;
js: HCkJs;
result: HCkJsonObject;

begin
success := False;

//  This example demonstrates getting the completion value of a script,
//  where the last evaluated expression is an integer.

//  The Javascript run in this example is shown below.

//  Load the JavaScript from a file.
sbScript := CkStringBuilder_Create();
success := CkStringBuilder_LoadFile(sbScript,'js_eval_return_int.js','utf-8');
if (success = False) then
  begin
    Memo1.Lines.Add(CkStringBuilder__lastErrorText(sbScript));
    Exit;
  end;

js := CkJs_Create();
result := CkJsonObject_Create();

//  Run the JavaScript
//  Eval returns the completion value of the script. This is generally the value of the last evaluated expression.
//  In this case, the last evaluated expression is an int.
success := CkJs_Eval(js,sbScript,result);
if (success = False) then
  begin
    Memo1.Lines.Add(CkStringBuilder__lastErrorText(sbScript));
    Exit;
  end;

CkJsonObject_putEmitCompact(result,False);
Memo1.Lines.Add(CkJsonObject__emit(result));

//  Output:

//  {
//    "type": "int",
//    "value": 42
//  }

CkStringBuilder_Dispose(sbScript);
CkJs_Dispose(js);
CkJsonObject_Dispose(result);

JavaScript
const base = 10;
const multiplier = 4;
const offset = 2;

// The last line is a calculation resulting in an integer
// Returns 42.
(base * multiplier) + offset;