【易语言-易语言个人支付宝监控】是一款使用易语言编写的程序,主要功能是对个人支付宝账户进行监控,以绕过支付宝系统设定的10分钟无操作自动掉线的限制。这款程序的运行时间大约可以保持稳定两个小时左右,尽管这不是一个官方推荐或认可的方法,但它是对支付宝使用规则的一种技术性应对。 易语言是一种中国本土开发的编程语言,它以其直观的汉字编程语法和强大的编程能力而受到程序员的喜爱。在这个项目中,开发者利用易语言来编写监控代码,以实现对支付宝账户活动的持续追踪。 源码中包含了希尔排序模块和精易模块的调用。希尔排序是一种改进的插入排序算法,它通过将待排序元素按一定间隔分组,然后对每组进行插入排序,逐步减少间隔,从而提高了排序效率。在支付宝监控的场景中,希尔排序可能被用于优化数据处理和更新的效率。而精易模块则是易语言的一个扩展库,提供了大量的函数和类,便于开发者快速构建各种功能,如网络通信、数据库操作等。 数据库在该项目中扮演了重要角色,所有的监控数据都会被存储在数据库中。值得注意的是,数据库的密码是“zfb123”,这是一个非常基础的密码,为了安全起见,实际应用中应当使用更复杂且难以猜测的密码。 这个程序的设计和使用涉及到了几个关键的IT知识点: 1. **网络编程**:监控支付宝账户活动需要与支付宝服务器进行交互,这涉及到HTTP/HTTPS协议、TCP/IP通信等网络编程技术。 2. **数据库管理**:使用数据库存储数据,需要掌握SQL语言,以及如何设计数据库表结构以适应监控数据的存储需求。 3. **安全性**:由于涉及到个人财务信息,程序的安全性至关重要。然而,数据库密码过于简单,这存在安全隐患,需要加强密码策略并可能采用加密技术保护数据。 4. **编程语言**:易语言的使用需要了解其语法特性、类库和模块的调用方法。 5. **算法与数据结构**:希尔排序的运用表明开发者理解了排序算法,并能将其应用于实际问题中。 6. **用户界面设计**:虽然未具体描述,但一个用户友好的界面是监控软件必不可少的,需要掌握UI设计原则和易语言的界面构建工具。 7. **法律合规性**:任何对第三方服务进行监控的行为都应遵守相关法律法规,避免侵犯他人隐私或违反服务条款,这一点开发者应特别注意。 "易语言-易语言个人支付宝监控"项目展示了易语言的编程实践,网络通信、数据库操作和算法应用等多个IT领域的知识。但同时,也揭示了在安全性和合规性方面存在的潜在问题。
2025-11-27 17:45:33 1020KB 网络相关源码
1
基于Delphi Api实现多线程技术,实现多线程的技术有很多种,用tthread类也可以实现,杀猪杀尾巴,各有各杀法,不管哪种方法,只要实现的多线程技术稳定、高效且可以满足自己的需要,就是最好的,本例中实现的多线程是基于API技术实现的,有兴趣的可参考哦。
2025-11-25 18:31:50 6KB Delphi源码-系统相关
1
PCB相关标准要点总结。包括GJB和SJ: GJB3243A-2021《电子元器件表面安装要求》 GJB4057A-2021《军用电子设备印制板电路设计要求》 GJB 362C-2021《刚性印制板通用规范》 GJB 7548A-2021《挠性印制板通用规范》 GJB 10115-2021《微波印制板设计规范》 GJB 2142A-2011《印制线路板用覆金属箔层压板通用规范》 SJ 20810A-2016《印制板尺寸与公差》 SJ 21481-2018《高速电路导线特性阻抗控制要求》 SJ 21554-2020《印制板背钻加工工艺控制要求》 SJ 21305-2018《 电子装备印制板组装件可制造性分析要求》 SJ 21150-2016 《微波组件印制电路板设计指南》
2025-11-25 15:24:41 2.47MB 信号完整性 硬件研发
1
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,由一系列C++库和C接口组成。它支持多种编程语言,包括C++、Python、Java等,广泛应用于学术和工业界,用于解决各种计算机视觉问题。 opencv4.11.0是OpenCV库的一个版本号,表明这是库的第4个主版本的第11个更新版。随着版本的迭代,OpenCV不断引入新的功能,改进现有功能,并修复已知问题,为开发者和研究人员提供了一个功能更加强大和稳定的平台。 opencv4.11.0+contrib表示这个版本除了包含OpenCV的核心模块外,还加入了额外的contrib模块。contrib模块是指那些贡献代码,这些代码由社区成员提供,不属于OpenCV官方的稳定发布版本。它们提供了额外的功能和算法,但是在官方版本中的集成度和稳定性可能不如核心模块。 编译后的相关文件则是指将OpenCV源代码通过编译过程转换成的可执行文件、库文件、头文件等。这些文件是开发者在实际项目中使用OpenCV进行开发的基础。编译过程中,开发者可以根据需要选择静态链接或者动态链接库的方式来进行开发。 .cache文件通常是编译过程中生成的缓存文件,它们可能包含编译器用于加速编译过程的信息,如预编译头文件、项目配置信息等。对于OpenCV这样的大型库来说,编译是一个复杂且耗时的过程,使用.cache文件可以在后续的编译过程中减少重复的编译工作,从而提高编译效率。 在opencv4.11.0+contrib编译后的文件集合中,可能会包括以下几个重要的文件类型: - lib文件:包含编译后的库文件,这些库文件是程序运行时所需要的; - so文件或dll文件:分别对应于Linux系统和Windows系统的动态链接库文件,用于程序运行时动态加载; - a文件或lib文件:分别对应于Linux系统和Windows系统的静态链接库文件,用于程序编译时的静态链接; - h文件或.hpp文件:包含OpenCV的头文件,定义了库中各种功能的接口; - bin文件夹:可能包含了一些示例程序和执行文件; - include文件夹:包含OpenCV的所有头文件,用于在编写程序时引用; - CMakeLists.txt文件:是CMake构建系统的配置文件,用于在编译时指定项目设置和链接库的路径。 由于提供的文件信息中只有.cache一个文件名,我们可以推测这是编译过程中生成的一个缓存文件。实际的文件集合可能还包括其他类型的文件,这些文件共同构成了opencv4.11.0+contrib编译后的软件包。 重要的是,使用OpenCV进行开发时,需要确保编译后的文件与开发环境兼容,并且遵循相应的许可协议。开发者通常需要根据具体的开发需求和平台环境来选择合适的库文件和头文件进行链接和包含。 由于压缩包的文件名列表中仅包含了.cache文件,我们可以推断这个压缩包可能仅包含了与opencv4.11.0+contrib编译相关的缓存信息,而非完整的编译文件集合。开发者在获取完整的编译文件时,应当注意检查是否包含了所有需要的库文件、头文件以及示例代码等。 根据提供的信息,我们无法得知具体的文件结构,因此只能根据常规的OpenCV库结构和编译过程来推测可能包含的文件。在实际使用中,开发者需要根据具体情况来选择和使用这些编译后的文件。
2025-11-24 18:26:07 106.55MB
1
《DM8233主控量产工具QCTool V1.6:U盘相关工具的探索与应用》 在IT领域,数据存储设备扮演着至关重要的角色,其中U盘因其便携性和大容量存储能力而广受欢迎。DM8233主控作为U盘的核心部件之一,对于U盘的性能和稳定性起着决定性的作用。本文将围绕“DM8233主控量产工具QCTool V1.6”这一主题,深入探讨其功能、用途以及在U盘维护和优化中的应用。 DM8233主控是专为U盘设计的一款高性能芯片,具备高速读写、低功耗和高稳定性等特点。而QCTool V1.6则是针对这款主控的专用量产工具,用于对使用DM8233主控的U盘进行初始化、格式化、坏块检测、固件升级等操作。这个工具的出现,使得用户和专业技术人员能够更方便地对U盘进行管理和维护,确保其工作状态良好,延长使用寿命。 QCTool V1.6的主要功能包括: 1. **初始化与格式化**:这是最基本的使用场景,用户可以通过工具对U盘进行初始设置,清除原有的数据并设定新的文件系统,如FAT32或NTFS,以适应不同的操作系统和数据存储需求。 2. **坏块检测与修复**:通过扫描U盘的所有存储区域,QCTool能识别出损坏的扇区,并尝试进行修复,避免数据丢失和U盘性能下降。 3. **固件升级**:随着技术的更新,新版本的固件通常会带来更好的兼容性和性能提升。QCTool允许用户方便地更新DM8233主控的固件,以保持最佳的运行状态。 4. **性能优化**:该工具还可以调整U盘的读写速度、电源管理等参数,根据个人需求实现性能的定制化。 5. **安全擦除**:对于有隐私保护需求的用户,QCTool提供了完全擦除功能,可以彻底删除U盘上的所有数据,防止数据泄露。 尽管描述中提到该工具的具体功能不详,但我们可以推断,QCTool V1.6作为一个专业的U盘管理工具,其功能应该涵盖了U盘维护的各个方面,旨在提供全面的解决方案。由于工具来自论坛分享,使用前需要注意验证来源的可靠性,同时,由于这类工具涉及硬件底层操作,操作时需谨慎,以防误操作导致U盘损坏。 在实际使用中,对于非专业用户,建议在遇到U盘无法识别、读写速度慢、频繁出现错误等问题时,可尝试使用QCTool V1.6进行诊断和修复。对于IT专业人士,这个工具则是一个不可或缺的维护和调试利器,能够有效地提高工作效率。 总结来说,“DM8233主控量产工具QCTool V1.6”是一个面向U盘用户的实用工具,通过其强大的功能,可以帮助用户解决各种与U盘相关的问题,无论是日常的维护还是专业的故障排查,都能提供有效的支持。在享受U盘带来的便利的同时,我们也应该学会如何正确地使用和维护它,而QCTool V1.6就是这样一个有力的助手。
2025-11-24 16:16:12 210KB U盘相关工具
1
在IT行业中,ANSYS Workbench是一款广泛使用的工程模拟软件,它允许用户进行多物理场的仿真分析。ACT(Application Customization Toolkit)是ANSYS Workbench的一部分,为用户提供了一个强大的平台来扩展和定制工作流程,以满足特定的需求。本文将深入探讨"ACT相关源代码学习"这一主题,以及压缩包中包含的文件对学习ACT二次开发的重要性。 我们要理解什么是ACT。ACT(Application Customization Toolkit)是ANSYS Workbench的二次开发工具,它提供了一组API(应用程序编程接口)和开发环境,使得开发者能够创建自定义的工作流、用户界面组件以及与ANSYS求解器的接口。通过ACT,你可以构建自己的插件,增强或定制Workbench的功能,以适应更复杂或特定的工程问题。 在压缩包中,我们看到多个XML文件,如CSharpOptimizer.xml、CppOptimizer.xml等。这些文件是ACT扩展的核心组成部分,它们定义了扩展的行为和结构。例如: 1. CSharpOptimizer.xml 和 CppOptimizer.xml:这两个文件可能包含了使用C#和C++语言实现的优化器的配置信息。在ANSYS Workbench中,优化是解决设计问题的关键步骤,可能涉及到材料参数、几何形状或操作条件的调整。通过查看这些源代码,我们可以学习如何编写自定义优化算法,以适应特定的工程需求。 2. CustomLayout.xml:此文件可能涉及到自定义布局的设置,允许开发者根据项目需求创建个性化的用户界面。在Workbench中,布局定义了工作区中各个模块的组织方式,通过自定义布局可以提高工作效率。 3. AdvancedProperties.xml:这可能与高级属性相关,可能涉及到扩展的参数设置或者更复杂的交互逻辑。在ACT扩展中,这些高级属性可以用于控制插件的行为,为用户提供更多的控制选项。 4. CSharpSampling.xml、CppSampling.xml 和 CSharpSampling 文件:这些可能涉及采样技术,比如参数空间的探索或设计空间的敏感性分析。通过源代码,我们可以了解如何使用编程语言来实现这些功能,并与Workbench的其他部分集成。 5. Coupling.xml:可能与多物理场耦合有关,因为ANSYS Workbench支持多种物理场之间的相互作用分析。学习这部分源代码有助于理解如何创建自定义的耦合策略。 这个压缩包提供的源代码是一个宝贵的资源,对于想要深入理解ANSYS Workbench ACT二次开发的工程师来说,它提供了实际案例来学习和实践。通过对这些文件的解析和学习,可以掌握如何创建和管理ACT扩展,包括界面设计、工作流程定制、优化算法实现以及多物理场耦合等关键技能。这些知识对于提升工作效率、解决复杂工程问题具有重要意义。
2025-11-23 19:40:04 140KB
1
无用户上限支持网络环境:支持在局域网内进行加解密操作。支持多用户同时映像浏览解密. 右键加密,加密操作简易:支持文件拖放加密。主顺序中加密。 能快速的加密大量文件 一流加密速度:使用原创的高速加密引擎. 轻松打造满足您个人需要的加密文件夹多种加密设置:加入各种自定义设置。 稳定性更强,性能优化稳定:顺序全部模块进行优化重构。平安更有保障。 可以满足不同层次用户的需要三种加密强度
2025-11-22 10:59:47 1.1MB 安全相关
1
VCLZip Native Delphi Zip/UnZip Component! (VCLZip Lite: Version 2.23 April 14th, 2002) (VCLZip Pro: Version 3.10 Buid 1 - November 25th, 2007) IMPORTANT: If installing the registered version, please be sure to always re-install/rebuild the components (VCLZip and VCLUnZip) to the component pallette (or rebuild the design time package) so that the ThisVersion property and any other new properties will be properly updated. If your application still does not run without the IDE, open up VCLZip's package, click on options and look at the Directories/Conditionals tab. If KPDEMO is defined, remove it and recompile the package. ***IMPORTANT: Please remember do not install these components into a package by the name of either VCLZip or VCLUnZip. You will receive an error if you do. PLEASE TAKE A LOOK AT THE "WHAT's NEW IN THIS VERSION" LINK IN THE HELP FILE AS IT HAS CONVENIENT LINKS TO ALL OF THE NEW TOPICS. ==================== Version 3.10 Build 1 - Several bug fixes. - Added support for Delphi 2006, 2007 - Added support for BCB 2006, 2007 - Improved memory performance when working with archives containing extremely high number of compressed files. ==================== Version 3.06 Build 2 Made Delphi 2005 compatible Other assorted fixes ==================== Version 3.05 Build 1 Fixed a lot of incompatabilities between VCLZip and WinZip Other assorted fixes ==================== Version 3.04 Build 1 New ZLib methods for optimized compression and decompression of single entities of data in standard ZLib format, without the overhead of the PKZip format. This is excellent for compression of data to be sent across the net, compressing web pages (http compliant compression), blobs, etc. - ZLibCompressStream - ZLibDecompressStream - ZLibCompressBuffer - ZLibDecompressBuffer - ZLibCompressString - ZLibDecompressString Overloaded TStream Methods for Delphi 4,5, BCB 4, and 5 - UnZipToStream - UnZipToStreamByIndex - ZipFromStream Special OnGetNextTStream Event for Delphi 4,5, BCB 4, and 5 - Allows zipping multiple TStreams in one process - More efficient than calling ZipFromStream multiple times Capability to use the latest version of ZLib 1.2.1. - VCLZip currently uses 1.4.1 by default. - By defining ZLIB121, VCLZip will use the latest version of ZLib which is included with the registered version. Some optimization improvements which should show some improvement in zipping and unzipping speed when using TkpStreams with D4, D5, BCB4, and BCB5. ============ Version 3.03 (VCLZip Pro) - Please test your application thoroughly with this new version of VCLZip Pro. While it has been tested and has even been used in at least two production applications for several months now prior to initial release, there are so many combinations of property settings, environment differences, and ways to use VCLZip that you should always test VCLZip completely in your application before deploying. *** New Zip64 capabilities, properties, methods and events: - Uncompressed, Compressed, and Archive file sizes can be up to 2^63-1 bytes in length. - You can compress up to 2147483647 files into an archive. This is compatible with PKZip's Zip64 format. - If a file does not extend beyond any of the original limitations (filesizes of 4 gig or 65535 files) then no Zip64 format information is included in the archive. - property isZip64 - tells you when you are working with a zip file that is using Zip64 format. Much faster processing due to linking to Zlib object files for compression and decompression routines. Blocked Zip Files (spanned zip archives split onto hard drive) - Now completely compatible with PKZip and WinZip split archives file naming format. - For backwards compatability you can tell VCLZip to use the old VCLZip filenaming format by using the BlockMode property. - New method OnFileNameForSplitPart called just before each split filepart is created. VCLZip supplies a default implementation of this method so for most purposes you won't need your own. - method DefaultFileNameForSplitPart - VCLZip calls this internally if you don't define your own OnFileNameForSplitPart. You can also call it from your own OnFileNameForSplitPart if you wish to add some processing to the default behavior. - property BlockMode - determines whether VCLZip uses PKZip/WinZip standard naming convention or VCLZip classic method. - method DefaultGetNextDisk - VCLZip calls this internally if you don't define your own OnGetNextDisk. You can also call it from your own OnGetNextDisk event if you wish to add some processing to the default behavior. - Properties for controlling which files are zipped... - IncludeHiddenFiles - default False; - IncludeSysFiles: - default False; - IncludeReadOnlyFiles: - default True; - IncludeArchiveFiles: - default True; - Event OnGetNextStream - Allows you to zip from multiple streams when using the ZipFromStream method. This improves performance since repeated calls to ZipFromStream causes the archive to be updated on each subsequent call. - property ThisBuild - Tells you the current build. See also ThisVersion - property OnHandleMessage - Handles interactive messages with VCLZip. There is a default, so you don't need to define your own unless you wish to eliminate interactive messages and handle them on your own. This is helpful if you are using VCLZip as a service or on a webserver for instance. ******** Upgrading existing applications that use VCLZip 2.X ********** For the most part, existing applications will work as-is. Just install VCLZip 3.X and recompile your code. Here are some things to be aware of though... 1) If your app currently creates mmBlock archives (spanned directly to hard drive) and you define your own OnGetNextDisk in VCLZip 2.X, you should move your code from this event that handles mmBlock events to the new event OnFileNameForSplitPart. However, if you simply rely on VCLZip's default OnGetNextDisk then you don't have to worry about this. 2) If your app creates mmBlock archives, the default naming convention has changed to match the PKZip/WinZip standard. If you wish to keep the same naming convention then set BlockMode := mbClassic. 3) OnGetNextDisk and OnPrepareNextDisk events are called for the 1st disk now. VCLZip 2.X only calls these events starting with the 2nd disk. 4) properties CompressedSize[Index], UncompressedSize[Index], ZipSize are now Int64 types. 5) Delphi 4, Delphi 5, BCB 4, and BCB5 are all capable of using the Zip64 format. However they use the TkpHugeStream decendants which act just like TStreams except they handle files/stream sizes larger than 2gig. There is a TkpHugeFileStream and a TkpHugeMemoryStream which should handle 99% of all necessary actions. If you currently work with VCLZip 2.X with TBlobStreams or some other type of streams, you can either define your own TkpBlobStream for instance which inherits from TkpHugeStream, or use the TkpHugeStream.CopyFrom(TStream, Count) and the TkpHugeStream.GetStream: TStream methods to give VCLZip your stream and get it back. Ofcourse when using regular TStream decendants in D4,4,BCB4,and 5, you cannot create Zip64 archives. If you use Delphi 6, 7, or BCB 6, you don't have to worry about any of this as the normal TSTream is used by VCLZip and handles large file/stream sizes. ============ Version 2.23 (VCLZip Lite) Added the OEMConvert property. Filenames stored in a PKZip compatible archive normally go through an OEM conversion to make them ascii compatible. When opening the zip file the conversion is undone. If you do not plan on having other zip utilities opening up your archives this conversion process is not really necessary. Setting this property to False will eliminate this process. The default value for this property is True for normal PKZip compatability. Added OnEncrypt and OnDecrypt events. These allow you to replace the standard pkzip encryption with your own. Data is passed to these events a buffer at a time. Use this with care as this is still somewhat experimental and I'm not sure how useful it is yet. You must make all changes within the buffer sent in to you. Treat the entire file as a stream. Byte for byte replacement only. No additional keys can be saved. Added OnRecursingFile event. Sometimes when using wildcards and recursing directories, there was no reporting of progress. This will be fired each time a file matches as the file list is being built while recursing directories. Added the EncryptBeforeCompress boolean property. The default for this property is False and if left like this VCLZip will behave like normal. If set to True, VCLZip will encrypt each buffer prior to compressing it instead of afterwards. This will cause files to not be decryptable by normal zip utilities thereby adding a bit of extra security. Bugs Fixed: IMPORTANT!!! Behavior of freeing the ArchiveStream (compressed stream) has been modified. VCLZip will now no longer try to free ArchiveStream, you must free it yourself. This was due to a problem where it would be freed automatically if there was a problem with the ArchiveStream when trying to open it as a zip file (possibly corrupt). Best practice is that ArchiveStream should always point toward a TMemoryStream that you create anyway. Modified the SFX code (the code used to create the SFX stub distributed with VCLZip) so that it handles filenames that have been run through an OEM Conversion. The SFX was losing accented characters. This modification means that if you are creating zip files to be used as SFX's you will want to leave the OEMConvert property mentioned above, set to it's default value of True. Modified so that when cursor is changed to hourglass by VCLZip, previous cursor is saved correctly instead of just changing it back to default cursor. Now saves Central Directory Extra Fields correctly. Fixed the SFX code so that it works properly if you use Copy /B to concatenate a zip file to the stub. Due to a Delphi strange behavior sometimes path names for directory only entries would become corrupted. Removed reference to QConsts, replaced with RTLConsts. Sometimes a GPF would result if a corrupt zip file was opened. Using a wildcard in pathname added to FilesList did not work. Using '*.*' as a wildcard in files added to FilesList now is the same as using '*'. VCLZip will now check for CancelTheOperation during initial building of the fileslist instead of just during compression processing. Added a final call to OnTotalPercentDone with 100% because this didn't always happen. Attributes were not getting set correctly for directory-only entries. Fixed a problem that was not allowing ZipComment's to be added correctly to spanned or blocked zip files. Not the same fix as in 2.22. Directories (directory-only entries) were not being restored properly unless DoAll was True. You were unable to delete a directory from which files were recursively zipped until exiting your application. ============ Version 2.22 Now Delphi 6 compatible. New event called {link=93,OnRecursingFile} which gets called as VCLZip recurses directories searching for files that match a wildcard that is entered in the FilesList. This gets called each time a file matches the wildcard. Fixed a bug which kept diskettes from being labeled when creating spanned zip files on WIN31. Fixed a bug which sometimes did not allow zip comments to be added to blocked zip sets. Fixed a bug which caused VCLZip to not properly handle the IncompleteZip exception on spanned zip sets unless you called ReadZip prior to calling UnZip. Version 2.21 (Changes are shown in the build stages as they were implemented) Pre-Release Build 5: When working with temporary files, VCLZip will now rename, instead of copy, the temp file if the destination is on the same drive. This will speed up the adding of files to an existing zip file when the resulting zip file is very large. Pre-Release Build 4: New event called OnPrepareNextDisk which is an event that will allow you, when creating spanned zip files across diskettes, to do things like format a diskette that has just been inserted, or to add or delete files from the diskette before continuing with the zipping process. Fixed a problem that was causing the CancelTheOperation Method to not work properly. Pre-Release Build 3: Fixed bug which caused VCLZip to miscalculate space needed for zfc file if wildcards are put into the FilesList. Fixed bug so you could have FilePercentDone without needing TotalPercentDone when creating spanned zip files Fixed so relative_offset set correctly for spanned zips. Side effect of removing needless write of header. Added code to read local fileheaders if exception thrown when reading a central fileheader. Fixed problem where directories couldn't be created from directory entries because the fullpath wasn't known yet. Result of having moved this code to earlier. Fixed typo in creation of LOC header values which could cause error if reading local headers. Changed so Zip Comment starting position is calculated based on end of central record instead of end of file. Pre-Release Build 2: IMPORTANT: Changed default for FileOpenMode back to fmShareDenyNone as it had been for all but version 2.20. Fixed a problem where drivepart (i.e. C:\) was not being stripped when saving relative paths. Added a BufferedStreamSize property which can increase the speed of creating zips to floppy (and other slow media) dramatically. The new default for this should increase the speed by as much as 3 times, but you can now tweak this especially for your application! Added an ImproperZip property which gets set when VCLZip detects an inconsistency with the zip. This can be useful for detecting when VCLZip was able to open the zip in spite of an inconsistency found. There was no way to know this in the past. Fixed a problem where zip comments in zfc files were not being read correctly. Added a setZipSignatures procedure which allows you to modify the signatures of your zip file. This will cause other zip utilities to not be able to recognize or read your zip files created with VCLZip. Useful if you want to add further security to your zip files. Pre-Release Build 1: Some zip files would not open correctly, throwing an incomplete zip file exception due to an erroneous "extra field length" identifier in headers of some compressed files. These zip files are rare, but a very few people seemed to have several of them. This problem would not affect zip files created by VCLZip, and this problem should only occur in VCLZip 2.20, not in any previous version. If you had Range Checking turned on, VCLZip would get a range check error when using a wildcard that ended with a * as in 'somefile.*'. Under certain circumstances, drive information would not be stripped from path information if zipping recursively (including subdirectories) "Retrying" to zip a file that could not be opened using the OnSkippingFile event would not always work correctly. Creating spanned zip set to floppy should be faster now due to removing a needless header write to disk for each file. VCLZip would not compile correctly with MAKESMALL defined. Added code to make VCLZip work with BCB5. Haven't tested this yet though since I don't have BCB5 myself yet. Added readonly boolean ImproperZip property which will be set to True when some sort of problem is found when opening the zip file, even if recoverable. This property will be enhanced and refined in the future. If KeepZipOpen is set to True, when putting in the wrong disk in a spanned zip set, VCLZip would not always properly close the file on the old diskette before trying to open the file on the next diskette. Added ECantWriteUCF exception which will be thrown if VCLZip runs out of room to write the uncompressed file when unzipping. Timestamp was not being set properly when unzipping readonly files. Moved setting of the timestamp to before the attributes get set. ============ Version 2.20 Changes have been made in the following areas: --Performance There are a few code optimizations that should speed up the zipping process slightly. --Spanned Zip Files A new feature, turned on with the SaveZipInfoOnFirstDisk allows VCLZip to create and read spanned zip files starting with the first disk instead of the normally required last disk of the spanned disk set by saving a Zip Configuration File on the first disk. This feature can be used even if creating the spanned zip file directly to your hard drive. A new property, SaveOnFirstDisk, allows you to save room on the first disk when creating a spanned zip file, to allow room for other files, such as setup programs, data files, or a Zip Configuration File. Spanned zip files can now be directed toward disks greater than 2 gig in size as long as you are using Delphi 5 or BCB 4. --UnZipping The new Selected indexed property offers another way to flag files to be unzipped. Files that have the Selected property set to True can be unzipped using the UnZipSelected method. The Selected property will be cleared (set to False) for each file as it is unzipped, but you can also call the ClearSelected method to clear them all. At anytime the NumSelected property can be checked to see how many files have been selected. Also, the UnZipToBufferByIndex and UnZipToStreamByIndex methods allow you to unzip files specified by their index instead of by name or wildcard. The BufferLength property allows buffered output (buffer smaller than the total uncompressed filesize) when unzipping directly to memory (see UnZipToBuffer and UnZipToBufferByIndex). This will cause the OnGetNextBuffer Event to be called everytime BufferLength bytes have been output by VCLZip. Modified to work in all ways with zip files that have "extra fields" in their headers. These tend to be quite rare, but they do show up from time to time. --Zipping Added a property called FileOpenMode which allows you to define the file open mode for files when they are opened to be zipped. Added a Retry parameter to the OnSkippingFile Event that can be used to re-attempt to open a file for zipping that is open by another process. This gives the chance to close the file and continue with the zipping process rather than having to start over again. Added a ENotEnoughRoom exception which will be thrown if there is not enough room to write to the archive, i.e. out of disk space. The new OnUpdate Event gets fired when updating or freshening an existing archive. It is triggered for each file that already exists in the archive as it is either replaced or kept in the updated archive. The AddDirEntriesOnRecurse will cause separate directory entries to be included in archives when doing recursive zips through subdirectories. --Integrity Checking A new method, CheckArchive, will perform an integrity check on all files in an archive. This is much faster than using FileIsOK on each file if testing all files in an archive with VERY MANY files. Further improved checking for corrupted zip files when opening zip files. --Encryption The following new properties and methods allow lower level work with password encrypted archives: DecryptHeader Gets the decryption header for a particular compressed file in an archive GetDecryptHeaderPtr Same as DecryptHeader but easier to use in BCB. DecryptHeaderByte Method Tests a password against the decryption header found in the DecryptHeader property. GetDecryptHeaderByteByPtr Same as DecryptHeaderByte but easier to use in BCB. --Self Extracting Executables Changes were made to the ZIPSFX32.BIN stub itself: - Modified to work with zip files containing "extra fields" in their headers. - Modified to change mouse cursor to an hour glass during processing. - Check for correct file size is now done automatically - Now uses the end of central and central headers to find the first local header. - Added a progress meter - Better checking for corrupted zip files. - Added an information window that can optionally be shown when the sfx is initially started up. - Added an AutoRun option to make the sfx stub run automatially when double clicked with no other interaction from the user. For the new modified sfx stub, ZIPSFX32.BIN, instead of using kpSFXOpt, you should now use the TSfxConfig component to set the options for the sfx stub. The new sfx can be found in the sfx\ subdirectory as usual and is called ZIPSFX32.BIN and the original sfx can be found in the same subdirectory except it is now called ORGSFX32.bin. Just rename it if you prefer that one (use KPSFXOPT instead of TSfxConfig with the old stub). --Miscellaneous The installation is now easier, atleast for first time installers of the source code. The .DPK files for Delphi and .CPP files for BCB are now included. Now these files simply have to be compiled and that's it. There is a separate option in the installation for installing to the different versions of Delphi and BCB. Added a property called FlushFilesOnClose which will cause all files opened for write by VCLZip to have their disk buffers flushed to disk when closed. Added the capability to delete Selected files from an archive using the DeleteEntries Method. The behavior of the OnInCompleteZip Event has been greatly improved. You can now use this event to ask the user to insert the last disk of a spanned disk set rather than having to handle this situation from outside VCLZip. The register procedures were changed so that the components now get installed to the "VCLZip" tab on the palette. I found that for all but Delphi 1 I had to actually manually move the components to the "VCLZip" tab. You may find that you have to do this too if you have already installed VCLZip before. The components now use new bitmaps in place of the old ones on the component palette. Separated many compiler defines into a new file called KPDEFS.INC. ==================================== Version 2.18: 1) Thanks to the hard work of a fellow registered user, added the capability to remove all dependencies on the Dialogs, Forms, Controls, and FileCtrl units by defining the conditional MAKESMALL, which results in a smaller footprint. This can be quite useful when putting VCLZip into a DLL for instance. In order to make this work, go into your Project | Options and select the Directories/Conditionals tab and enter MAKESMALL in the conditional defines text box. In Delphi you can add this conditinal define to the project options of your application that uses VCLZip and then do a "build all". In BCB you will have to add this to the project options of the package that contains VCLZip and then rebuild the package. If you define MAKESMALL, the only things you lose are: a) ZIP file open dialog box that appears when the ZipName is set to "?" b) Select Directory dialog box that appears when the DestDir is set to "?" c) Changing the cursor to an hour glass during some operations. d) No long filename support in Delphi 1 2) Made VCLZip completely BCB4 compatible. 3) Added some exception handling to KPUNZIPP and KPINFLT, mainly to handle unexpected situations when wrong passwords are entered. This fixes the problem with PRP, the password recovery program. 4) For Borland C++ Builder, changed any COMP types to double, getting rid of the compiler warnings for unsupported comp type. This affects the OnStartZipInfo and OnStartUnZipInfo events, so you'll have to change the comp parameter to double in these events if you use them (in both your header files and in the CPP files). 5) Modified OnStartUnZip event so that FName (the filename of the file that is about to be unzipped along with complete path) is now a VAR parameter and can be modified. This allows you to change the path and name of a file that is about to be unzipped. This is especially helpfull in applications like Install Programs. NOTE: You will need to change your current code to add the VAR to the event definition and implementation if you already use this event in your application. (In BCB, add a & just before the parameter instead of VAR) 6) Moved many type definitions to VCLUNZIP.PAS so that kpZipObj won't have to be included in your USES list. 7) Fixed bug that caused GPF when setting Zip Comment to '' (empty string). 8) Moved strings in VCLZip/VCLUnZip into a string table, making the code size a little smaller as well as making it much easier to localize string information. However you have the option of not using the new string table, for whatever reason, by defining NO_RES in your project options (in the conditional defines text box on the Directories/Conditionals tab). 9) Removed the need for several files. No longer included are kpstrm.res, kpstrm.rc, kpsconst.res, kpsconst.rc, kpstres.pas, and for Delphi 1, kpdrvs.pas. In some cases the need for these files was eliminated and in other cases just rolled into the newly included kpzcnst.rc, kpzcnst.pas, and kpzcnst.res. Definining NO_RES in your project options will elimiate the need for these new files but will make your code size slightly larger and you won't be able to localize your application without changing VCLZip source code. 10) Modified the OnFilePercentDone and OnTotalPercentDone progress events to work better when creating spanned disk sets and blocked zip sets. They no longer report 100% when the compressed file still has to be copied to disk. 11) Added the ReplaceReadOnly property. Setting this to true will allow files with the ReadOnly attribute to be replaced during the unzip process. 12) Added the ifNewer and ifOlder options to the OverwriteMode property. (This had somehow made it into the help file but not into VCLUnZip) 13) Added the SFXToZip method which will convert an SFX file to a regular zip file. The header pointers will be properly adjusted during the conversion. 14) Fixed a problem where the OnGetNextDisk event would always revert to the DefaultGetNextDisk method instead of what you entered into the Object Inspector each time your project was re-opened. 15) Fixed a bug that caused CRC errors when unzipping files from spanned disk sets if they were STORED (no compression) and spanned across disks. 16) Added the OnZipComplete and OnUnZipComplete events. If defined, these will fire at the very end of a zip or unzip operation (after all files have been processed, not after each file). These events will rarely be used since, normally you will be able to do the same thing at the point that the call to Zip or UnZip returns, but these events can be useful when using VCLZip in threads where in certain circumstances the return from the Zip or UnZip methods are not seen. 17) Creation of SFX files has never been easier!!! The addition of the MakeNewSFX method allows you to create Self Extracting Executables without the need to create a zip file first. The files that you specify in the FilesList property will be zipped, using all the normal VCLZip property settings, and the SFX will be created, all in one step! In addition, you can create configurable SFX files using this method, and you can do this especially easy by adding the new unit kpSFXOpt to your application's USES list and using the new 32bit SFX stub that is now distributed with VCLZip. This allows you to easily set things like SFX Dialog caption, default target extraction directory, file to launch after extraction, etc. 18) Fixed a memory leak that only affects applications using VCLZip that are compiled with Delphi 2, and that use wildcard specifications in the FilesList property. Version 2.17a: 1) Fixed a bug that was keeping VCLZip from reading truncated zip files or sfx files that did not have their headers adjusted. 2) Fixed a bug that was causing a directory to be created on the C drive when doing integrity checking with the FileIsOK property. 3) Added {$V-} to kpZipObj.PAS 4) Moved two AssignTo methods to public instead of private in kpZipObj.PAS Version 2.17: 1) Added Memory zipping and unzipping capabilities through the UnZipToBuffer and ZipFromBuffer methods. See the documentation for these methods in the Help File for more information. 2) New FileIsOK Property allows you to check for the integrity of individual files within an archive without actually unzipping the file. 3) Fixed a bug that kept checking of volume labels from working on WIN31 when working with spanned disk sets. 4) Removed all references to ChDirectory so that VCLZip will be more thread safe allowing separate instances of VCLZip in separate threads to be performing zip/unzip operations at the same time. 5) A new public property PreserveStubs allows you to make modifications to sfx archives and have the archive remain an SFX rather than revert back to a normal zip file. 6) Added a default OnGetNextDisk event. If one is not defined, then the default event will be called when the situation arises that a new disk is needed when zipping or unzipping a spanned or blocked zip archive. 7) Added more power to the wildcard capabilities. Now you can qualify the * wildcard character, for instance: * would satisfy any number of contiguous characters as long as they are all a thru e. * would satisfy any number of contiguous characters as long as none of them were a thru e. This allows you to do things like include files in specific direcories into your ExcludeList. For instance: VCLZip1.ExcludeList.Add('c:\test\*.txt') would exclude the zipping of all .txt files in the test directory but not in any subdirectories. 8) Fixed other minor bugs and made other code enhancements. Version 2.16: ***Please be aware that if you currently use the OnSkippingFile event in any of your applications, version 2.16 will require a small modification as this event has an added parameter and one of the current parameters is used a little differently when being called by the zip operation. Please see the help file for more information. 1) The OnSkippingFile Event has been changed slightly, adding a parameter for the filename. 2) OnSkippingFile is now called when a file to be zipped is skipped because it is locked by another application. See the Help File for more information. 3) Fixed a bug with the Exclude and NoCompressList where they were ignoring entries with anything before the extention (i.e. 'somefile.*' as opposed to '*.zip') if you were saving directory information. 4) Fixed a bug that caused an error if you added a wildcard with a non-existent directory to the FilesList. 5) A few other minor bug fixes. Modifications for 2.15 include: 1) PackLevel can now be set to 0 (zero) which means no compression at all (STORED only). 2) New property ExcludeList is a new stringlist that you can add filenames and wildcards to in order to specify files that you do not wish to be included in an archive. 3) New property NoCompressList is a new stringlist that you can add filenames and wildcards to in order to specify files that you wish to be STORED with a PackLevel of 0 (zero), no compression. 4) All compiler warnings and hints were removed. Modifications for 2.14 include: 1) Delphi 4 compatability. 2) Added ability to use complex wildcards when specifying which files are to be zipped. This includes wildcard characters not only in the filename but also in the pathname. This allows you to specify directories using wildcards, for instance: VCLZip1.FilesList.add('c:\test\w*\mycode*.pas'); would get all PAS files beginning with mycode in subdirectories under TEST that begin with the letter w. Wilcards may be much more complex than this. Please see the help file for more information. 3) Added the ability to override the RECURSE property setting when specifying files to be zipped. By adding the following characters to the beginning of the filenames being added, you can override whatever the current setting is for the RECURSE property: '>' will force recursion into subdirectories '|' will force NO-recursion For instance: VCLZip1.FilesList.add('>c:\windows\*.ini'); will get all .ini files in and below the windows directory reguardless of what the recurse property setting is. and: VCLZip1.FilesList.add('|c:\windows\sys*\*.dll'); will get all .dll files in subdirectories of the windows directories that start with 'sys' but will not recurse into any directories below the sys* directories. 4) The [ and ] characters previously used as special wildcard characters have been changed to < and > since [ and ] are valid filename characters. If you still need to use the previous characters for backward compatability, I can show registered users how to easily modify a couple of constants in the source code in order to go back to the old style. See "Using Wildcards" in the help file for more information. 5) A few bug fixes. Modifications for 2.13 include: 1) New property ResetArchiveBitOnZip causes each file's archive bit to be turned off after being zipped. 2) New Property SkipIfArchiveBitNotSet causes files who's archive bit is not set to be skipped during zipping operations. 3) A few modifications were made to allow more compatibility with BCB 1. 4) Cleaned up the Help File some. 5) KWF file now works for Delphi 1 and Delphi 2 again. Still can't get context sensitive help in Delphi 3. 6) Cleaned up some of the code that was causing compiler warnings and hints. Modifications for 2.12 include: 1) Added a TempPath property to allow the temporary files path to be different from the Windows default. 2) Modified VCLZip so that any temporary files that are created receive a unique temporary filename so as not to clash with any other files in the temporary directory. This also allows working with zip files residing in the temporary directory. 3) Fixed a bug in the relative path feature. 4) Fixed a bug that caused a "list out of bounds" error if a file in the FilesList did not actually exist. Modifications for 2.11 include: 1) Fixed password encryption bug for 16 bit. 2) Fixed "invalid pointer operation" when closing application bug. 3) Fixed path device truncation bug which caused inability to modify existing archives in 16 bit. 4) Fixed inability to cancel during wilcard expansion bug. 5) Added capability to better handle corrupted timestamps. 6) Added capability to open and work with SFX files that were created with the COPY/B method (header files not adjusted). 7) Other small bug fixes. I'm still working on a bug which causes a GPF when continually unzipping the same file thousands to millions of times. This mainly affects programs like the Password Recovery Program (PRP) which uses the brute force method of searching for an archive's password. Modifications for 2.10 include: 1) Capability for 16bit VCLZip to store long file/path names when running on a 32bit OS. 2) New property (Store83Names) which allows you to force DOS 8.3 file and path names to be stored. 3) Better UNC path support. 4) Fixed a bug to allow files to be added to an empty archive. Modifications for 2.03 include: 1) Volume labels now get written correctly to spanned disk sets in Delphi 1 for all versions of Windows. 2) Delphi 1 VCLZip now correctly recognizes when it is running on Windows NT. 3) Fixed a problem with zipping files in the root directory when StorePaths = True. 4) File and Zip Comments are now read correctly from spanned/blocked zip archives. 5) Fixed a buf that was causing "Duplicate Object" errors. Modifications for 2.02 include: 1) Fix for file comments which were supposed to be fixed in version 2.01 but weren't. 2) Fix for stream zipping. Version 2.01 would not create a new archive if using a stream. (The Stream Demo now allows creating new zip files to streams too) 3) A few other minor modifications to further solidify the code. 4) A modification to the Zip Utility Demo which allows unzipping from Blocked zip files as if they were single zip files. 5) Added a read-only, published ThisVersion property which reflects the version of the VCLZip/VCLUnZip that you are currently working with. Modifications for 2.01 include: 1) Fixes for exceptions that were caused when CANCELING a zip or unzip of a spanned zip file. 2) Fix for a possible problem when zipping or unzipping a spanned zip file when one or more of the compressed files resided on more than 2 of the spanned parts. 3) Fix for file comments which were broken in version 2.00. Additional features for version 2.00 include: 1) Modify/Add internal file details (filename, pathname, timestamp, comment) for any file while zipping, in the OnStartZip event. 2) Add an Archive Comment while zipping in the OnStartZipInfo event. 3) Delphi 1 compatiblity for VCLZip. 4) Stream to Stream Zipping - Archives themselves can now be TStreams! 5) New Relative Path Information option. 6) Unzip archives that weren't zipped with the Relative Path option turned on as if they had been by determining how much path information to use with the Rootpath property. 7) Modify timestamps for files in existing archives (you could already modify filenames and pathnames for files in existing archives) 8) The OnBadPassword event now allows you to supply a new password and try the same file again when unzipping. 9) Source code has been cleaned up so that it will compile under Borland C++ Builder with no modifications. Also some bugs were fixed, most importantly: 1) An empty file, that had been compressed into an archive would cause any file added to the archive to cause the archive to approximately double in size. Any archives containing empty files are not corrupted, they are OK. This was simply a fix to the way the archive was processed. 2) After creating an SFX file, you had to close the zip file before you could modify it in any way, otherwise a stream read error was encountered. See the Help file for more information on new features. This zip file is part of a self contained installation program. Just run it and the installation program will begin. Contact vclzip@bigfoot.com for further information Thanks! Kevin Boylan
2025-11-21 19:21:14 522KB 源码 系统相关 VclZip
1
在Java程序设计的学习和实践过程中,会涉及到一系列的基础知识点和概念,这些内容对于理解和掌握Java语言至关重要。在给出的深圳大学-Java程序设计-相关资料1中,我们可以提炼出以下几点核心知识点: 1. Java语言的数据类型包括基本数据类型和引用数据类型。基本数据类型有八种,包括四种整型(byte, short, int, long)、两种浮点型(float, double)、一种字符型(char)和一种布尔型(boolean)。 2. 标识符的命名规则要求遵循字母、数字、下划线和美元符号的组合,且不能以数字开头。标识符区分大小写。 3. Java语言使用的是Unicode字符集,支持国际化编程。 4. 在进行数据类型转换时,从低精度到高精度类型转换无需显式转换,而从高精度到低精度类型转换时通常需要强制类型转换。 5. Java数组的声明和初始化有多种形式,但必须在使用之前完成声明和初始化。二维数组的声明需要注意其维度的初始化顺序。 6. Java语言中的控制结构包括顺序结构、选择结构(if-else, switch-case)和循环结构(for, while, do-while)。 7. Java的控制流语句如if-else和switch-case提供了条件分支和多分支选择的结构。 8. Java的循环控制语句如for、while和do-while可以控制代码的重复执行。 9. 运算符在Java语言中用于执行数据运算,包括算术运算符、比较运算符、逻辑运算符、位运算符等。 10. Java中的类是对象的模板,可以包含变量(成员变量)和方法(成员方法)。类可以被声明为public或非public,但一个文件中只能有一个public类。 11. 类的继承、封装和多态是面向对象程序设计的三大特性。通过类的继承可以实现代码的复用。 12. Java的关键字包括数据类型关键字、控制流程关键字、访问控制关键字等,例如int、class、public等。 13. Java中的构造函数用于在创建对象时初始化对象的状态。 这些知识点是Java程序设计中最为基础的内容,对于初学者而言,掌握它们是学习Java语言的基础,也是进一步学习Java高级特性的前提。
2025-11-21 15:17:10 63KB java
1
巨噬细胞是一类高度异质的细胞群体,在免疫系统中扮演着至关重要的角色。它们不仅能吞噬和消化病原体和异物,还能在体内进行抗原呈递,调节炎症反应,以及参与组织的修复与再生。本文通过在兔子模型上的实验研究,深入探讨了巨噬细胞及其分泌的相关炎症因子在家兔动脉粥样硬化斑块稳定性中所起的作用。 实验中,通过高脂饮食喂养家兔两周,并进行分组,其中模型组接受了腹主动脉内皮的球囊损伤,而假手术组仅暴露动脉但未进行损伤。术后10周采用药物触发的方式激活血管,观察并分析了斑块破裂情况和斑块中巨噬细胞的浸润情况。使用免疫组织化学染色方法来确定斑块中巨噬细胞百分比,并通过Elisa法检测了相关炎症因子CRP、MCP-1和TNF-α的水平。研究结果显示,与假手术组相比,模型组的斑块破裂数量增多,斑块面积较大,泡沫细胞和炎细胞数量多,脂核较大,纤维帽较薄,巨噬细胞浸润百分比和血清炎症相关因子水平均显著升高。这些发现表明,巨噬细胞介导的炎症反应在不稳定斑块模型的形成中发挥着重要作用。 CRP(C反应蛋白)、MCP-1(单核细胞趋化蛋白-1)和TNF-α(肿瘤坏死因子α)是参与炎症反应的主要因子。CRP是一种急性期蛋白,通常在身体遭受感染或组织损伤时水平升高;MCP-1是重要的趋化因子,能够吸引单核细胞迁移到炎症部位;TNF-α是一种多功能的细胞因子,在细胞凋亡、细胞增殖和炎症反应中具有重要作用。这三种因子在动脉粥样硬化的病理进程中起着关键作用,它们的水平升高通常与斑块的不稳定性相关。 球囊损伤内皮细胞导致的血管内皮功能受损,可能促进了动脉粥样硬化的进程。损伤诱导内皮细胞产生炎症因子,这些因子可诱导单核细胞向受损内皮迁移,并分化为巨噬细胞。巨噬细胞吞噬氧化型低密度脂蛋白(ox-LDL)形成泡沫细胞,并产生大量的炎症因子,促进了粥样斑块的形成和发展。此外,巨噬细胞还可能通过分泌基质金属蛋白酶(MMPs)等蛋白酶,削弱斑块的纤维帽,增加斑块破裂的风险。 基于此研究,我们认为,巨噬细胞及它们分泌的炎症因子CRP、MCP-1和TNF-α在促进易损斑块形成和斑块破裂中起着核心作用。因此,通过调节巨噬细胞的功能,降低炎症因子的水平,可能为预防和治疗动脉粥样硬化和斑块破裂提供新的靶点。对于未来的研究方向,可以着重探讨具体分子机制和开发针对这些靶点的干预措施,以期对动脉粥样硬化性心血管疾病提供更有效的预防和治疗策略。
2025-11-20 22:33:03 356KB 首发论文
1