TickleSharp

TickleSharp

From the TickleSharp project page, Scott Adams said that: TickSharp is a portable binding to the Tcl/Tk scripting language for the .NET platform. The assembly consists of two files, one is a small C wrapper library that allows for Callbacks into your .NET code, and the other is the assembly itself written in C#. The C# code uses P/Invoke to get at the wrapper and Tcl/Tk DLL's.

TickleSharp 已在 MS.NET, Mono, DotGNU 這些平台通過測試,要開發 TickleSharp App,只要把 TickleSharp.dll, tclwrapper.dll (libtclwrapper.so for Linux) 放在 bin 資料夾即可。另外,你還要裝個 Tcl/Tk 環境才能執行程式,例如 ActiveTcl

底下提供幾個 Embed Tcl/Tk into dotNet Application 的範例 (TickleSharpSamples Download):

HelloTcl

A HelloTcl Program:

using System;
using TickleSharp;

namespace TickleSharpExamples
{    
    public class HelloTcl
    {
        static Tcl tcl;
        
        [STAThread]
        static void Main()
        {
            tcl = new Tcl();
            tcl.Eval("expr 5 * 6");
            
            Console.WriteLine("expr 5 * 6 = " + tcl.Result);
        }
    }
}

HelloTk

A Hello Tk Program (GUI frontend):

using System;
using TickleSharp;

namespace TickleSharpExamples
{
    
    public class HelloTk
    {
        static Tk tk;
        
        [STAThread]
        static void Main()
        {
            // Create a tcl interpreter with Tk initialized
            tk = new Tk();
            
            // Create the GUI
            tk.Eval("wm title . {Hello Tk}");
            tk.Eval("button .b -text {Say Hello} -command {sayHello} -padx 20");
            tk.Eval("pack .b");
            tk.Eval("proc sayHello {} {tk_messageBox -message {Hello Tk} }");
            
            // Enter Tk_MainLoop
            tk.Run();
        }
    }
}

转载于:https://www.cnblogs.com/greencolor/archive/2011/05/31/2065141.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值