关于 Delphi 中流的使用(7) 压缩与解压缩(TCompressionStream、TDecompressionStream)

从零搭建医疗化验单识别系统:深度学习+OCR实战教程(附数据集) 本文详细介绍了如何从零开始构建一个医疗化验单智能识别系统。通过融合深度学习和OCR技术,系统能够应对版式多样、内容专业的医疗单据,实现从文本检测、识别到关键信息结构化抽取的全流程。文章提供了数据集处理、模型选型、训练微调及工程化部署的实战指南,并分享了避坑经验与性能优化策略,为开发者解决医疗信息化痛点提供了完整的技术方案。 阅读详情

关于 Delphi 中流的使用(7) 压缩与解压缩(TCompressionStream、TDecompressionStream)

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

uses Zlib; {压缩流 TCompressionStream 与解压缩流 TDecompressionStream 来自 Zlib 单元}

//压缩
procedure TForm1.Button1Click(Sender: TObject);
var
cs: TCompressionStream; {定义压缩流}
fs,ms: TMemoryStream; {fs 是要压缩的流; ms 是接收压缩后文件的流}
num: Integer; {原始文件大小}
begin
{第一步: 调入要压缩的文件, 并获取大小}
fs := TMemoryStream.Create;
fs.LoadFromFile(‘c:\temp\test.txt’); {文件要存在啊}
num := fs.Size;

{第二步: 建立接收的流, 并先写入原始文件大小}
ms := TMemoryStream.Create;
ms.Write(num, SizeOf(num));

{第三步: 压缩}
cs := TCompressionStream.Create(clMax, ms); {参数1是压缩比; 参数2是接收流}
fs.SaveToStream(cs); {传入要压缩的数据}
cs.Free; {压缩流 Free 后才真正完成压缩, 所以提前 Free}

{第四步: 保存}
ms.SaveToFile(‘c:\temp\test.zipx’);

{第五步: 释放}
ms.Free;
fs.Free;

{压缩比参数:
clNone 无压缩
clFastest 快速
clDefault 默认
clMax 最大比例
}
end;

//解压缩
procedure TForm1.Button2Click(Sender: TObject);
var
ds: TDecompressionStream; {解压流}
fs,ms: TMemoryStream; {fs 是准备要解压的流; ms 是接受解压数据的流}
num: Integer; {接受文件压缩前的大小}
begin
{第一步: 准要解压的文件}
fs := TMemoryStream.Create;
fs.LoadFromFile(‘c:\temp\test.zipx’); {必须是上一个压缩方法生成的文件}

{第二步: 读出文件压缩前的大小}
fs.Position := 0;
fs.ReadBuffer(num,SizeOf(num));

{第三步: 准备好要接收的流, 并设置需要的大小}
ms := TMemoryStream.Create;
ms.SetSize(num);

{第四步: 解压}
ds := TDecompressionStream.Create(fs); {参数是要解压的流}

{第五步: 把解压后的数据读出存放到已准备好接收的流}
ds.Read(ms.Memory^, num);

{第六步: 保存}
ms.SaveToFile(‘c:\temp\test2.txt’);

ds.Free;
ms.Free;
fs.Free;
end;

end.

Orcad 17.2导出PDF原理图终极指南:从Ghostscript安装到带属性书签配置 本文是Orcad 17.2导出高质量PDF原理图的终极指南。针对导出过程中常见的Ghostscript安装报错、软件卡死及版本兼容性问题,提供了详细的解决方案。重点推荐使用Ghostscript 9.53.3版本以确保最佳兼容性,并深入讲解了从安装配置、内存优化到高级书签属性设置的完整流程,帮助硬件工程师稳定、高效地生成带完整器件属性和导航书签的PDF文档。 阅读详情

相关推荐

脑机接口最新发展动态报告 (2024-2025)

脑机接口动态

高山 4105

Delphi 中压缩流和解压流的应用

转自:http://www.delphitop.com/html/yasuo/180.html 软件开发者不免都要遇到压缩数据的问题!经常使用Delphi的朋友都知道,它为我们提供了两个流类(TCompressionStream和TDecompressionStream)来完成数据的压缩和解压缩,但美中不足的是,该流在Delphi 的帮助中没有详细的说明,使得它们在使用起来有一定得困难。其...

weixin_30347009的博客 313

【OpenCV】复杂场景下的高精度圆检测实战(附完整代码)

本文针对OpenCV霍夫圆检测在复杂场景下易失效的问题,提出了一套基于轮廓分析的高精度圆检测实战方案。通过图像预处理、轮廓发现及多轮几何筛选(面积、周长、椭圆拟合、多边形逼近),有效排除噪声和类圆干扰物,显著提升复杂场景下的检测鲁棒性,并附完整可调参的Python代码实现。

weixin_29095587的博客 199

Delphi中流的使用:压缩与解压缩(TCompressionStream、TDecompressionStream)

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; B...

aa663388的博客 328

(详细教程)opencv+pycharm+笔记本摄像头 做一个人脸识别

文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 一、安装opencv-python 这里推荐使用pycharm直接安装opencv-python 打开文件——设置——python解释器——点击+号 搜索opencv-python,点击安装包,等待片刻即可安装好 检查是否安装好,新建一个项目输入以下代码,若无报错则安装好 import cv2 二、准备分类器 咱们使用opencv官方提供的分类器,包括面部识别,侧...

