声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: shwwd

[编程技巧] 交互窗口读写文件的问题

[复制链接]
发表于 2007-6-24 23:16 | 显示全部楼层
原帖由 shwwd 于 2007-6-22 11:53 发表


h = figure;         
chgicon(h,'newIcon.png');可以将新打开的figure的图标换成'newIcon.png'的图标,试过了,没问题,多谢!!
但我在GUI的程序中,例如 example.fig和 example.m的GUI程序,我将chgi ...


估计句柄(第一个参数)用错了,试试 handles.figure1 (figure1 是你的 GUI 主面板的 tag 属性)吧,我不太确定
回复 支持 反对
分享到:

使用道具 举报

发表于 2007-6-24 23:18 | 显示全部楼层
原帖由 shwwd 于 2007-6-22 15:39 发表
在matlab的命令窗口中直接键入eval('abc'),没什么问题的,就是在GUI程序内部就不行了。


估计是路径问题,看看拙作:关于添加工具箱 的精华贴

如果还是不行,请帖出错的代码上来,把为什么“不行”说清楚
发表于 2007-6-25 00:00 | 显示全部楼层
原帖由 shwwd 于 2007-6-22 15:39 发表
在matlab的命令窗口中直接键入eval('abc'),没什么问题的,就是在GUI程序内部就不行了。

可以的,你把代码添加到你的菜单程序段内部,
也可以用:
abc;
或者
run abc;
效果都是一样的.
 楼主| 发表于 2007-6-25 09:43 | 显示全部楼层
我把代码添加到菜单程序段内部(callback),不管是用
eval(‘abc’)
run abc
abc
运行程序出来ABC的GUI程序点击File--New,程序一点反应都没有,我在command窗口看,没有任何的警告和出错信息。
我如果只打开matlab,在命令窗口中键入
eval(‘abc’)
run abc
abc
abc的GUI程序会出现的。

我在想是不是因为abc的GUI程序运行后,已经出现了一个abc,在File--New中点击的时候,matlab就把刚才出现的那个作为新的,也就是只能出现一个abc的界面。这样理解是否正确?
然后我就将程序代码改为
figure;eval(‘abc’)
figure;run abc
figure;abc
想在新的figure中载入abc,结果只出现一个figure窗口,abc并没有载入到这个figure中。

我现在再看看eight的大作:关于添加工具箱 的精华贴,看看是否是路径的问题。
我现在所有的文件是在一个文件夹的,而且路径也添加了。
看看,试后再联系!!
 楼主| 发表于 2007-6-25 14:53 | 显示全部楼层
关于添加工具箱 读后,自己也没有什么好的思路。
 楼主| 发表于 2007-6-26 14:43 | 显示全部楼层
file-new那个功能还没有搞好,以后再试试吧!
现在在打包。
 楼主| 发表于 2007-6-26 14:52 | 显示全部楼层
我在deploy tool打包成独立程序(2007a版本),例如打包成abc.exe,但在第一次运行的时候,产生一个文件夹abc_mcr,里面包含源程序及所用到的工具箱等东东,怎么样就可以把文件夹中的源程序文件不显示?因为有时并不想让客户知道自己的源代码。
 楼主| 发表于 2007-6-26 16:13 | 显示全部楼层

接刚才的问题

我在装有matlab的机器上打开上面的abc_mcr中的.m软件,像乱码似的,好像看不到源代码。

编写了一个GUI程序(包含abc.m和abc.fig),怎样就可以把abc.m中自己编写的程序部分给隐藏呢,只出现abc.fig和matlab自动生成的abc.m部分?
发表于 2007-6-27 00:24 | 显示全部楼层
原帖由 shwwd 于 2007-6-26 14:52 发表
我在deploy tool打包成独立程序(2007a版本),例如打包成abc.exe,但在第一次运行的时候,产生一个文件夹abc_mcr,里面包含源程序及所用到的工具箱等东东,怎么样就可以把文件夹中的源程序文件不显示?因为有时 ...


这个好像不行
 楼主| 发表于 2007-6-27 16:57 | 显示全部楼层

Matlab程序----独立程序

通常所说的把matlab程序做成独立程序.exe,是不是指在没有matlab的机器上运行这个.exe程序,必须要安装MCR?是这样理解吗?
有没有方法不用安装MCR也可以运行的方法?真正的独立软件!
把MATLAB程序做成.dll被其他的程序引用,也需要安装MCR吧?

[ 本帖最后由 shwwd 于 2007-6-27 17:05 编辑 ]
发表于 2007-6-27 20:27 | 显示全部楼层
原帖由 shwwd 于 2007-6-27 16:57 发表
通常所说的把matlab程序做成独立程序.exe,是不是指在没有matlab的机器上运行这个.exe程序,必须要安装MCR?是这样理解吗?
有没有方法不用安装MCR也可以运行的方法?真正的独立软件!


理解正确;暂时没有办法


把MATLAB程序做成.dll被其他的程序引用,也需要安装MCR吧


是用其他语言实现代码,然后转换成 dll,在 matlab 中引用,故此不用安装MCR

[ 本帖最后由 eight 于 2007-6-27 20:28 编辑 ]
 楼主| 发表于 2007-6-28 09:13 | 显示全部楼层
原帖由 eight 于 2007-6-27 20:27 发表

是用其他语言实现代码,然后转换成 dll,在 matlab 中引用,故此不用安装MCR




哦,如果用matlab编的m程序转化成.dll,在像VC、VB、VS.net中引用应该也需要MCR吧?
我以前把matlab m程序做成.dll,在VB.net中编写界面计算引用由m程序转成的dll就需要安装MCR的。

[ 本帖最后由 shwwd 于 2007-6-28 09:56 编辑 ]
发表于 2007-6-28 11:41 | 显示全部楼层
原帖由 shwwd 于 2007-6-28 09:13 发表




哦,如果用matlab编的m程序转化成.dll,在像VC、VB、VS.net中引用应该也需要MCR吧?
我以前把matlab m程序做成.dll,在VB.net中编写界面计算引用由m程序转成的dll就需要安装MCR的。


这个要
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-29 18:32 , Processed in 0.050172 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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