Posts Tagged 应用工具设计
WordPress Writer V1 Beta 发布
Posted by kingsamchen in PROGRAMMING on 2011 年 04 月 18 日
历时将近两周的编码,Wordpress Writer V1 Beta终于问世,Oh yeah~yeah
首先解释下Wordpress Writer(以下简称WPW)有什么用。
如果你喜欢在WP上写Blog同时又是一个Geek/Coder,那么相比经历过痛苦的撰写过程:
(1)需要手写HTML以便对文字进行格式化
(2)需要手写众多代码来实现插件提供的功能
(3)需要保证代码中不含&、<和>这样常见的HTML TAG,否则解析会出问题
(4)插入图片/超链接等细节处理
WPW就是一个用来快速完成上述过程的偷懒工具。说穿了,其实这个是KC为了自己偷懒而编写的Toy
因为面向的用户群是Geek/Coder,所以UI设计的足够Geek。免去了所有不必要的东西,否则就没有偷懒的价值了
下面是一个直观的UI
下面说下WPW的BIN和SRC事宜
(1)BIN传播无任何责任,除了商用(话说哪个NC会拿这个Toy去商用?)
(2)由于Proj前后经历了两个设计阶段,所以风格上(比如注释)不同的文件会有所不同
(3)由于是个人家用玩具,所以设计上还有很大欠缺,比如虽然用了多线程,但是获取图片信息仍然很慢。多线程只是保证UI不会not responding。并且由于文本框是TextBox,所以在字数上会有65536的限制。不过你完全可以创建一个RichTextBox,然后改下Name即可,因为代码保证接口一致即可工作。
ps:刚刚发布时发现TextBox貌似不支持Ctrl+A。。。还好有右键菜单。。
(4)由(3),欢迎修改SRC。但是请保留原作者信息。此SRC遵守 Apache License
(1):修正了多次添加图片是大小设置错误的问题
(2):支持Ctrl+A全选内容
Download: WordPress Writer V1 SRC&Bin
LogToFile 1.1.0 Release
Posted by kingsamchen in PROGRAMMING on 2011 年 01 月 26 日
为http://blog.kingsamchen.com/archives/546的新版
新版较之旧版改变如下:
1、在保留原有接口的基础上,增加了GetErrorMessage接口。此函数可以由GetLastError得到的错误代码获取错误文本说明,适合Win32平台上的开发
2、考虑到易用性,利用预处理解决掉了不同编译器之间的问题。即是说,在非Win32上,新增加GetErrorMessage接口不会被编译
值得注意的是,由于VC编译器的特殊性,预编译头无法用预处理解决,如果你不使用预编译,则直接删除相应预处理代码即可
3、由于接口函数DeleteFile与Win32 API发生名字重叠,所以新版函数接口改为DeleteLogFile,为了统一,相关函数也做出了修改
4、删去了仅VC支持的Error Stream处理的相关代码
新版函数接口如下
/************************************************** ** Project:LogToFile ** File:logfile.h ** Edition:v1.1.0 Demo ** Coder:KingsamChen [MDSA Group] ** Last Modify:2011-01-26 **************************************************/ #if _MSC_VER > 1000 #pragma once #endif #ifndef _LOGFILE_C6A57B5F_C91D_4fc0_9B38_10524313FAE1 #define _LOGFILE_C6A57B5F_C91D_4fc0_9B38_10524313FAE1 const wchar_t ERRLOG_FILE_NAME[] = L"ErrorLog.log"; void LogErrorToFile(const wchar_t* pszFileName, wchar_t* pszFormat, ...); void ClearLogFile(const wchar_t* pszFileName); void DeleteLogFile(const wchar_t* pszFileName); #ifdef _WIN32 typedef unsigned long ulong; int GetErrorMessage(ulong ulErrorId, wchar_t* pszMessage, ulong ulBufLen); #endif static int WriteFile(const wchar_t* pszFileName, wchar_t* pszStr); #endif
Download LogToFile_SRC
C/C++错误日志文件读写——LogFile
Posted by kingsamchen in PROGRAMMING on 2010 年 08 月 16 日
RT
对于Release版本的程序来说,记录错误通常只能采用读写日志的方法解决(程序自己的日志或者系统日志),毕竟把所有错误信息用对话框(MessageBox)呈现仍然是一件值得商榷的事情
之前KC也写过类似的东西——DebugToFile。但是事实是,这个东西真的可以说是一个鸡肋
需要MFC支持
文件操作需要生成实例对象
架构设计上存在问题
于是,LogFile诞生了
和DebugToFile不同,LogFile采用单一函数接口的方式提供功能,不需要像类一样产生实例对象才能使用
另一个比较好的地方在于,LogFile采用通用/标准的设计哲学,不过很可惜,由于各种编译器间的兼容问题,未能做到100%的通用化(注意点后面说明)
LogFile提供的函数接口如下:
void LogErrorToFile(const wchar_t* lpszFileName, wchar_t* lpszFormat, …);
void ClearFile(const wchar_t* lpszFileName);
void DeleteFile(const wchar_t* lpszFileName);
LogErrorToFile支持不定参数和格式化命令,其实就是类似printf的格式化输出,并且自动在调试信息后增加一行写入时间
ClearFile清空日志文件,DeleteFile删除日志文件
Read the rest of this entry »

COMMENTS