qq_52852432的博客 1万+

避开这5个坑!用MATLAB做核密度估计时90%人会犯的错误

本文详细解析了使用MATLAB进行核密度估计时常见的5个高频错误,包括三维数据可视化、带宽参数优化、大数据量处理、核函数选择及版本兼容性问题。特别针对核密度估计中的关键参数带宽(bandwidth)提供了数据驱动的优化策略,帮助用户提升分析精度与效率。

jenkins8butler的博客 277

delphi Zlib 流压缩解压

http://blog.youkuaiyun.com/zhongguoren666/article/details/7077328 procedure UnCompressionStream(var ASrcStream:TMemoryStream); //解压缩 var nTmpStream:TDecompressionStream; nDestStream:TMemoryStream; nBuf

l799623787的专栏 2470

【Frida Android】实战篇8:客户端证书认证绕过 Hook 教程

通过重写类的方法,自定义证书校验逻辑;利用配置文件,从系统层面管理证书信任策略;以及通过 OkHttp 框架提供的方法,实现证书的强绑定校验。这些内容主要围绕客户端如何验证服务端证书的合法性展开。客户端证书认证。当 APK 预置了客户端证书,并且服务端会对客户端证书进行校验时,传统的中间人攻击方式将面临新的挑战。我们将深入分析这种场景的工作原理,并详细介绍如何通过技术手段获取客户端证书、配置中间人工具,最终成功实现抓包分析。

水滴石穿 1425

Delphi压缩流和解压流的应用

软件开发者不免都要遇到压缩数据的问题!经常使用Delphi的朋友都知道,它为我们提供了两个流类(TCompressionStream和TDecompressionStream)来完成数据的压缩和解压缩,但美中不足的是,该流在Delphi 的帮助中没有详细的说明,使得它们在使用起来有一定得困难。其实在Delphi系统中提供了这两个类的源代码和库。保存在Delphi 光盘的InfoExtraslib

mpg2012的专栏 3040

Floyd (弗洛伊德)算法简述

Floyd在1962年由Robert Floyd以其当前公认的形式出版。算法作为三个嵌套for循环的现代公式首先由Peter Ingerman在1962年描述。Floyd 算法是解决图论问题的比较经典的算法,是解决给定的加权图中顶点间的最短路径的一种算法,可以正确处理有向图的最短路径问题。

慕羽★的博客 2万+

动力学约束下的运动规划算法——状态栅格规划器(State Lattice Planner)

A*、RRT等算法建立的用于路径搜索的图模型是不考虑机器人的动力学约束的,其构建的图模型的两个相邻节点之间的路径可能是不可行的,或者很难被机器人跟踪的,现在我们想要使得图中相邻两个节点间的连接是一种满足动力学约束的可行的连接,那么如何构建一个这样的图呢? 构建这样的图通常有两种方法:第一种是基于控制空间的采样(正向方法)

慕羽★的博客 3104

关于 Delphi 中流的使用 压缩与解压缩(TCompressionStream、TDecompressionStream)

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Butt...

weixin_30484739的博客 176

BMS控制板硬件设计核心要点与工程避坑指南

电池管理系统(BMS)硬件设计是保障锂电安全与寿命的关键环节,其本质是模拟前端精度、数字控制可靠性、电源完整性及电磁兼容性四大要素的系统协同。理解AFE芯片(如BQ76920)的物理层约束、MCU与专用监控IC的异构分工逻辑,是构建高鲁棒BMS的基础;而晶振布局、I²C总线匹配、MOSFET体二极管方向、开尔文采样等细节,直接决定量产良率与EMC合规性。在电动工具、储能系统、两轮电动车等中低功耗BMS应用中,成本敏感型方案常采用STM32F0+AFE架构,此时电源滤波电容选型、复位电路ESR控制、TVS/齐

weixin_30591519的博客 259

Delphi使用zlib来压缩文件

使用时,需要Zlib.pas和 Zlibconst.pas两个单元文件,这两个文件保存在 Delphi 5.0安装光盘上 InfoExtrasZlib目录下,此外,在 InfoExtrasZlibObj目录中还保存了 Zlib.pas单元引用的 Obj文件,把这个目录拷贝到delphi的lib下,即可。可以适当的改动比如增加目录压缩和分文件压缩,其实就是在文件流前面增加一部分描述结构就是,不多说。...

weixin_30496751的博客 147

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

流的压缩与解压缩函数

uses Zlib;//压缩函数procedure Zip(var fs: TMemoryStream);var  cs: TCompressionStream;  ms: TMemoryStream;  num: Integer;begin  if not(Assigned(fs) and (fs.Size>0)) then Exit;    num := fs.Size;    ms :...

weixin_34122548的博客 273

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Delphi : ZLib的数据压缩和解压缩

http://blog.sina.com.cn/s/blog_4ad042e50102e1pk.html Delphi的开发者可以使用ZLib单元中定义的TCompressionStream进行数据压缩,使用TDecompressionStream解压缩ZLib压缩后的数据。 它们的定义如下: TCustomZlibStream = class(TStream) private FS

l799623787的专栏 2450

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: 关于 Delphi 中流的使用(7) 压缩与解压缩(TCompressionStream、TDecompressionStream)
下一篇: DELPHI 利用WINRRA 实现压缩解压
delphi308
博客等级 码龄18年 148粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值