-
Recent Posts
Recent Comments
- softdream on 小城市的程序员
- softdream on gg时代,喜儿们的思想开放了
- xy on 晃了一会儿,三个月过去了
- 6 on Override和Overload
- piip on 夜来风雨声,花落知多少
Archives
- June 2010
- March 2010
- January 2010
- October 2009
- August 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006
- February 2006
- January 2006
- December 2005
- November 2005
- October 2005
- September 2005
- August 2005
- July 2005
- June 2005
- May 2005
- April 2005
- March 2005
- February 2005
- January 2005
- December 2004
- November 2004
- October 2004
- September 2004
- August 2004
- July 2004
- June 2004
- May 2004
Categories
Meta
Category Archives: 学习历程
把两个简单的wav文件合并起来
[提出]因为近来需要把数据库中涉及到同一事项的多个wav录音同时播放,因为条件限制无法使用播放列表,只能在客户端将这几个wav文件合并起来。 [资料]上网查阅了相关的帖子,思路比较清晰, 1、将每个wav的数据部分相加 2、将文件头中包含的文件大小相加 3、重新写入一个文件,然后更新一下文件头 [实现] 恰好在盒子里翻的时候,发现了一个现成的unit,呵呵,省却了俺好多功夫啊,真是万分感谢原作者。 因为使用的8位单声道8khz的录音文件,因此对其中的一些小项重新添加了一下,用integer代替了cardinal。 关于wav文件头部分的说明,俺前面已经引用了一份资料地。 下面是unit的内容: unit ConcatWaveU; interfaceuses SysUtils, Classes, Dialogs; //Déclaration des différents headers contenus dans un fichier WAV…//Allez faire une recherche sur www.wotsit.org pour des informations précises//sur le format WAV ! (ou sur … Continue reading
WAVE文件格式剖析[转贴备忘]
WAVE文件格式剖析 WAVE文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个字节便是“RIFF”。WAVE文件由文件头和数据体两大部分组成。其中文件头又分为RIFF/WAV文件标识段和声音数据格式说明段两部分。WAVE文件各部分内容及格式见附表。 常见的声音文件主要有两种,分别对应于单声道(11.025KHz采样率、8Bit的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。采样率是指:声音信号在“模→数”转换过程中单位时间内采样的次数。采样值是指每一次采样周期内声音模拟信号的积分值。 对于单声道声音文件,采样数据为八位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位和低八位分别代表左右两个声道。 WAVE文件数据块包含以脉冲编码调制(PCM)格式表示的样本。WAVE文件是由样本组织而成的。在单声道WAVE文件中,声道0代表左声道,声道1代表右声道。在多声道WAVE文件中,样本是交替出现的。 WAVE文件格式说明表 偏移地址 字节数 数据类型 内 容 文件头 00H 4 char “RIFF”标志 04H 4 long int 文件长度 08H 4 char “WAVE”标志 0CH 4 char “fmt”标志 10H 4 过渡字节(不定) 14H 2 … Continue reading
Posted in 学习历程
Leave a comment
新的项目开始了,有些迷茫
为了要进行底层开发,转到vc?没有答案,继续转delphi的.pas,还是没确定,有些迷茫,看来还是早些打算,熟悉VC。 做了两天的无用功,似乎什么都没有学到,跟在屁股后面疲于奔命,k… 好多事情,好多心思…
Posted in 学习历程
2 Comments
天天加班,疯了
如果那组漫画说的:痛苦的还有天天免费加班!! 加班到现在,听见”加班”就神经质的有些反感.尤其在看到老板不愿意投资,任凭我们怎么努力的拐弯都解决不了这些摸不着头脑的问题的时候.当他那句”事情这么紧急,还不加班?”很轻松的抛出来时,我俩都没有反应… … 本来我们遇到的问题其实就是一层窗户纸,捅破了就一切ok,当把厂商邀请我们去北京培训一下的想法告诉他后,就没有了下文. 就在昨天,公司请回了一个鲁能集成的人来,居然希望一切从底层开始,在工期比较宽松的情况下,我非常赞同这样做,可是现在却是不到一个月的时间内就要给客户交货!!信誉对他来说就是”跟客户很熟,再拖个把月”,呜呼,我实在无话可说.
搞了一顿Listview(Style:ICON)的打印,发现这个方法实在是麻烦,现在改考虑qr去了
真是麻烦 Continue reading
Posted in 学习历程
Leave a comment
Override和Overload
本菜鸟在学delphi中的类的时候,便搜了几篇文章来参考,不想更被搞糊涂了!一篇文章里将override翻译为重载,因为手头没有计算机专业的词典。想如果它是“重载”,那overload是做啥的,居然让俺寻思了半下午。继续看了其他的,总算有些眉目了。 Override是指父类和子类之间方法的继承关系,这些方法有着相同的名称和参数类型。 Overload是指同一个类中不同方法(可以在子类也可以在父类中定义)间的关系,这些方法有着相同的名称和不同的参数类型。 也就是说,如果在子类声明相同的方法名称的时候,如果不是用inherited来继承的话,就会将父类的方法覆盖掉;而且父类的方法声明必须标识为virtual和dynamic;overload比较好理解,就是同类里有许多相同的方法名称,但是参数不相同。且第一个方法可以不用overload来标识。 override的方法返回值类型必须一致,其modifier可以扩大,不可以缩小。 一个不是用abstract标识的方法不可以override成abstract方法。 override的子类的方法拋出的异常只能是父类方法拋出异常的子异常。
Posted in 学习历程
4 Comments
花了这么长的时间,终于解决了程序自己弹出的问题!
目的:系统运行时,最小化到托盘上。当接收到其他程序发出的消息后,弹出主窗口。 遇到的问题是用控件(例如CoolTrayIcon)放在主窗口上,运行的时候最小化一步没有问题,但是当响应其他程序发出的消息,自己将主窗口弹出后,窗口的最小化事件却不再响应,而且关闭系统时报莫名其妙的错误。另外,如果单纯手动单击托盘图标没有任何问题。只有自身调用的时候才报错,现在只是将最小化事件重写了一遍,虽然解决了,可是没有搞清楚其中的原因,不晓得还有没有其他的解决办法。 Unit Unit1; Interface Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Psock, NMMSG, StdCtrls, Menus, CoolTrayIcon; Type TForm1 = Class(TForm) MSGServReceive: TNMMSGServ; Button1: TButton; Memo1: TMemo; PopupMenu1: TPopupMenu; N1: TMenuItem; sdfsdfsdf1: TMenuItem; TrayIcon: TCoolTrayIcon; Procedure MSGServReceiveMSG(Sender: … Continue reading
Posted in 学习历程
Leave a comment
Firefox占用的资源那么高,为什么还显得比IE快呢?
1- “ctrl”+”+”可以调大页面字体,”ctrl”+”-”可以缩小页面字体; 2- “ctrl”+”t”可以打开新的tab,”ctrl”+”w”关闭当前tab; 3-在当前窗口开Tab: (1)打开连接的时候按住Ctrl键; (2)把连接拖动到Tab栏上。
Posted in 学习历程
Leave a comment
Case Strings 以前总是用Tstringlist来实现,闲来搜索了一下,发现这个法子更好些
The following function enables you to use the Case statement with string type variables Continue reading
Posted in 学习历程
2 Comments