示例.txt

来自「用C++ vc编程的串口通讯软件和源代码」· 文本 代码 · 共 37 行

TXT
37
字号
功能:
  (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 + =
减小字号Ctrl + -
显示快捷键?