zoukankan      html  css  js  c++  java
  • Python For Delphi更好地协同(续)

    Delphi通过PythonForDelphi变量来和Python交换数据可以,有没有别的办法了呢?有,可以像COM一样来调用Python模块的变量和函数,这看起来好像能更酷一些 :-)

    感谢samson,是他的一篇文章使我学习到了这个方法,并且很热心地给予了指教!

    废话少说,先上Python代码(hello.py,放到程序目录下):

    strPython='Hello,This is a python string !'
    dicPython={'StringInfo':'Hello,This is a python string !'}
    lstPython=list('Hello,This is a python string !')
    
    def SayHello(s):
        return 'Hello,'+s

    上面是简单的示例,有变量和函数,我们看看在Delphi中怎样来调用.
    在Delphi中写下面的代码:

    var
      PyModule: variant;
    ....
    
      PyModule := Import('hello');
      //测试Python变量传递
      Memo1.Lines.Add(PyModule.strPython);
      Memo1.Lines.Add(PyModule.dicPython);
      Memo1.Lines.Add(PyModule.lstPython);
      Memo1.Lines.Add(PyModule.SayHello('Garfield'));

    执行后,在Delphi的Memo1中将看到下面的内容:

    Hello,This is a python string !
    {'StringInfo': 'Hello,This is a python string !'}
    ['H', 'e', 'l', 'l', 'o', ',', 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 'p', 'y', 't', 'h', 'o', 'n', ' ', 's', 't', 'r', 'i', 'n', 'g', ' ', '!']
    Hello,Garfield

    怎么样,是不是看起来也很方便?

  • 相关阅读:
    在C#中使用消息队列RabbitMQ
    从url到页面经历了什么
    jsonp跨域远离
    DNS预处理
    一个架构师需要考虑的问题
    angular2和Vue2对比
    图片多的问题
    xinwenti
    xss和csrf
    ajax是什么
  • 原文地址:https://www.cnblogs.com/GarfieldTom/p/2864589.html
Copyright © 2011-2022 走看看