- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试用 python 编写 DDE 服务器,它需要将不断变化的字符串发送到作为 DDE 客户端连接的程序。
连接到 DDE 服务器的程序使用以下 DDE 设置来连接 [Service: Orbitron, Topic: Tracking, Item: Tracking]。该程序必须接收 DDE 服务器以下列字符串格式发送的信息:“UP0 DN145000001 UMusb DMfm AZ040 EL005 SNNO 卫星”。
此字符串的内容大约每秒更改一次,我希望 DDE 服务器将新字符串发送到连接的 DDE 客户端,例如每秒。
我目前正在使用下面的代码,它是原始 ddeserver.py 文件的略微修改版本,see here .
import win32ui
from pywin.mfc import object
import dde
class MySystemTopic(object.Object):
def __init__(self):
object.Object.__init__(self, dde.CreateServerSystemTopic())
def Exec(self, cmd):
print "System Topic asked to exec", cmd
class MyOtherTopic(object.Object):
def __init__(self, topicName):
object.Object.__init__(self, dde.CreateTopic(topicName))
def Exec(self, cmd):
print "Other Topic asked to exec", cmd
class MyRequestTopic(object.Object):
def __init__(self, topicName):
topic = dde.CreateTopic(topicName)
topic.AddItem(dde.CreateStringItem(""))
object.Object.__init__(self, topic)
def Request(self, aString):
print "Request Topic sent: ", aString
a="UP0 DN145800001 UMusb DMfm AZ040 EL005 SNNO SATELLITE"
print a
return(a)
server = dde.CreateServer()
server.AddTopic(MyRequestTopic("Tracking"))
server.Create('Orbitron')
while 1:
win32ui.PumpWaitingMessages(0, -1)
当我运行代码时,我可以成功连接到程序并且字符串(如代码中提供的那样)被接收一次。我尝试了一些不同的东西,但我还想不出一种方法如何更改为 python 代码,以便让 DDE 服务器在循环或类似的情况下连续重新发送字符串。
我们非常欢迎任何建议。
附言我对 python、DDE 和这个论坛比较陌生,如果有什么不清楚的地方,我深表歉意。请告诉我。
最佳答案
# coded by JayleoPlayGround
# use Portable Python 2.7.5.1 + pywin32-214
import time
import win32ui, dde
from pywin.mfc import object
class DDETopic(object.Object):
def __init__(self, topicName):
self.topic = dde.CreateTopic(topicName)
object.Object.__init__(self, self.topic)
self.items = {}
def setData(self, itemName, value):
try:
self.items[itemName].SetData( str(value) )
except KeyError:
if itemName not in self.items:
self.items[itemName] = dde.CreateStringItem(itemName)
self.topic.AddItem( self.items[itemName] )
self.items[itemName].SetData( str(value) )
ddeServer = dde.CreateServer()
ddeServer.Create('Orbitron')
ddeTopic = DDETopic('Tracking')
ddeServer.AddTopic(ddeTopic)
while True:
yourData = time.ctime() + ' UP0 DN145000001 UMusb DMfm AZ040 EL005 SNNO SATELLITE'
ddeTopic.setData('Tracking', yourData)
win32ui.PumpWaitingMessages(0, -1)
time.sleep(0.1)
关于python - python创建DDE服务器并持续发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30152460/
我想查看当前在我的计算机上处于事件状态的所有 DDE 服务器(如果可能,还有主题)的列表。我怎样才能做到这一点?是否为每个 DDE 服务器启动了某些服务? 我在 Internet 和 stacko
我是 Python(2.7 版)的新手。我一直在使用一些 excel 工作簿,这些工作簿使用 DDE 函数来捕获“实时市场数据”——由一个市场数据提供商(“Matriks”,如果重要的话)提供服务。
我在第 11 列中有数据( dde 链接)。我希望在第 12 列中的第 11 列中的数据发生变化时有一个时间戳。这是我尝试过但没有按预期工作的一些代码? 在表 1 中......: Private
我想在一个单元格中插入多行,但 DDE 不能直接输入 '0A'x。 filename xlSheet1 dde "Excel|c:\test.xlsx.Report!R1.C1:R1.C3" nota
我正在寻找旧的 DDESpy 工具。 有谁知道我在哪里可以下载它或类似的东西? 最佳答案 找到了:http://filedb.experts-exchange.com/incoming/2009/06
我在 A 列中有数据,并且当 A 列中的数据发生更改时,我希望 B 列中有一个时间戳。 现在这是棘手的部分:A 列的值是基于公式的,来自 Vlookup 表。这个 Vlookup 表有 dde 链
我想使用 SAS DDE 保存为 excel 文件。如果文件存在,任何人都知道如何关闭excel的警告? 下面是代码: FILENAME DCMDS DDE'EXCEL|SYSTEM'; DATA _
概括: 我需要使用 DDE 存储/分析进入 Excel 中 1 个单元格的实时时间序列。 问题: 因为它是 1 个不断变化的单元格,所以我不知道如何获取更新值的每个实例,以便我可以在其他公式、绘图等中
我将 TeXnicCenter 用于 LaTeX,并希望 DDE 控件能够轻松查看 pdf 版本。 Acrobat X 似乎更改了服务器名称,这是破坏性的。 我试过“AcroViewR10”或“acr
我正在开发一个证券交易所信息平台,我们正在考虑在我们的平台和自制 Excel 文件之间提供链接。金融市场仍然受制于旧的 DDE 服务器方法,现在它仍然重要吗? 对 Excel 文件、OLE DB 查询
在我切换到 XP 前后的 win98 时代,我曾尝试使用 DDE。我无法安静地让它工作,也不知道它可以或应该用于什么。 我想知道我可以使用哪些替代方案?那时我想制作 3 个应用程序,无论打开顺序如何,
我的 Delphi 应用程序当前使用 DDEExecute 将命令“[File.CLOSE()]”发送到 Excel。 我想在 Excel 许可存在问题的环境中运行该应用程序,因此我们尝试使用 Ope
我正在尝试使用 DDEExecute 与 Bloomberg Pro 进行交互但我无法找到有效的 DDE 命令列表。 特别是我现在希望做的是输入特定的非字符按键(例如“向右箭头”) 最佳答案 我同意其
复制代码时遇到两个问题。我复制的代码如下所示。我在 Windows XP 上使用 Code::Blocks。 问题 1: 在下面的代码中,我收到一个错误,显示“'MyDDECallBACK' 未声明(
我正在按照 How to use Dynamic Data Exchange (DDE) with Word and Excel from Visual C++ 中的示例进行操作我以某种方式设法能够从
我有一个用作 DDE 客户端的应用程序,并使用它接收到的数据来运行一些动画。此客户端安装在 Windows Server 2012 上。我需要为 DDE 客户端应用程序提供少量变量才能正确运行动画。
在 MATLAB 中,ode45有一个名为 NonNegative 的参数这将解决方案限制为非负。 They even wrote a paper about how this method work
我使用创建 DDE 服务器的旧外包应用程序,我已经构建了一些链接到该 DDE 服务器并将其启动到其他服务器的代码(运行良好)。 现在,它无法再连接到 DDE 服务器,我检查了同一台服务器上的 Exce
有没有理由使用Dynamic Data Exchange (DDE)在现代 Windows 应用程序中? 如果不是,您会使用什么替代技术? 最佳答案 现代代码为此使用 COM。有一大堆已定义的 COM
我订阅了一个 RTD 金融应用程序,可以选择通过 DDE 将实时数据导出到 Excel。因此,使用 DDE 复制/粘贴应用程序选项,我创建了一个包含实时 DDE 财务数据的 Excel 表。单元格实际
我是一名优秀的程序员,十分优秀!