2017-09
15

连续10小时的战斗

By xrspook @ 9:34:53 归类于: 烂日记

昨天从下午2点到晚上12点,我用了接近10个小时(吃饭+洗澡半小时)去解决一个一键打印的功能。而之所以会这么郁闷,完全是因为制造各种称的大头托利自身散粮称保存数据的模式有点神,说不准他们为什么一定得这么干,这有什么好处,但显然可能这是由来已久的问题。也正是因为这样,过去十年来,我们单位都在默默忍受着这种神奇,而没有像地磅那样,早就已经忍不住要改掉,因为散粮称要比地磅复杂很多。下午我用了几乎一整个上班时间在我的电脑上用模拟的数据研究该怎么去做。在整了两个多小时以后,我总算OK了,当我带着优盘去中控室实战的时候,我知道肯定还会有意外。因为数据模式这种东西,我实在很难预测。去到中控室的时候,基本已经是白班的下班时间。在那里,我把自己折腾了一个下午的方法套进去,套到你一半我就发现这样是不行的。我在那里停留了两个小时,没什么思路,大概是因为饿了,于是我把数据拷走一部分做测试,在回办公楼的路上一直在思考。从那时开始,我就已经有了个念头,我要重新从结构开始,重新规划。因为他们每一个ID流程号的第一条数据每次都会存在净重跟上一个ID流程号最后一条完全一致,但实际上这个第一条他们是不计入新ID总重量的。从前我不明白为什么他们的数据库里面有一列叫做最后一称。在我没到现场,去看这个问题的时候,我会猜想会不会他们把所有数量都跟这个最后一称拉上关系?如果他们把普通的设为1,第一称设为0,所有净重都和这个系数相乘然后累加得出的数是它们的总重量,这就不成问题。但从数据库看来,不是这回事。

在模拟数据的时候,我是可以在表里选择日期的第一条记录或者日期的最小值,获得正确的数据,但实际上在他们的表格里日期的最小值和日期的第一条记录不是一回事。日期的第一条记录不对,我可还可以用日期的最小值,但是如果在做净重的时候,第一条记录无法使用,我没办法用最小值去代替。晚上我又折腾了一两个小时去考虑这个问题,最终我的网友告诉我,表的存储没有时间先后的顺序。所有顺序都是要靠自己手动排序,听了他的那句话以后,我有个灵感就是要把原始的表用一个查询重新按照我希望的顺序排列,最终做到的效果是日期的最小值和日期第一条记录一致。做到了这一步以后,我终于得到了正确信息的条目。我的做法是筛选出每个ID的第一条记录,然后取负数,用那个负数跟原表做一个联合查询,也就是把他们的数据放在一个查询表里。把这个查询作为流水数据的修正版,然后再用之前的筛选方式和联结模式查询。以上我已经在昨晚做到,对比数据,90%已经一致,不一致的部分估计跟操作员的某些操作有关。今天早上我又在早餐前把斗数也修正了。在排列数据的时候我以计数净重的方式生成一个叫做斗数的条目,然后在筛选ID第一条记录的时候同时把斗数设为负数,联合查询操作加入斗数列,最后汇总计算的时候斗数的计算方式从之前的净重计数变成净重求和。这样操作下来,连真算入总重量的斗数也都一同修正了。

10个小时不算多,但对一个普通人来说,这很变态了。我觉得收获满满,虽然只是做了那么一件很简单的事而已。在Excel之后我觉得自己总算有点儿入门Access了。

2017-09
13

Excel梦

By xrspook @ 10:29:57 归类于: 烂日记

昨晚我明明可以很早就睡觉了,但我还是折腾到了11点半,因为我11点才回宿舍,而实际上10点之前,我就已经看完电影了,余下那个小时,我在搞我的账本。首先把摘要那里的依据全部改过来,然后是一个一个手动改格式。然后我发现,原来如果在Excel文件里面可以一次性选择所有表,然后设置统一的格式,但是如果表放在不同的三文件,就无法做到这一点。所以既然可以在一个文件里同时选择全部表,当然应该也能这样,批量打印。星期一的时候,我还庆幸我没有把多个表放在一个Excel文件里文件,所以可以在文件夹里一次性选择多个文件进行打印。这是一个外部的方式,但是,如果考虑到Excel内部,根本没必要这么郁闷。因为如果放在不同文件夹,我还不能统一设置格式呢,在打印方面,二者的麻烦程度差不多。但是在格式设置方面全部放在一个文件里显然省事。

