Home

News

International

Screen Shots

Documentation

Download

Build

License

Credits

Contact

SourceForge Project

Tintware Documentation : Tint Automation Client : ADO Example : ADO Example Source

To run this code, you will have to copy it into a file and load the file in Tint Emacs. Use M-x eval-current-buffer to compile the code.

Def:Proc:ado(%cs,%node)
[*]
#(def?,oleauto.new-object,,(
	#(tint.ignore,#(tint.library,toac))
))
#(ado.connection,#(oleauto.new-object,adodb.connection),(%cs),
	#(oleauto.new-object,adodb.command),%node)
[*]

Def:Proc:ado.connection(%con,%cs,%cmd,%node)
[*]
#(proc,%con.OnWillConnect,(#(ado.on-will-connect,%obj,%args)),,,%obj,%args)
#(proc,%con.OnWillExecute,(#(ado.on-will-execute,%obj,%args)),,,%obj,%args)
#(%con.Open,(%cs),,,)
#(%cmd.ActiveConnection.putref,%con)
#(ado.child,%cmd,%node)
#(ado.container,%cmd,adict,dict)
#(ado.procedure,%cmd,aprocedure,body of the procedure)
#(ado.string,%cmd,astring,this is the value,0,0)
#(undef,%con)
#(undef,%cmd)
[*]

Def:Proc:ado.on-will-connect(%obj,%args)
[*]
#(emacs.util.message,on-will-connect: #(tint.firstn,#(%args.1),40)...)
[*]

Def:Proc:ado.on-will-execute(%obj,%args)
[*]
#(emacs.util.message,on-will-execute: #(tint.firstn,#(%args.1),40)...)
[*]

Def:Proc:ado.child(%cmd,%node)
[*]
#(def?,ado.child.#(tint.type,%node),(
	#(ado.child.#(tint.type,%node),%cmd,%node)
))
[*]

Def:Proc:ado.body(%body)
[*]
#(tint.map-string,#(tint.map-string,#(tint.map-string,
	#(tint.firstn,%body,255),',"),(
), ),(
), )
[*]

Def:Proc:ado.child.string(%cmd,%node)
[*]
#(ado.string,%cmd,%node,#(ado.body,#(tint.data,##(%node.get-all))),
	#(%node.offset),#(%node.attribute))
[*]

Def:Proc:ado.child.procedure(%cmd,%node)
[*]
#(ado.procedure,%cmd,%node,#(ado.body,#(tint.data,##(%node,%arg1,%arg2,%arg3,
	%arg4,%arg5,%arg6,%arg7,%arg8,%arg9))))
#(tint.foreach,##(tint.list,(	),%node.),(	),
	(ado.child.item,%cmd,%node))
[*]

Def:Proc:ado.child.item(%cmd,%node,%item)
[*]
#(ado.child,%cmd,%node.%item)
[*]

Def:Proc:ado.child.dict(%cmd,%node)
[*]
#(ado.container,%cmd,%node,dict)
#(tint.foreach,##(tint.list,(	),%node.),(	),
	(ado.child.item,%cmd,%node))
[*]

Def:Proc:ado.child.array(%cmd,%node)
[*]
#(ado.container,%cmd,%node,array)
#(tint.foreach,##(tint.list,(	),%node.),(	),
	(ado.child.item,%cmd,%node))
[*]

Def:Proc:ado.container(%cmd,%name,%type)
[*]
#(%cmd.CommandText.put,
	(INSERT INTO TintContainers (Name, Type)
            VALUES ('%name', '%type')))
#(undef,#(%cmd.Execute))
[*]

Def:Proc:ado.string(%cmd,%name,%body,%offset,%attribute)
[*]
#(%cmd.CommandText.put,
	#(=,%body,,(
		(INSERT INTO TintStrings (Name, Body, Offset, Attribute)
	            VALUES ('%name', '<empty>', %offset,
	            '%attribute'))
	),(
		(INSERT INTO TintStrings (Name, Body, Offset, Attribute)
	            VALUES ('%name', '%body', %offset,
	            '%attribute'))
	)))
#(undef,#(%cmd.Execute))
[*]

Def:Proc:ado.procedure(%cmd,%name,%body)
[*]
#(%cmd.CommandText.put,
	#(=,%body,,(
		(INSERT INTO TintProcedures (Name, Body)
	            VALUES ('%name', '<empty>'))
	),(
		(INSERT INTO TintProcedures (Name, Body)
	            VALUES ('%name', '%body'))
	)))
#(undef,#(%cmd.Execute))
[*]