无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 2011895866818
打印 上一主题 下一主题

[原创] [2012.09.15][GRUB即GRLDR启动菜单字体制作工具]

    [复制链接]
1#
发表于 2012-9-16 09:17:25 | 显示全部楼层
原帖由 2011895866818 于 2012-9-16 00:58 发表


我的编程手段,还很稚嫩,想写个图形界面,都没有实行,请指教.

我用VS2005编译,老是通不过,报错:
e:\my documents\visual studio 2005\projects\bdf2hex\bdf2hex\bdf2hex.cpp(353) : warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据
d:\program files\microsoft visual studio 8\vc\include\fstream(548) : error C2248: “std::basic_streambuf<_Elem,_Traits>::operator =”: 无法访问 private 成员(在“std::basic_streambuf<_Elem,_Traits>”类中声明)
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>
        ]
        d:\program files\microsoft visual studio 8\vc\include\streambuf(23) : 参见“std::basic_streambuf<_Elem,_Traits>::operator =”的声明
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>
        ]
        此诊断出现在编译器生成的函数“std::basic_filebuf<_Elem,_Traits> &std::basic_filebuf<_Elem,_Traits>::operator =(const std::basic_filebuf<_Elem,_Traits> &)”中
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>
        ]
d:\program files\microsoft visual studio 8\vc\include\ostream(581) : error C2249: “std::basic_ios<_Elem,_Traits>::operator =”: 没有到 private 成员(在“std::basic_ios<_Elem,_Traits>”虚拟基中声明)的访问路径
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>
        ]
        d:\program files\microsoft visual studio 8\vc\include\ios(152) : 参见“std::basic_ios<_Elem,_Traits>::operator =”的声明
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>
        ]
        此诊断出现在编译器生成的函数“std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator =(const std::basic_ostream<_Elem,_Traits> &)”中
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>
        ]
怎么回事?谢谢指教!
回复

使用道具 举报

2#
发表于 2012-9-16 18:57:00 | 显示全部楼层
原帖由 2011895866818 于 2012-9-16 15:01 发表
原来还有这些奇奇怪怪的问题,我用的VS2010

还有这句:
  1. cerr<<"输入文件打开失败: "<<infile<<endl;
复制代码

infile这个指针前要加解引用符号&吧?

[ 本帖最后由 2011czmxbb52 于 2012-9-16 18:58 编辑 ]
回复

使用道具 举报

3#
发表于 2012-9-16 20:48:01 | 显示全部楼层
原帖由 2011phzhc 于 2012-9-16 19:50 发表
字库制作变得简单了,容易了!接下来的问题是:
    能不能打破16x16的点阵,使字库能有更高的画质?或者,有什么办法可以提高字库的画质?
比如,用现在方法制作出来的“全新硬笔楷书简”和“全新硬笔行书简” ...

那就要去问GRUB4DOS的开发人员了
这是设计之初规定的
实模式下普遍通行16x16字模
回复

使用道具 举报