Excel肯定也有脚本控制这回事,所以我可以整个表的数据都不一样只在一个地方有数字的变化,可以在这里设置脚本。但使用的时候就得加载宏。加载宏以后问题会很多,因为每次打开文件都会告诉你有危险。有些账本,因为是完全一样的,只是其中一个地方不同,所以,我不应该把它们分开那么多,而应该把它们只在一张表里显示,然后在那张表的打印区域以外,把所有需要替换的数字都填进去,然后每次我就只是要记得在那里改个数字而已。当然如果我可以设定自动替换的话那更好,因为连输入错误也可以完全避免。昨晚和今天早上我考虑承前页过次页的问题,但实际上这个我不需要担心太多,因为其实很少账本会发生这种事,通常来说会每年发生这种事的账本不会超过十个。所以只要手动插入行就可以了。无论是Word还是Access都很难像Excel那样轻松控制表格格式,尤其是你要把部分表格做在表头,因为那是固定不定的不动的部分。于是我想是不是可以设计一个网页的脚本去实现这种功能。网页的代码不过是全部得敲键盘而已,几乎没有可视化。脚本本来就是网页代码原生的一部分,所以也没有什么安全隐患。如果可以,我会专门设计一个网页用来打印我的账本。但至于二者怎么联动应用我还没想到。网页的数据库可以直接调用Excel吗?如果不可以,必须得使用数据库文件,Access数据库文件应该可以自动关联的Excel自动更新吧。既然别人可以做到,我觉得我也可以。我的同事跟我说,从前他们公司很high class的金蝶是可以实现承前页过次页的功能,而且不是像网络那样,只是在页眉页脚那里设置,而是直接打印到表格里。按照正常人的思路,账本填写逻辑的确是应该打印到表格里面的,但是Excel里却没有一个很方便的方式能让你实现这个。

Excel的潜能我还得狠狠地挖掘啊啊啊~~~

2017-09
10

单个图片mp3生成mp4

By xrspook @ 18:01:41 归类于: 烂日记

今天花了好多个小时去研究怎么把一个图片和一个mp3合并一起生成一个mp4文件。从理论上说这很简单,不过是把图片的展示的时间等长于mp3。直觉告诉我,应该有一些很简单的脚本能实现这个功能。因为从油管下载回来的音频和视频可以通过一键完成合并。我不知道油管上面的视频和音频的长度是不是完全一致,反正对一张图片来说,那不过是跟音频等长而已,没什么设置的难度。我希望直接用我手头上的工具就实现这个功能。但实际上,貌似有点难度。如果不是要求那一定是视频文件,如果只需要展示,我们可以用PowerPoint。把图片设置为背景,把音乐设置为预览文件时自动播放,然后把文件封装。这种功能肯定非常容易实现,但问题是我要生成一个单独的视频文件,avi也好wma也好mp4也好mkv也好,反正那个视频文件,必须能被做字幕的软件识别。我就一连纠结了好多个小时。因为我觉得这是一个很容易实现的功能,所以一开始我去找一些能在线实现这个的网站。我第一次找的那个网站的确可以实现我想要的功能,但问题是那个网站生成的视频有好大的水印。如果要去掉水印就必须给钱,显然我是肯定不会做的。往后的一些网站,要不根本上传不了,要不速度非常慢,要不只能生成一个几秒钟没有音频的mp4。在尝试了几个小时之后,我已经被逼疯到装软件就装软件,只要能实现功能,我就接受的地步了。我是用过绿色版的格式工厂以及狸窝转换,但一个并不能实现我的功能,另外一个要做到那个功能是要给钱的。我也下载过一个外国的软件,需要安装,简单模式非常麻烦,高级模式也就是运用脚本的模式却无论如何都运行不了。其实在折腾这些之前,我就看到Google Code这有一个叫做imutube的项目。那个东西非常轻量级,只要你装好了脚本软件以及解码器以后,就可以轻松实现这个功能。但问题是,解码器我前天刚刚装了新的,脚本软件今天也装了新的,但是把东西却无论如何识别不了我的mp3以及图片文件。我差一点点就成功了,但是我无论如何都到不了那一步。

