作者ewn (...)
看板PCman
标题Re: [分享] PCMan CE 2009 Beta 1
时间Thu Dec 18 19:01:23 2008
那个漏一行的 bug 是因为 pcman 要截取下一页的行时
会送出 VK_DOWN 往下卷动一行
但是在卷到某一行的时候,会一次跳两行
所以导致有一行会被跳过
我想到一个方法,就是侦测是否跳了两行
因为 ptt 在文章的最末行会有 「从 aa~bb 行」的字样
因此利用 bb 每一次增加的间隔来侦测
当 bb 增加间隔为2时,就多截取前一行
实测:
我在 CTelnetConn 加上一个 static int
然後利用这个在 OnText() 里那一段做行数的判断
实际抓,就没有漏一行了
我用的 pcman 原始码是 trunk 里的 lite 版本测试的
好像是没有英汉翻译的版本?
附上执行档下载:
http://www.badongo.com/file/12545165
不想点的人,可以用以下原始码重编:
CTelnetConn.h
http://rafb.net/p/R8ujq625.html
CTelnetConn.cpp
http://rafb.net/p/0XaiWe14.html
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.44.186.177
1F:推 netio:用VK_DOWN似乎不够快 用VK_SPACE是否可行呢? 12/18 23:06
2F:推 jeta890119:用PAGE DOWN加上撷取行数字样,或许会快很多 12/19 00:13
3F:推 jeta890119:话说回来,可以直接汇出成HTML档吗? 12/19 00:15
4F:推 HZYSoft:当初设计这样是因为不同 BBS 其实这部份行为不同 12/19 01:01
5F:→ HZYSoft:只有方向键向下都是卷动一行这点比较一致 12/19 01:01
6F:推 jeta890119:其实可以把不同的作法放在一起,让USER自己选择 12/19 01:14
7F:推 ceshine:trunk里的lite版本应该是有英汉翻译功能的 12/19 09:01
8F:→ ceshine:因为我就是从那里抓来BBCall的程式码XD 12/19 09:01
9F:推 ceshine:提供不同作法让使用者选择这个主意不错,可以试试~ 12/19 09:06
10F:→ ewn:可能是因为我用vs2008的关系吧 12/19 12:39