找回密码
 注册
查看: 4194|回复: 39
打印 上一主题 下一主题

传一个自己写的窗体转换的EXE上来,顺便问几个问题,希望有人帮我解答下,谢谢

  [复制链接]

该用户从未签到

跳转到指定楼层
#
发表于 2012-8-19 20:31 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 gpxknk 于 2012-8-26 19:09 编辑

对于XML窗体,其实已经有这么一个转换工具了,只不过不符合我的要求,还有那个格点不准,不过我也只是现在突然想写点skill,
于是写了这么个东西,也没有认真的想过其它的,

功能:对Koda生成的XML窗体转换成skill能用的窗体[skill代码]
    使用时请将网格大小设置成横向*纵向:7*11
    转换时,对于窗体中的Caption作了中文支持,但Name请不要使用中文.
    对于图片控件:
      图片路径也作了中文支持,没有测试skill对其的支持性,在skill中自动添加图片路径,窗体生成之后便给于恢复.
      图片中默认是当前XML窗体中添加的图片路径,若要修改成固定路径请指定路径,
      若不自动处理图片路径,则直接使用系统当前指定的路径

对于附件中大于100K的都是打包了程序运行时所用到的一些文件,在系统目录中不存在这些文件时释放并注册.

在这我想问的是
1.skill窗体到底支持多行文本框不?
2.还有skill函数中有访问剪切板的不? 以前试了下调用EXE/DLL之类的,可以使用但加载太慢了,


对于langexie 所说的问题,我再上传了一个打包了运行环境的上来[附件_2],一般情况我都不这样做,更不喜欢安装式的,这个DLL等资源已经包含在了EXE里面,如果系统中不存在相关文件时就自动解压并注册DLL等,我这里没有试过,不知道会不会有其它情况发生.

再次修改一些问题,修正了部分控件只有Display,没有Lable的情况及TAB多页显示的问题[附件_3],

1.png (45.81 KB, 下载次数: 0)

1.png

skill窗体转换工具.rar

14.15 KB, 阅读权限: 9, 下载次数: 16, 下载积分: 贡献 -30 , 威望 -10

skill窗体转换器_2.rar

1.18 MB, 下载次数: 18, 下载积分: 贡献 -30 , 威望 -10

skill窗体转换器_3.rar

1.17 MB, 下载次数: 13, 下载积分: 贡献 -30 , 威望 -10

评分

参与人数 2贡献 +15 收起 理由
deargds + 10 很给力!
langexie + 5