于是我只有回到最开始,一直以来我都觉得MeGUI应该可以实现这个功能。但是如果用AVS Script Creator选择视频的时候,我无论如何都不能选择图像文件。即便我选择了图片文件,确定以后,还是会告诉我出错,因为使用的解码器不对。视频的解码器无法识别图片。为什么我觉得MeGUI能实现这个功能呢?因为要把图片和mp3结合起来,只需要做一个设置,就是设置图片的帧速率,然后设置图片的帧数,让图片和mp3有相同的长度。我回到一开始,引领我去找imutube的那个页面,发现里面的确有人说通过编写脚本,可以用MeGUI实现这个功能,只是今天较早时候我没看清,错过了那段话。我把那段脚本复制下来,形成一个脚本文件,果然MeGUI能识别出来。这证明了MeGUI能识别的脚本,不一定得用那个脚本生成器,如果你够牛逼,纯粹可以自己写代码,而且那个更自由。按照我设定的帧数以及帧速率,果然那个图片的播放时长就是我目标的那个。接着,我把这个图片视频和mp3结合起来,生成一个mp4,成功了!但是,图片视频的时长实际上比mp3短,所以第二次在压制前,我在音频那里又加入了一个剪切的脚本,把mp3的长度调节为跟视频一样。因为那个mp3最后结束的时候其实是有好几秒钟空白时间的。现在回想起来,我真的有点傻,为什么我要把帧速率设置为25呢?!其实我完全可以设置为1,那么需要的帧数就只是mp3的秒数而已,我也不需要做更多的计算,当然生成出来的视频体积也不会那么大。但是别人看这个视频参数的时候,估计就会有点O了。

兜了一大个圈,最终,我还是用我手头上的软件就实现了我想要的功能。不得不说,写脚本写代码这些苦逼事,实在很强大,我还有很多很多的东西需要学习!

载入单个图片的AVS脚本如下:

1
2
ImageSource("单个图片的绝对路径", end = 5600, fps = 25, use_DevIL = true)
ConvertToYV12()

说明:end = 5600为视频帧数,fps = 25为帧速率,如果某首歌为3分钟,帧速率为25,帧数就填写3*60*25=4500

音频视频的剪切脚本:

1
2
3
4
5
6
7
8
9
10
11
< ?xml version="1.0"?>
<cuts xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <framerate>25</framerate>
  <style>NO_TRANSITION</style>
  <allcuts>
    <cutsection>
      <startframe>0</startframe>
      <endframe>5600</endframe>
    </cutsection>
  </allcuts>
</cuts>

说明:如果这是个配到视频的音频用的,设置为和视频相同的帧数和帧速率即可。

2017-09
7

改模板

By xrspook @ 12:42:21 归类于: 烂日记

昨天提到的我的天模板问题,很快就解决了。我同时用Win7 22寸宽屏的显示器以及XP 10.1寸的小笔记本测试。同样使用Firefox浏览器,Win7用的版本是50的,XP用的版本是40的,因为往后Firefox就再也不支持XP系统了。文章评论提交按钮的问题很好解决,原来按钮的宽度是100px,这容不下“Submit Comment”这么多字符,所以我改为120px了,我也试过用150px,也没什么问题,因为按钮我设置了字体横向居中,但如果120px就能搞定,我也就没必要用150px了。至于版头的导航栏有点麻烦。XP系统下默认字体是宋体,Win7系统默认字体是微软雅黑。我的天整个网页我都对字体做了设定,用的单位是px,但问题是宋体和雅黑同样是15px,Firefox辅助网页编辑插件计算出来的大小是29,而雅黑是31。在不同的系统、不同的显示器分辨率之下,同样是宋体,XP在10.1寸是27,Win7在22英寸是29。这样的数据差异绝对会整死人的!!!因为我的版头导航分为2个部分,一左一右,为了要把左右分开,所以必须用float:left;和float:right。float之后是ul,ul下面是li。ul没有一个固定的高度,ul的高度是由下一级的li去确定的。ul在id nav之下,nav设定了一个绝对的高度定位,nav就是float:left的元素,只有这般绝对定位了,nav才不会跑到我的网站标题前面。但绝对定位遇到不同系统不同浏览器不同字体发生的字体大小差异几乎算是一个打不开的结。在更大的显示器分辨率和默认雅黑字体下,无论如何浏览器计算出来的字体大小都要比宋体大。在Win7下,尤其是在浏览器里看过宋体和雅黑的都会觉得雅黑更舒服。之前设计Color3模板的时候我用的是XP搭配17寸的方屏,默认字体是宋体,所以当网页用雅黑字体浏览的时候就会出问题。问题也不是很严重,就是那个导航栏的按钮会有点压在我的border框上。让所有浏览器都必须使用宋体或者雅黑作为默认字体是不可能的,所以最终我只能遵循我在Win7系统22寸显示器,Firefox 55.0.3下计算出的状况来调整。最终我把nav的绝对定位从之前的100px改成了96px,这就保证了在Win7雅黑的情况下版头导航栏是完美的。然后我把nav ul li设置了固定高度height:31px,如果没有这一条,在XP宋体的时候导航栏和下边框之间会有条线,如果这般设置了,那条线将和鼠标不覆盖导航栏鼠标特效之前的导航栏颜色一致。即便鼠标处在hover的状态,不过等于是按键下面多了一条特殊的颜色。有些网页是故意做这种特效的,所以我觉得从美观上还能接受。不知道现在还有多少用XP的人会访问我的网页,估计用移动终端的更多吧。移动终端默认会用插件的移动界面,所以那里看到的不是我设计的Color3模板。所以呢,最终Color3模板是给谁看的呢?大概目标人群就只是我自己吧。

