📄 示例.txt
字号:
功能:
(1)程序通过计算机串行口(COM)进行文件传输;
(2)传输前会先进行文件的压缩,接收后会解压,采用一个基于ZLib的组件;
(3)因为原来是为朋友特制的,所以在设置中的最高速率只有9600,你可以自己增加,然后稍微修改代码即刻,同时,你需要去掉寻找本机Socket Server的代码,因为这个是定制时候需要的,如果你是一个通用的,就不需要;
(4)采用自定义协议,确保数据通讯的正确性和完整性;
(5)采用控件,有Raize3.10和TComDrv32(德国人写的一个控件,只是其中有一个BUG,已经被我修正),上传的文件中只包括了TComDrv32,Raize请大家自己下载;
(6)上传代码主要为研究用,欢迎大家改进,但是请发给我更新代码到flyit@126.com,谢谢。
下面贴出一小段使用这个压缩单元的例子,很简单、很方便的
var
InputStream, OutputStream: TFileStream;
DeCompressionStream: TZDecompressionStream;
CompressionStream: TZCompressionStream;
InputFileName, OutputFileName: string;
begin
//compress
InputFileName := ‘c:image.png‘;
OutputFilename := ‘c:image.png.bzip‘;
InputStream := TFileStream.Create(InputFileName, fmOpenRead);
OutputStream := TFileStream.Create(OutputFileName, fmCreate);
CompressionStream := TZCompressionStream.Create(OutputStream, zcFastest);
CompressionStream.CopyFrom(InputStream, InputStream.Size);
CompressionStream.Free; //只有在这条语句执行完毕后,OutputStream中流才是被压缩过的
OutputStream.Free;
InputStream.Free;
// decompress
InputFileName := ‘c:image.png.bzip‘;
OutputFilename := ‘c:image2.png‘; //rename to original into final code
InputStream := TFileStream.Create(InputFileName, fmOpenRead);
OutputStream := TFileStream.Create(OutputFileName, fmCreate);
DecompressionStream := TZDecompressionStream.Create(InputStream);
OutputStream.CopyFrom(DecompressionStream, 0);
DecompressionStream.Free;
OutputStream.Free;
InputStream.Free;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -