Foxtable(狐表)用户栏目专家坐堂 → 让狐表再插上python的翅膀


  共有6855人关注过本帖树形打印复制链接

主题:让狐表再插上python的翅膀

帅哥哟,离线,有人找我吗?
shanshuizhujian
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:224 积分:2222 威望:0 精华:0 注册:2011/12/14 9:56:00
让狐表再插上python的翅膀  发帖心情 Post By:2020/3/1 16:39:00 [显示全部帖子]

最近一直在学习python,学习了一段时间,发现python的确很好玩,至于优点,大家自行百度吧,我就不做这方面的搬运工了。今天就给大家搬一点和fox有关的东西吧。
在fox里调用python 里自己写的方法,返回数据回到fox里,就是给python加上fox的界面,好了废话不多说了,上代码。这些方法来自于互联网,连接在这里,谢谢。http://www.51testing.com/html/53/61753-154560.htmlhttp://www.icodeguru.com/WebServer/Python-Programming-on-Win32/ch05.htm
#################################################
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2020-03-01 16:01:56
# @Author  : shanshuizhujian (shanshuizhujian@gmail.com)
# @Link    : ${link}
# @Version : $Id$
#需要先安装pipywin32模块、requests库
import win32com.server.register
import pythoncom
'''
这个类主要是为了让foxtable调用python的方法的,也是为了和python之间进行通信的。
一些在foxtable不擅长的可以放到python里来实施,这样可以发挥fox的界面优势,数据库优势,
发挥python灵活,大量库的优势。

[description]
'''
class MyPyFoxCom:

    _public_methods_=['SplitString','getHTMLText'] #这里一定要把你这个模块的函数名称加进来,否则fox找不到函数。
    _reg_progid_='PythonDemos.PyFoxCom'
#这个地方还是不能直接使用这句话 ,不然没注册一次注册表就多一个id,还是先print出来,然后换上吧。
# 使用"print (pythoncom.CreateGuid())" 得到一个自己的clsid,
    _reg_clsid_=‘刚刚得到的id’

    def SplitString(self, val, item=None):
        import string 
        if item !=None: 
            item=str(item)
        val=str(val)
        return val.split(item)

    def getHTMLText(self,url):
        import requests
        import string
        try:
            url = str(url)
            r= requests.get(url,timeout=5)
            r.raise_for_status()
            r.encoding = r.apparent_encoding
            return str(r.text)
        except:
            return str("链接返回错误:" + url)
if __name__=='__main__':
    print ('Registering COM server...')

    win32com.server.register.UseCommandLine(MyPyFoxCom)

###########################################
    #以上代码,另存为pyfox.py,然后执行。
    #注册完成后开关机都不会影响,修改类之后可以随时调用,不需要再注册。
    #下面语句用来清除com的使用的,打开cmd,根据你文件存放路径,改写之后直接粘贴执行即可。
    
    # python 你自己的路径\pyfox.py --unregister

    #下面是foxtable调用代码,执行完上面代码之后,把下面的代码拷贝到foxtable命令,执行即可看到效果。
    # Dim PythonUtils As object
    # PythonUtils= CreateObject("PythonDemos.PyFoxCom")
    # Dim response As object
    # response = PythonUtils.SplitString("Hello from VB")
    # For Each Item As object In response
    #     Output.show(Item)
    # Next
    # response = PythonUtils.getHTMLText("http://www.baidu.com")
    # output.Show(response)#返回的结果是百度首页的源代码
[此贴子已经被作者于2020/3/1 20:40:51编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
shanshuizhujian
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:224 积分:2222 威望:0 精华:0 注册:2011/12/14 9:56:00
  发帖心情 Post By:2020/3/1 16:49:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:1583052491(1).png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
shanshuizhujian
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:224 积分:2222 威望:0 精华:0 注册:2011/12/14 9:56:00
回复:(wei0769)好历害,可以扩展很多。有没有可能做...  发帖心情 Post By:2020/3/1 20:52:00 [显示全部帖子]

没理解您说的意思,能否详细说明一下,python有生产二维码的库。

 回到顶部
帅哥哟,离线,有人找我吗?
shanshuizhujian
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:224 积分:2222 威望:0 精华:0 注册:2011/12/14 9:56:00
回复:(狐狸爸爸)谢谢分享  发帖心情 Post By:2020/3/1 20:53:00 [显示全部帖子]

谢谢!继续努力!

 回到顶部
帅哥哟,离线,有人找我吗?
shanshuizhujian
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:224 积分:2222 威望:0 精华:0 注册:2011/12/14 9:56:00
回复:(blackzhu)意义不是很大,要做扩展可以考虑用c...  发帖心情 Post By:2020/3/2 9:45:00 [显示全部帖子]

就是感觉好玩,其实实用呢,我也没想到能带来什么便利,所以也就玩一会停一会。目前就只是想借fox可以设置可视化界面,把python实现功能有个外壳而已。不知道将来这两个结合能带来什么可能。我就先设想一下吧,权当玩了。大家可以讨论嘛,万一有啥新的玩意呢。
python 爬虫 + fox 数据和网页展示
python 小功能(生成词云,处理word、excel,录音转写、声音合成、科学计算、数据分析等)集成到fox设计的程序里
我工作生活涉及的有限,所以就想到这些,见笑了。

 回到顶部
帅哥哟,离线,有人找我吗?
shanshuizhujian
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:224 积分:2222 威望:0 精华:0 注册:2011/12/14 9:56:00
回复:(chen37280600)我也觉得意义不大,尤其是在商...  发帖心情 Post By:2020/3/2 9:46:00 [显示全部帖子]

我还没考虑到商用,仅是玩玩而已。以后发展谁说的准呢?万一有可能呢?

 回到顶部