昨天从上午开始就在折腾Access,到下午下班之前思路理清了,但还是没办法解决我的联合查询,于是我就找网友帮忙了。他秒杀就解决了我的问题,我折腾了那么一大轮原来最终跪在了一个拖放的字段关联操作上。如果没有高人指点,我自己折腾一个星期都不会想得出还可以这样,因为我已经把所有右键以及菜单栏里的详细菜单都翻遍了。如果我真找不到可视化操作方式,我也可以用SQL语句实现那样的关联,具体语句是“31 INNER JOIN 32 ON [31].ID=[32].ID”(把表31的ID字段和32的ID字段关联),然后就可以在查询里一次性地筛选合并出31和32的内容了。这一点很多人都能想到,但具体该怎么操作则需要知识。我学习Access的路还有很长~

研究代码是个烧脑的过程,但又不会太剧烈。

归档:2017-09-07 Taare Zammen Par

2017-09
6

计划修改模板

By xrspook @ 10:11:54 归类于: 烂日记

多少年以后我终于想修改一下我的天的界面。已经不记得对上一次微调界面是什么时候的事了,我只记得自己在通过CSS 3和XHTML 1.1验证以后几乎再也没动过。WordPress的后台升级无数次,但我的Color3模板一直没动。现在CSS流行的是什么我不知道,反正网页框架已经去到HTML5了,而我依然停滞不前。不过呢,这也说明我的当年制作的模板经得起时间的考验,永不过时的节奏XD

现在我之所以要修改是因为我发现了一些格式上的不完美。这并不是因为当年我设计模板的时候有什么缺漏,而是因为这么多年来各种东西都有了发展。从前我设计模板的时候用的是Windows XP,现在除了我的一部小手提以外,用的都是Win7了。Win7和XP的默认字体不一样,从我第一天开用的时候就已经感觉出来了。Win7默认的字体是微软雅黑,而XP是宋体。至于浏览器,当年我设置用的是Firefox大概3.0,现在都55.0了,所以浏览器的默认字体也不同,虽然我每次都会手动调回宋体。肉眼能看到的是字体不一样了,对格式的具体理解每个浏览器都不一样,每一代浏览器都会有区别。IE的区别尤其明显,Firefox在浏览器领域变化算不大了,但从我的网站的情况看来还是有区别。在开始调整之前我需要在XP的电脑上确认修改后的版式如何。对一个前端设计师来说,浏览器兼容性从来都是非常让人头痛的事。现在,其实用电脑访问网页的人可能比用移动客户端的少。所以搜索到我的网站的人可能看到的并不是我自己在PC上看到的那样,而我自己又几乎不会用移动终端去访问我自己的网站,够滑稽的。出现样式有些许变动的地方主要是网站的版头的导航以及单篇文章提交评论的按钮。版头的导航定位有点偏下了,提交评论的按钮太小了。没记错的话,我的版头导航用的应该是绝对定位,绝对定位为什么会出现这种事大概真的是因为浏览器对代码的理解方式发生了改变。几年前我就发现了这个问题。至于评论的按钮,因为我启用了验证码模式,有可能因为这样替换掉了原来的“提交”二字,变成了“Submit Comment”,字符数相差那么多,当然位置不够了,但如果当年我用的代码不是绝对宽度限定按钮大小也不会出现这种问题。那个需要输入验证码才能提交评论的插件记忆之中我也没在网站模板完成后更新过。难道这个问题一直存在而我却一直没留意???

昨天我有了个给网站增加一个全部日志按日导航的功能,把所有日志按照发布时间的先后列出发布时间和日志标题,罗列一个页面里。因为我现在已经有5200多篇日志,所以估计会很壮观。但问题是,我有必要这么变态地输出这样一个页面吗?用来干嘛呢?吓唬人吗?之所以想这样估计真的跟我的虚荣心有一定关系。要实现这个,我需要找到一条把那些内容输出的规则,我应该可以做到,但我为什么要这么做呢?如果输出了那个,就等于我建立了一个全体目录索引。

不知道为什么,近期我又开始沉迷上代码这种事了。

© 2004 - 2026 我的天 | Theme by xrspook | Power by WordPress