惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
J
Java Code Geeks
N
Netflix TechBlog - Medium
Martin Fowler
Martin Fowler
A
About on SuperTechFans
腾讯CDC
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Microsoft Azure Blog
Microsoft Azure Blog
D
Docker
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
I
InfoQ
博客园 - 【当耐特】
美团技术团队
GbyAI
GbyAI
量子位
宝玉的分享
宝玉的分享
爱范儿
爱范儿
有赞技术团队
有赞技术团队
博客园 - Franky
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志

博客园 - yesry

VC的强大 + ExtJS的漂亮 + (MySQL+SQlite)数据库 + JavaScript的动态语言的灵活 通过桥接器,Java调用任何DLL 学生的福音:做错之题管理 Google 和 baidu 搜索结果二次加工 键鼠模拟的妙用 汉编卷土重来? 用贾樟柯访谈评《疯狂的程序员》 Widgets 引擎的设计和实现 Duceland Widgets Engine 例子一 作为软件从业员面对番茄事件的尴尬立场 招聘Windows API 熟悉人 招IE插件精通人 史上最不安全的浏览器——Dangerous Browser VC调用 JavaScript 难题:如何使当前程序的对象进入脚本 PHP能参与桌面项目吗?适合吗?——C#客户端 嵌入 PHP 一例 互联网公司老板的十大谎言之解——时间成本和竞争成本 我在外资公司的2个月 让大家见识一下新一代分析源代码生成流程图的东东吧 如何进行界面和业务逻辑分开的原型化开发
程序员专用IM新版本发布,诸多创新非模仿
yesry · 2009-09-16 · via 博客园 - yesry

程序员专用IM不是普通的即时通讯软件,有多项创新特性,为其他IM望尘莫及,要玩转它请慢慢看。

玩之一 寻找同方向同水平的朋友

查找朋友时,通过编程语言及其使用时间,行业,专长,年龄等条件进行,你将非常容易地找到同方向同水平朋友。

玩之二 设置背景

第一步,点击左下角的“百宝箱”,这样会出现一个“登录装载设置”,这里设置的代码都在登录成功后加载的。点击3个点号的按钮后出现3个备选的程序:1 Hello World, 2 回帖盯哨机器人, 3 修改背景色。

第二步,选择“修改背景色”程序,代码比较简单:

{
 name:
'Background Color',
 global_name:
'',
 init:function(this_){
  document.getElementById(
"main_form").childNodes[0].bgColor="#f9f9f9";
 },
 setup:
function(this_){
 }
}

就是一段网页内的js代码,目的是找到一个id为'main_form'的DIV,里面的TABLE的bgColor设置为指定的颜色,例如'#f9f9f9',就可以了。

第三步,修改代码。把上述代码中颜色的文本修改到你需要的颜色就可以了。

这里解释一下,百宝箱的编码规则。

1 全部用花括号包括起来

2 内部有2个成员变量 name 和 global_name,name 填写程序的名字,global_name置空,有装入器装入后填写;还有2个成员函数 init 和 setup,它们都以 this_ 作为参数,指向本对象,这个参数比 关键字 this 更准确指出本对象,尤其是成员函数作为页面某个element的事件时。

3 代码的可操控对象是主界面的全部元素,具体命名可以参阅 main_ui_v205.htm 文件。

玩之三 回帖盯哨机器人

作用是每10分钟通过 XMLHTTP 请求网络,比较上次内容,发现改动就通知主界面。XMLHTTP 已经包装在函数 function GetBody(url,response_func) 中。

代码中,增加了一个db成员变量,在 init 函数中初始化

this_.db=new dobject("SQLite3Wrapper");
var fn=System.GetDataPath()+"blog_demon.db3";
this_.db.open(fn);
然后通过 this_.db.query 执行 SQL 语句,通过 this_.db.get_array_data 获取select得到的字段,通知主界面的代码如下

var url=__currentBlogDemon.UrlList[__currentBlogDemon.currentGetBodyIndex];
var mo={Type:"CUSTOM-BLOG-DEMON",

line1:"回帖哨兵",line2:"有回复",line3:url,

execute:"System.MyShellExecute('"+url+"');"};
Messages.push(mo);
Flicker();

需要指出的是,mo对象中的execute将在主界面双击通知信息的时候用eval执行。Flicker()用于在托盘图标闪烁

玩之四 BLOG

这里的 BLOG 有两方面:你自己的 BLOG,别人的 BLOG

你自己的 BLOG 是系统要求必须填写的资料之一。你的 BLOG 将在对话时出现在 头顶上最显眼的地方,方便展现自我。如果你的 BLOG 是 CSDN, CNBLOGS, JAVAEYE 之一,则你的博文在更新的时候自动发布到朋友的“最近”选单:

别人的 BLOG 则也同样会出现在你的最近选单中。如果信息量大时,系统会选择与你的编程语言匹配的内容,所以填写好自己的编程语言很有必要。

别人的 BLOG 在 数据 MyBuddies 中,可以通过for(i=0;i<MyBuddies.length;i++){MyBuddies[i].blog;}循环找到你所有的好友的 BLOG,通过上述的百宝箱功能,你可以编程逐个轮训这些 BLOG,用代码提取你需要的内容。

玩之五 自定义业务

本即时通讯软件可以发送自定义的业务内容,而不仅仅是说说话,发个图片。例如发 SQL 语句让对方执行,而不是显示,发送HTML和js指令,是的对话窗口成为应用程序窗口。无线可能,只要你有创意。

玩之六 SQLite 数据库

创建 SQLite 对象非常容易 new dobject("SQLite3Wrapper") 就可以了。通过数据库、XMLHTTP,用js编程,可以完成网络爬虫、帖子盯哨、帖子群发等等事情,因为js还可以调用任何 Windows API(文件访问和注册表方面做了一些限制),例如 GetCursorPos ,用它可以追踪鼠标的运动轨迹并记录在数据库;配合System对象的GotoPos,DoMouseDown,,SendInputControlKeyDown和SendInputText等函数,借助MiniBrowser类,可以完成自动页面请求、点击、输入文字等类似自动测试程序功能。

无穷可玩 作为本IM的作者,创意虽有但总会有局限性。但是,程序员专用IM 所提供的功能很有通用性,可以让用户的无穷创意得到尽情发挥。

http://duceland.com/im/