API Delphi Client
This is implementation of MikroTik RouterOS API Client for Delphi. It supports execution of parallel requests to router and has database-like interface for easy use.
Contents
Classes
RouterOSAPI unit contains definition of two classes which you need to work with API protocol from your Delphi programs.
TRosApiClient
- function Connect(Hostname, Username, Password: String; Port: String = '8728'): Boolean;
This function connects to the router and performs login procedure. It returns True if login was successful, False otherwise.
- function Query(Request: array of String; GetAllAfterQuery: Boolean): TROSAPIResult;
Makes a query to the router. Request is array of string, first one being the command and others are parameters. If GetAllAfterQuery is True, then TROSAPIResult.GetAll is executed after sending a query.
- function Execute(Request: array of String): Boolean;
If you do not need to receive any output from your query, use this method. It simply calls Query function and frees returned object.
- property Timeout: Integer;
With this property you can set timeout value for network operations (in milliseconds).
- property LastError: String;
This read-only property contains textual description of last error occured.
- procedure Disconnect;
Disconnects from the router.
TRosApiResult
Examples
Creating connection to router
At first, we should declare a variable and create an instance of TRosApiClient:
var RouterOS: TRosApiClient; RouterOS := TRosApiClient.Create;
Now we connect to router and perform login procedure:
if RouterOS.Connect('192.168.0.1', 'admin', 'password') then
begin
//we are connected successfully
end
else
begin
//an error occured; text error message is in LastError property
end;
Executing queries
All queries are done by calling Query function of TRosApiClient. It returns an instance of TRosApiResult, from which all data are fetched.
var Res: TRosApiResult; Res := RouterOS.Query(['/system/resource/print'], True);
Downloads and suggestions
For downloads and suggestions see forum thread RouterOS API Delphi Client