4#
发表于 2012-9-17 14:47:56 | 显示全部楼层
就原来代码没变,加了个资源:两个对话框,一个版本信息表结果一堆错,输出(VS2005,按默认配置):
  1. 1>------ 已启动生成: 项目: bdf2hex, 配置: Release Win32 ------
  2. 1>正在编译...
  3. 1>ViewForm.cpp
  4. 1>d:\backup\我的文档\visual studio 2005\projects\bdf2hex\bdf2hex\ViewForm.h(17) : error C2065: 'IDD_DIALOG2' : undeclared identifier
  5. 1>.\ViewForm.cpp(48) : error C3646: 'END_DISPATCH_MAP' : unknown override specifier
  6. 1>.\ViewForm.cpp(55) : error C3646: 'IID' : unknown override specifier
  7. 1>.\ViewForm.cpp(55) : error C3646: 'IID_IViewForm' : unknown override specifier
  8. 1>.\ViewForm.cpp(55) : error C2270: 'BEGIN_DISPATCH_MAP' : modifiers not allowed on nonmember functions
  9. 1>.\ViewForm.cpp(55) : error C2091: function returns function
  10. 1>.\ViewForm.cpp(55) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  11. 1>.\ViewForm.cpp(55) : error C2072: 'BEGIN_DISPATCH_MAP' : initialization of a function
  12. 1>.\ViewForm.cpp(56) : error C2078: too many initializers
  13. 1>.\ViewForm.cpp(59) : error C2065: 'IID_IViewForm' : undeclared identifier
  14. 1>FormGui.cpp
  15. 1>d:\backup\我的文档\visual studio 2005\projects\bdf2hex\bdf2hex\FormGui.h(17) : error C2065: 'IDD_DIALOG1' : undeclared identifier
  16. 1>.\FormGui.cpp(44) : error C3646: 'END_DISPATCH_MAP' : unknown override specifier
  17. 1>.\FormGui.cpp(51) : error C3646: 'IID' : unknown override specifier
  18. 1>.\FormGui.cpp(51) : error C3646: 'IID_IFormGui' : unknown override specifier
  19. 1>.\FormGui.cpp(51) : error C2270: 'BEGIN_DISPATCH_MAP' : modifiers not allowed on nonmember functions
  20. 1>.\FormGui.cpp(51) : error C2091: function returns function
  21. 1>.\FormGui.cpp(51) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  22. 1>.\FormGui.cpp(51) : error C2072: 'BEGIN_DISPATCH_MAP' : initialization of a function
  23. 1>.\FormGui.cpp(52) : error C2078: too many initializers
  24. 1>.\FormGui.cpp(55) : error C2065: 'IID_IFormGui' : undeclared identifier
  25. 1>bdf2hex.cpp
  26. 1>d:\backup\我的文档\visual studio 2005\projects\bdf2hex\bdf2hex\FormGui.h(17) : error C2065: 'IDD_DIALOG1' : undeclared identifier
  27. 1>d:\backup\我的文档\visual studio 2005\projects\bdf2hex\bdf2hex\FormGui.cpp(44) : error C3646: 'END_DISPATCH_MAP' : unknown override specifier
  28. 1>d:\backup\我的文档\visual studio 2005\projects\bdf2hex\bdf2hex\FormGui.cpp(51) : error C3646: 'IID' : unknown override specifier
  29. 1>d:\backup\我的文档\visual studio 2005\projects\bdf2hex\bdf2hex\FormGui.cpp(51) : error C3646: 'IID_IFormGui' : unknown override specifier
  30. 1>d:\backup\我的文档\visual studio 2005\projects\bdf2hex\bdf2hex\FormGui.cpp(51) : error C2270: 'BEGIN_DISPATCH_MAP' : modifiers not allowed on nonmember functions
  31. 1>d:\backup\我的文档\visual studio 2005\projects\bdf2hex\bdf2hex\FormGui.cpp(51) : error C2091: function returns function
  32. 1>d:\backup\我的文档\visual studio 2005\projects\bdf2hex\bdf2hex\FormGui.cpp(51) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  33. 1>d:\backup\我的文档\visual studio 2005\projects\bdf2hex\bdf2hex\FormGui.cpp(51) : error C2072: 'BEGIN_DISPATCH_MAP' : initialization of a function
  34. 1>d:\backup\我的文档\visual studio 2005\projects\bdf2hex\bdf2hex\FormGui.cpp(52) : error C2078: too many initializers
  35. 1>d:\backup\我的文档\visual studio 2005\projects\bdf2hex\bdf2hex\FormGui.cpp(55) : error C2065: 'IID_IFormGui' : undeclared identifier
  36. 1>.\bdf2hex.cpp(31) : error C2143: syntax error : missing ';' before '->'
  37. 1>.\bdf2hex.cpp(31) : error C2143: syntax error : missing ';' before '->'
  38. 1>.\bdf2hex.cpp(32) : error C2143: syntax error : missing ';' before '->'
  39. 1>.\bdf2hex.cpp(32) : error C2143: syntax error : missing ';' before '->'
  40. 1>.\bdf2hex.cpp(365) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
  41. 1>生成日志保存在“file://d:\Backup\我的文档\Visual Studio 2005\Projects\bdf2hex\bdf2hex\Release\BuildLog.htm”
  42. 1>bdf2hex - 34 个错误,1 个警告
  43. ========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========
复制代码

附件是源码
帮忙看看!谢谢:

bdf2hex.rar

12.3 KB, 下载次数: 21, 下载积分: 无忧币 -2

回复

使用道具 举报

5#
发表于 2012-9-20 16:45:12 | 显示全部楼层
好了,GUI快完工了!
现在剩下的唯一问题是如何向main向命令行中条用一样的传递参数?
更烦的是跟文字框关联的变量是CString类型的不是别的容易操作的类型,怎么办?谢谢!(更重要的是还不定长!)
怎么办?
两个CString是个是bdffile(指示bdf文件在哪),另外一个是hexfile(指示hex存档在哪)

[ 本帖最后由 2011czmxbb52 于 2012-9-20 16:46 编辑 ]
回复

使用道具 举报

6#
发表于 2012-9-21 12:03:26 | 显示全部楼层
这样转换对不对?

  1.         char * arg[3]= { (LPSTR)bdfpath.GetBuffer(bdfpath.GetLength()), "-o", (LPSTR)hexpath.GetBuffer(hexpath.GetLength())};
  2.         main(3,arg);
复制代码

会不会存在把:和\转丢了的事情?
回复

使用道具 举报

7#
发表于 2012-10-10 15:09:42 | 显示全部楼层
GUI弄好了!
MFC写的,VS2005
139楼有补丁!
现成的exe(需安装VC2005运行库):

bdf2hex.rar (47.14 KB, 下载次数: 69)
源码:
bdf2hexGUI版源码.rar (108.19 KB, 下载次数: 47)
坚持开源到底!
小声的说,下载能给支持下,回复下吗?

[ 本帖最后由 2011czmxbb52 于 2012-10-11 17:01 编辑 ]
回复

使用道具 举报

8#
发表于 2012-10-11 17:00:13 | 显示全部楼层
修正BUG:按复选框无效的BUG
现成的exe:
bdf2hex.rar (46.31 KB, 下载次数: 80)
源码:
bdf2hexGUI源码.rar (58.32 KB, 下载次数: 36)
回复

使用道具 举报

9#
发表于 2012-10-12 13:21:09 | 显示全部楼层
哪位能帮我把这个写成多线程的?
转换大的字体的时候会比较慢,界面会卡。
谢谢!
源码见附件。

bdf2hex.rar

60 KB, 下载次数: 25, 下载积分: 无忧币 -2

回复

使用道具 举报

10#
发表于 2012-10-16 17:04:54 | 显示全部楼层
这回是多线程版本

bdf2hexGUI源码.rar

70.6 KB, 下载次数: 77, 下载积分: 无忧币 -2

bdf2hex.rar

47.01 KB, 下载次数: 110, 下载积分: 无忧币 -2

回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-6 16:35

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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