查看全部评分

  • TA的每日心情
    开心
    2024-2-21 15:59
  • 签到天数: 313 天

    [LV.8]以坛为家I

    39#
    发表于 2012-9-9 13:15 | 只看该作者
    我试了一下,随便做了一个窗体,但是转换程序一打开窗体文件就出错了,如图,是不是程序还有问题?

    该用户从未签到

    38#
    发表于 2012-9-5 16:02 | 只看该作者
    gpxknk 发表于 2012-9-3 17:09
    v1.4
    添加一项功能,在简体系统中将SKILL中文编码成BIG5

    呵呵~楼主很强大!太感谢了!试过了,繁体系统中能正确显示!能否SKILL文件中简繁都保留,繁体备注在另一行!

    该用户从未签到

    37#
    发表于 2012-9-5 12:22 | 只看该作者
    厉害了。。。。。

    该用户从未签到

    36#
     楼主| 发表于 2012-9-3 17:09 | 只看该作者
    本帖最后由 gpxknk 于 2012-9-3 17:13 编辑
    langexie 发表于 2012-9-1 00:24
    是的呢!繁体系统里是使用了BIG5编码,能不能简体系统里就把GBK转换成BIG5码呢?然后再转成Cadence用的8进 ...


    v1.4
    添加一项功能,在简体系统中将SKILL中文编码成BIG5

    此时中文在简体系统中文将会是乱码[BIG5],在繁体系统中显示成繁体

    不过此工具依旧是简体系统中运行的程序.未去考虑繁体,,,因我们使用的是GBK,虽然它也支持繁体,

      GBK->BIG5

      简体->繁体
    不是同一个意思

    Tool_v1.4.jpg (20.26 KB, 下载次数: 1)

    Tool_v1.4.jpg

    skill窗体转换器_5.rar

    1.17 MB, 下载次数: 22, 下载积分: 贡献 -30 , 威望 -10

    v1.4

    评分

    参与人数 1贡献 +5 收起 理由
    langexie + 5 很给力!

    查看全部评分

    该用户从未签到

    35#
    发表于 2012-9-1 00:24 | 只看该作者
    gpxknk 发表于 2012-8-31 20:57
    任何文字在计算机里都只是编码加字体库,系统是怎样的,它就是怎样的;就像同一份文件,用不同的规则解码就得 ...

    是的呢!繁体系统里是使用了BIG5编码,能不能简体系统里就把GBK转换成BIG5码呢?然后再转成Cadence用的8进制,只是这时显示的字是乱码而已!输出SKILL文件时,就备注在旁边备用。在网上找了一下,有关于GBK转换成BIG5  C语言原码!VB应该也有!

    该用户从未签到

    34#
     楼主| 发表于 2012-8-31 20:57 | 只看该作者
    langexie 发表于 2012-8-31 16:25
    我有试过,在Win XP繁体系统中Cadence只认大五码(big5)呢!

    楼主,转换时能不能GBK和大五码都转 ...

    任何文字在计算机里都只是编码加字体库,系统是怎样的,它就是怎样的;就像同一份文件,用不同的规则解码就得到了不同的信息.

    试问,在繁体系统中,因为工具你是在简体系统里进行转换的,而转换后就是GBK的编码,然后你在繁体系统里运行SKILL,因系统编码不是GBK
    假设系统是用BIG5去解GBK码,这样就出错了,

    你说的是这个意思吗?

    该用户从未签到

    33#
    发表于 2012-8-31 16:25 | 只看该作者
    本帖最后由 langexie 于 2012-8-31 17:05 编辑
    gpxknk 发表于 2012-8-31 15:44
    没有明白你的意思,这个转换是支持繁体的,干吗还要有一个转换,
    转换的原理很简单,,没有使用过繁体系统, ...


    我有试过,在Win XP繁体系统中Cadence只认大五码(big5)呢!

    楼主,转换时能不能GBK和大五码都转换出来,大五码备注在旁边呢!

    该用户从未签到

    32#
     楼主| 发表于 2012-8-31 15:44 | 只看该作者
    本帖最后由 gpxknk 于 2012-8-31 15:45 编辑
    langexie 发表于 2012-8-31 14:37
    请教一下楼主,在楼主程序中,中文是如何转换成Cadence用的编码呢?是不是有转码表?因为SKILL程序再转 ...


    没有明白你的意思,这个转换是支持繁体的,干吗还要有一个转换,
    转换的原理很简单,,没有使用过繁体系统,,不了解,,有什么问题么?
    GBK汉字采用双字节表示,总体编码范围为8140-FEFE
    中 華: D6 D0   C8 41
    中 华: D6 D0   BB AA

    中 華: \326\320  \310\101
    中 华: \326\320  \273\252

    十六进制 八进制
    D6            326
    D0            320
    C8            310
    41            101
    BB            273
    AA            252

    该用户从未签到

    31#
    发表于 2012-8-31 14:37 | 只看该作者
    本帖最后由 langexie 于 2012-8-31 14:38 编辑
    gpxknk 发表于 2012-8-31 13:38
    哦,失误,忘了XML的特殊字符...
    但在FORM里面我真不知道的转义符是什么,[\"] [""] [\042]等都没用,还是 ...


    请教一下楼主,在楼主程序中,中文是如何转换成Cadence用的编码呢?是不是有转码表?因为SKILL程序再转到繁体系统中使用时,需再转一次码!我想做一个自动转换SKILL程序中的中文代码!以便繁简体系统中使用!

    该用户从未签到

    30#
     楼主| 发表于 2012-8-31 13:38 | 只看该作者
    本帖最后由 gpxknk 于 2012-8-31 13:57 编辑
    langexie 发表于 2012-8-29 08:54
    楼主,转换程序还发现有两个地方需改进一下!
    1、当标题中有字符“” “"”等三个字符出现时程序会无法正常 ...


    哦,失误,忘了XML的特殊字符...
    但在FORM里面我真不知道的转义符是什么,[\"] [""] [\042]等都没用,还是FORM里就不能出现双引号["]
    最后还是用两个单引号代替吧,反正也看不太出来.
    最近忙了点,现在更新到1.3
    修正了对XML特殊字符的支持,及TAB的问题,

    TREEVIEW应该也有问题,因为我用得少,对FORM不是太了解,没有深入研究,问题还不太清楚....

    抱歉,您的帖子从发表到现在已超过 10080 分钟,不能再进行编辑

    原帖不能修改了,附件传这里来了

    skill窗体转换器_1.3.rar

    1.17 MB, 下载次数: 10, 下载积分: 贡献 -30 , 威望 -10

    评分

    参与人数 1贡献 +5 收起 理由
    langexie + 5 赞一个!

    查看全部评分

  • TA的每日心情
    开心
    2025-5-22 15:01
  • 签到天数: 54 天

    [LV.5]常住居民I

    29#
    发表于 2012-8-29 13:41 | 只看该作者
    纠结不懂软件

    该用户从未签到

    28#
    发表于 2012-8-29 08:54 | 只看该作者
    楼主,转换程序还发现有两个地方需改进一下!
    1、当标题中有字符“<”“>” “"”等三个字符出现时程序会无法正常识别出
    2、当TAB的TabSheet中包含Botton等等控件时,无法正确转换出!

    该用户从未签到

    27#
     楼主| 发表于 2012-8-23 14:47 | 只看该作者
    langexie 发表于 2012-8-23 14:20
    1.skill窗体到底支持多行文本框不?

    多行文本框可以如此:

    感谢langexie的回复,不过这个不是TextBox,我需要的是多行输入文本框,不是Lable的自动换行.

    对于skill窗体以前也知道支持字体颜色,只是没有做进去,怕设计器与skill窗体颜色兼容性不好.
    skill以注重功能实用性为主,特殊显示都是直接用image显示,以后看看如果可行也可以加进去.
    不过最完美的方案是写一个skill专用的窗体设计程序.{:soso_e113:}

    该用户从未签到

    26#
    发表于 2012-8-23 14:20 | 只看该作者
    本帖最后由 langexie 于 2012-8-23 14:27 编辑

    1.skill窗体到底支持多行文本框不?

    多行文本框可以如此:
    第一种,固定信息:
            fprintf(f_form "GROUP \"\327\3511\" \"GROUP1\"\n")
            fprintf(f_form "GLOC 5 45\n")
            fprintf(f_form "FSIZE 14 10\n")
            fprintf(f_form "ENDGROUP\n\n")

            fprintf(f_form "TEXT \"Pleace input the imformation in here!\" \"Label11\"\n")
            fprintf(f_form "FLOC 6 47\n" )
            fprintf(f_form "FSIZE 12 6\n")
            fprintf(f_form "ENDTEXT\n" )
           

    第二种,实时显示信息:
            fprintf(f_form "GROUP \"\327\3511\" \"GROUP1\"\n")
            fprintf(f_form "GLOC 5 45\n")
            fprintf(f_form "FSIZE 14 10\n")
            fprintf(f_form "ENDGROUP\n\n")

            fprintf(f_form "TEXT \n" )
            fprintf(f_form "FLOC 6 47\n" )
            fprintf(f_form "INFO TextInfo\n" )
            fprintf(f_form "FSIZE 12 6\n")
            fprintf(f_form "ENDTEXT\n" )
            生成Form了以后再通过axlFormSetField实时显示,这时还可以设定字体颜色
            axlFormSetField(form "TextInfo" "Pleace input the imformation in here!")
            axlFormColorize(form "TextInfo" 'text 'blue )
           


    该用户从未签到

    25#
     楼主| 发表于 2012-8-23 11:34 | 只看该作者
    langexie 发表于 2012-8-23 10:56
    TAB的长度应该是自动的,是根据TAB的标题长度自动长度!就是这样的了!

    哦 那我就不管这个了,传了"_3",
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-5-23 13:45 , Processed in 0.109375 second(s), 30 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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