导航

2012年10月13日

摘要: 公司的ERP系统一直被邮件所烦。以前在ERP里面发送邮件,采用的是一个在网上找的DLL文件,没有源码。这个DLL文件采用的是SMTP方式,可以实现简单的邮件发送,更高级的功能就没有,比如副本,附件,以HTML方式发送等。最近有一些时间,抽空就把这个问题解决了一下。首先用Wireshark监控了一下这个DLL文件发送时的数据包,发现应该是用Delphi的Indy组件具体实现的。Indy组件刚好会用,就用Delphi+Indy开发了一个自己的DLL邮件发送功能,解决了公司一直困扰的问题。需要说明的是Delphi开发DLL供PowerBuilder调用过程中需要注意的一些问题:1.Delphi要使用 阅读全文

posted @ 2012-10-13 08:13 eastson 阅读(1017) 评论(0) 推荐(0) 编辑

摘要: 上个月用Delphi+Indy9写了一个SMTP发送邮件的DLL文件,供公司的ERP系统(PowerBuilder)使用。使用过程中发现一个问题,当邮件主旨过长时,收件者就会收到乱码邮件。进过在网络上的搜索,然后又看了一下Indy的源代码,发现问题是Indy在编码Subject时,碰到需要编码的内容,比如中文,非ASCII字符,采用了base64编码。编码后的内容如果超过75字节,就拆分成了多行。行与行之间多加了一个回车换行符。问题找到,怎么解决了?本打算修改Indy的多行处理方式,结果半天出不来,后来干脆修改75字节的限制,变成175字节,测试居然OK。那就先这样吧。具体修改位置在DELPH 阅读全文

posted @ 2012-10-13 08:09 eastson 阅读(424) 评论(0) 推荐(0) 编辑

摘要: 居里夫人的一个女朋友到她家作客,发现居里夫人小女儿正在玩那枚奖章,忙问:“你应该知道能得到一枚英国皇家协会颁发的金质奖章是多么高的荣誉,你怎么能把它给孩子玩呢?”居里夫人说:“我是想让孩子们从小就知道,荣誉就象玩具,只能玩玩而已,绝不能永远守着它,否则就将一事无成。” 阅读全文

posted @ 2012-10-13 08:08 eastson 阅读(279) 评论(0) 推荐(0) 编辑

摘要: 一个简易Smarty模板类,只需要一个文件。在ecshop里面找到的,感谢ecshop。测试代码:require_once 'cls_template.php';$smarty = new cls_template;$smarty->cache_lifetime = 30;$smarty->template_dir = dirname(__FILE__) . '/cache/smarty/template/';$smarty->cache_dir = dirname(__FILE__) . '/cache/smarty/cache/&# 阅读全文

posted @ 2012-10-13 08:07 eastson 阅读(241) 评论(0) 推荐(0) 编辑

摘要: 发现一个处理UTF-8编码文件BOM头的简单方法,在ecshop里面发现的。读取出文件内容后,执行下面代码将BOM去掉:if (strpos($source, "\xEF\xBB\xBF") !== FALSE){ $source = str_replace("\xEF\xBB\xBF", '', $source);} 阅读全文

posted @ 2012-10-13 08:05 eastson 阅读(347) 评论(0) 推荐(0) 编辑

摘要: 开发Omnitrix模块时,需要按照系统的要求建立多个对应的目录。每次都要重复这样的一系列操作,确实很无趣。最近想到这其实可以用Ant帮我们简单实现。将下面的内容复制到build.xml文件中:<?xml version="1.0" encoding="UTF-8"?><project name="omnitrix" default="omnitrix" basedir="."> <property name="root" location=&q 阅读全文

posted @ 2012-10-13 08:04 eastson 阅读(775) 评论(0) 推荐(0) 编辑

摘要: 因为要打包Omnitrix数据库,特意实现了Ant中的PHP调用。MySQL数据库内容的导出由PHP实现,参考文章《Extractor: 一个MySQL数据库备份工具》。build.xml内容:<?xml version="1.0" encoding="UTF-8"?><project name="omnitrix" default="omnitrix" basedir="."> <property name="root" location=&q 阅读全文

posted @ 2012-10-13 08:02 eastson 阅读(505) 评论(0) 推荐(0) 编辑

摘要: 因为要在Ant中导出MySQL数据库,写了mysql_extractor类,供大家参考。extractor.php:if (!empty($_SERVER['argv'])) { for ($i = 1; $i < $_SERVER['argc']; $i++) { list($k, $v) = explode('=', $_SERVER['argv'][$i]); $_GET[$k] = $v; }}if (empty($_GET['table_prefix'])) { $_GET['table_p 阅读全文

posted @ 2012-10-13 07:58 eastson 阅读(340) 评论(0) 推荐(0) 编辑