开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1236|回复: 8
收起左侧

[C#求助] DLL引用帮忙转易语言

[复制链接]
结帖率:89% (32/36)
发表于 2023-12-13 21:40:26 | 显示全部楼层 |阅读模式   安徽省合肥市
300精币
咸鱼买个闲置设备,第一次用。网上找个类似dll,C#的看不懂,帮忙转下易语言
1、引用ClassQJITL.dll
2、在ClassQJITL.dll.config中配置串口。
3、代码如下:
        private void Window_Loaded(object sender, RoutedEventArgs e)   
        {
            try
            {
                int temp1 = ClassQJITL.Class1.openITLcom();///////////////////打开串口
                if (temp1 == 0)
                {
                    temp1 = ClassQJITL.Class1.initITL(); //////////////////初始化
                    if (temp1 == 0)
                    {
                        ClassQJITL.Class1.Broadcast += new ClassQJITL.Class1.BroadcastEventHander(ITLmoneyrec);///////////////添加收钞返回事件
                        temp1 = ClassQJITL.Class1.startITL();////////////////启动收钞
                    }
                }
            }
            catch
            {

            }
        }

        private void ITLmoneyrec(string a)//////////////////收钞返回事件,得到此时收炒的总金额
        {
            this.labelmoney.Dispatcher.Invoke(
                new Action(
                    delegate
                    {
                        this.labelmoney.Content = "总金额:" + a.ToString() + "元";
                    }));
        }

        private void Button_PreviewMouseUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                string tempmoney = "";
                int temp1 = ClassQJITL.Class1.endITL(out tempmoney);///////////////////停止收钞,返回本次收钞的总金额
                if (temp1 == 0)
                {
                    this.Close();
                }
                else
                {
                    /////////////////收钞停止失败,检查收钞口,再次点击停止收钞
                }
            }
            catch
            {

            }
        }


ITL.rar (11.25 KB, 下载次数: 1)

结帖率:75% (3/4)

签到天数: 11 天

发表于 2023-12-13 22:06:14 | 显示全部楼层   江苏省南京市

这是一个使用 C# 编写的 WPF (Windows Presentation Foundation) 应用程序中的部分代码。以下是代码的主要功能:

Window_Loaded 方法:在窗口加载时触发,尝试打开串口,初始化设备,并启动收钞。如果初始化成功,则添加一个收钞返回事件处理程序(ITLmoneyrec 方法)。

ITLmoneyrec 方法:收钞返回事件处理程序,当收到收钞事件时,更新 UI 上的总金额显示。这里使用 Dispatcher.Invoke 来确保在 UI 线程上更新界面。

Button_PreviewMouseUp 方法:当按钮鼠标释放时触发,尝试停止收钞,获取本次收钞的总金额。如果停止成功,则关闭窗口。如果停止失败,可以在注释中进行标记,以便进行进一步的处理。

该代码中使用了异常捕获,但是异常处理中没有具体的处理逻辑,只是空的 catch 语句块。在实际应用中,建议根据具体情况添加适当的异常处理逻辑。

这段代码看起来是与硬件设备(可能是收钞机)进行交互的一部分。如果有特定的问题或者需要更详细的解释,请提出具体的问题。

用了异常捕获,但是异常处理中没有具体的处理逻辑,只是空的 catch 语句块。在实际应用中,建议根据具体情况添加适当的异常处理逻辑。

回复

使用道具 举报

结帖率:89% (32/36)
 楼主| 发表于 2023-12-13 22:46:12 | 显示全部楼层   安徽省合肥市
1327067592 发表于 2023-12-13 22:06
[md]这是一个使用 C# 编写的 WPF (Windows Presentation Foundation) 应用程序中的部分代码。以下是代码的 ...

对的,这个是网上下载二次封装的,直接启动端口。简化了老的dll的。启动纸币器,获取纸币器纸币。
回复

使用道具 举报

结帖率:78% (7/9)

签到天数: 4 天

发表于 2023-12-14 00:34:48 | 显示全部楼层   广东省东莞市
回复

使用道具 举报

结帖率:89% (32/36)
 楼主| 发表于 2023-12-14 11:11:02 | 显示全部楼层   安徽省合肥市
初夏喔 发表于 2023-12-14 00:34
https://bbs.125.la/forum.php?mod=viewthread&tid=14766358

看不懂。
回复

使用道具 举报

结帖率:96% (66/69)

签到天数: 20 天

发表于 2023-12-14 12:50:52 | 显示全部楼层   安徽省合肥市
你这里面使用了接口和类,易是不支持的,所以转换起来会有点麻烦,还不如直接把C#封装成易支持的dll,让易直接调用就行了
回复

使用道具 举报

结帖率:100% (3/3)
发表于 2023-12-14 16:56:57 | 显示全部楼层   辽宁省沈阳市
这DLL是COM版的?? 再不济可以用C# 做个进程通信啥的,用上一层解决这个!
回复

使用道具 举报

结帖率:100% (3/3)
发表于 2023-12-14 16:58:37 | 显示全部楼层   辽宁省沈阳市
如果只是单纯的串口通信,不是很复杂的协议的话,E语言是可以实现直接控制的
回复

使用道具 举报

结帖率:89% (32/36)
 楼主| 发表于 2023-12-14 18:59:27 | 显示全部楼层   安徽省合肥市
CoderYiXin 发表于 2023-12-14 16:58
如果只是单纯的串口通信,不是很复杂的协议的话,E语言是可以实现直接控制的 ...

嗯嗯,准备开始用串口手搓了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表