- Desktop
- Tools
- PASCAL Programming
- ADO Example
ADO Example
The following code is an example of how to create a ADO with the custom tool scripting.
//// Sample script for Optuma tool programming//
// This section is where variable are defined that need to be used in both the Init and Process procedures// DefineTool is where the settings for the Tool are defined// This procedure is called once when the tool is loaded// Normally this procedure does not need to be changedprocedure DefineTool(Tool : TTool);begin Tool.Name := 'ado'; Tool.Key := '210189E5-77AF-4616-B5A1-04829030C11E'; Tool.MouseClicks := 1; Tool.Hint := 'ado com example'; Tool.ToolType := ttDataList;end;
// Init is called to initialise the tool// This procedure is called once when the tool is added to a chartprocedure Init(Tool : TTool);var ObjConnC, ObjRSC : Variant; myDSN : String; mySQL : String; i : Integer; fld : variant; aText : TText;begin Tool.ShowInPropertiesPanel := False;
ObjConnC := CreateOleObject('ADODB.Connection'); ShowMessage('ADO connection created'); myDSN := 'Driver={Microsoft Access Driver (*.mdb)};DBQ=countries.mdb'; ObjConnC.Open(myDSN); ShowMessage('ADO connection opened'); ObjRSC := CreateOleObject('ADODB.RecordSet'); mySQL := 'SELECT * FROM COUNTRIES'; ObjRSC.ActiveConnection := ObjConnC; ObjRSC.Open(mySQL); i := 0; while (ObjRSC.Eof = False) do begin { get the field } fld := ObjRSC.Fields('COUNTRY'); { add field value to combobox } aText := Tool.AddText(fld.value, now(), 50+i); { count nr. of items added } i := i + 1; ObjRSC.MoveNext; end; ShowMessage('Added '+inttostr(i)+' records'); ObjRSC.Close; ObjConnC.Close;end;
// Process is called to calculate and drawn the tool on screen// This procedure is called when new data is received or loaded and// when a selection point is moved by the userprocedure Process(Tool : TTool; ProcessStart : Integer; ProcessEnd : Integer; DataIn : TDataList);begin
end;Forum Discussion
Your privacy choices
We use cookies and similar technologies to make the site work, see how it's used, and improve it. Analytics and advertising cookies only run with your consent — see our Privacy Policy for details.