社区
VB基础类
帖子详情
How to launch application as file is double clicked?
badai
2000-05-09 03:23:00
thanks for your attention!
...全文
124
1
打赏
收藏
How to launch application as file is double clicked?
thanks for your attention!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Un1
2000-05-09
打赏
举报
回复
Import this file to your reg:
'file myshelllink.reg (demo)
REGEDIT4
[HKEY_CLASSES_ROOT\.hsp]
@="HWStb.Project"
[HKEY_CLASSES_ROOT\HWStb.Project]
@="华微钢筋工程文件"
[HKEY_CLASSES_ROOT\HWStb.Project\shell\open\command]
@="\"C:\\华微工程概预算\\钢筋\\HWStb.exe\" \"%1\""
[HKEY_CLASSES_ROOT\HWStb.Project\DefaultIcon]
@="C:\\华微工程概预算\\钢筋\\HWStb.exe,1"
UE(官方下载)
Keyboard shortcuts A quick reference guide to UltraEdit's default keyboard shortcuts Keymapping and custom hotkeys How to customize 键映射s and menu hotkeys Column Markers The benefit of a column maker is that it can help you to format your text/code, or in some cases to make it easier to read in complex nested logic. Quick Open UltraEdit and UEStudio provide multiple methods to quickly open
file
s without using the standard Open
File
dialog. A favorite method among power users is the Quick Open in the
File
menu. The benefit of the quick open dialog is that it loads up very... Vertical & Horizontal Split Window This is a convenient feature when you're manually comparing
file
s, when you want to copy/paste between multiple
file
s, or when you simply want to divide up your edit space. Tabbed Child Windows Declutter your edit space by using the tabbed child windows feature Auto-Hide Child Windows When you're deep in your code, the most important thing is editing space. The all new auto-hide child windows give you The all new auto-hide child windows allow you to maximize your editing space by hiding the child windows against the edge of the editor. Customizing toolbars Did you know that you can not only change what is on UltraEdit's toolbars, you can also change the icon used, as well as create your own custom toolbars and tools?
File
tabs Understand how
file
tabs can be displayed, controlled and configured through the window docking system in UltraEdit/UEStudio. Create user/project tools Execute DOS or Windows commands in UltraEdit or UEStudio Temporary
File
s UltraEdit and UEStudio use temporary
file
s... but what are temporary
file
s? This power tip provides an explanation as well as some tips to get the most out of temp
file
s. Backup and Restore Settings One of the staples of UltraEdit (and UEStudio) is its highly configurable interface and features. However, what happens when you're moving to a new system and you want to port your settings and customizations over along with UltraEdit? Add a webpage to your toolbar Use UltraEdit's powerful user tools to
launch
your favorite website from the
cli
ck of a button on your toolbar Integrate Yahoo!, Google, Wikipedia and more with UltraEdit This tutorial will show you how to access the information you need in your browser by simply highlighting your text in the edit window and
cli
cking your toolbar button How to install UE3 UE3 is the portable version of UltraEdit developed specifically for the U3 smart drive. You will need a U3-compatible USB drive for this power tip Scripting tutorial An introduction to UltraEdit's integrated scripting feature The List Lines Containing String option in Find The lists lines option can be a handy tool when searching because it presents all occurrences of the find string in a floating dialog box. You can use the dialog to navigate to each instance by
double
-
cli
cking on one of the result lines... Scripting Access to the
Cli
pboard How to access the
Cli
pboard using the integrated scripting engine Scripting access to output window How to access the output window using the integrated scripting engine Writing a macro Steps to record and edit powerful macros to quickly and efficiently edit
file
s Using "copied" and "selected" variables for dynamic macros Use copied and selected text in macros to dramatically increase the power and flexibility of UltraEdit macros Run a macro or script from the command line We are often asked if it is possible to run an UltraEdit macro or script on a
file
from the command line. The answer is yes - and it's not only possible, it's extremely simple! Using find/replace UltraEdit and UEStudio give you the ability to perform a find or replace through one or more
file
s. Learn how to use UltraEdit/UEStudio's powerful find and replace. Multiline find and replace Search and replace text spanning several lines Incremental search Incremental search is an inline, progressive search that allows you to find matched text as you type, much like Firefox's search feature Regular expressions Regular Expressions are essentially patterns (rather than specific strings) that are used with Find/Replace operations. This guide can dramatically improve your speed and efficiency for Find/Replace Tagged expressions "Tagging" the find data allows UltraEdit/UEStudio to re-use the data similar to variable during a replace. For example, If ^(h*o^) ^(f*s^) matches "hello folks", ^2 ^1 would replace it with "folks hello". Perl compatible regular expressions An introduction to using Perl-style regular expressions for search/replace Perl regex tutorial: non-greedy regular expressions Have you ever built a complex Perl-style regular expression, only to find that it matches much more data than you anticipated? If you've ever found yourself pulling your hair out trying to build the perfect regular expression to match the least amoun... Remove blank lines A question we often see is "I have a lot of blank lines in my
file
and I don't want to go through and manually delete them. Is there an easier way to do this?" The answer is: yes! Configure FTP Set up and configure multiple FTP accounts TaskMatch Environments How to use TaskMatch Environments in UltraEdit and UEStudio Configure FTP backup Save a local copy of your
file
s when you transfer them to FTP directories Encrypt and Decrypt Text
File
s Use UltraEdit to encrypt and decrypt your text
file
s Link to remote directories Sync local directories with remote (FTP/SFTP) directories Compare Modified
File
Against Source
File
How to compare the modified
file
against the source
file
on disk. Column Based Find and Replace Need to restrict your search/replace to a specific column range? The column based search does just that... Compare Highlighted Text If you need to quickly compare of portions of text, rather than an entire
file
, then you need UltraEdit/UEStudio's selected text compare! The selected text compare allows you to select portions of text between 2
file
s and execute a compare on ONLY the se Using the SSH/telnet console A tutorial for UltraEdit/UEStudio's SSH/telent feature Adding a word
file
Adding a word
file
in UltraEdit v15.00 and greater Adding a word
file
(in v14.20 and earlier) Add a language definition to your word
file
for use with UltraEdit and UEStudio's powerful syntax highlighting Syntax highlighting and code folding Explanation of highlighting and folding definitions in the UltraEdit/UEStudio word
file
Create Your Own TaskMatch Environment How to create your own TaskMatch Environments Filtering the Explorer View How to filter the Explorer view in UltraEdit and UEStudio Group
File
s and Folders with Projects How to group your
file
s and folders using Projects Adding or removing
file
extensions for syntax highlighting How to configure syntax highlighting to highlight different
file
types automatically Project Settings Advanced Project Features - Using the UltraEdit/UEStudio project settings dialog Scripting Techniques Scripting techniques for UltraEdit/UEStudio. Perl-style regular expressions for function strings Using Perl-Style regexes to identify functions in your syntax-highlighted
file
s and populate the function list Autocorrect keywords in UltraEdit/UEStudio How to enable and disable autocorrect keywords with syntax highlighting Insert Menu Commands UltraEdit includes several special insert functions under the Insert menu. You can use these functions to insert a
file
into the active
file
, insert a string into the
file
at every specified increment, sample colors from anywhere on your screen, and more. Using Bookmarks UltraEdit and UEStudio provide a way for you to mark, access, and preview your favorite lines via bookmarks. We'll look at how to create, edit, and configure bookmarks in the bookmark viewer. Creating Search Favorites UltraEdit includes a Search and Replace Favorites feature that allows you to manage frequently used Find and Replace strings. Create, name, and edit your Search and Replace Favorites... Customizing The HTML Toolbar Commands The purpose of this power tip is to teach you how to customize the existing HTML tags and create your own HTML tags. Combine All Open
File
s into a Single Destination
File
Have you ever needed to combine multiple
file
s into a single destination (output)
file
? You can use a combination of a script and tool to create a single
file
from multiple
file
s. Sum Column/Selection in Column Mode This power tip demonstrates how to calculate the sum from a column of numeric data. Column mode How to use the features of UltraEdit's powerful column mode Advanced and column-based sort How to sort
file
data using the advanced sort options and the column sort options Working with CSV
file
s Use UltraEdit's built-in handling for character-separated value
file
s Word wrap and tab settings for different
file
types UltraEdit and UEStudio allow you to customize the word wrap and tab settings for any type of
file
. This power tip walks you through the steps to configure these customizations Versioned backup Set UltraEdit/UEStudio to automatically save versioned backups of your
file
s Configure spell che
cke
r How to set the highly-configurable options for UltraEdit's integrated spell che
cke
r Special functions UltraEdit includes several special functions under the
File
menu. You can use these functions to insert a
file
into the current
file
, delete the active
file
, send the
file
through email, or insert a string into the
file
at every specified increment HTML preview Edit and preview your rendered HTML code in the edit window Custom templates Create templates for frequently used text. You can also assign hotkeys to your templates. Compare
file
s/folders Integrated differences tool - comparing
file
s and folders with UltraCompare Professional
File
change polling Monitor log
file
s and more using UltraEdit's
file
change polling feature Vertically split the edit window Splitting the edit window in UltraEdit/UEStudio Large
file
text editor UltraEdit can be used to edit large text
file
s. Learn how to configure UltraEdit to optimize editing large text
file
s Multiple configuration environments of Ultraedit/UEstudio How to set up your separate environments for UltraEdit/UEStudio Java compiler Create a custom user tool to compile Java code, using the command line, from within UltraEdit Configure UltraEdit with javascript lint How to check your JavaScript source code for common mistakes without actually running the script or opening the web page Character properties at your fingertips Access the properties of a character with the
cli
ck of a button Ctags Set up and configure Ctags for use in UltraEdit Visual SourceSafe integration Create a customized user tool to check out
file
s from Visual SourceSafe Running WebFOCUS from UltraEdit Configure UltraEdit for use with WebFOCUS CSE HTML Validator CSE HTML Validator for Windows is the most powerful, easy to use, user configurable, and all-in-one HTML, XHTML, CSS, link, spelling, and accessibility che
cke
r available. This quick tutorial shows you how to use it and set it up in UltraEdit/UEStudio Working with Unicode in UltraEdit/UEStudio In this tutorial, we'll cover some of the basics of Unicode-encoded text and Unicode
file
s, and how to view and manipulate it in UltraEdit. Search and delete lines found UEStudio and UltraEdit provide a way for you to search and delete found lines from your
file
s. This short tutorial provides the steps for searching for and deleting lines by writing a simple script. Parsing XML
file
s and editing XML
file
s Parsing XML can be a time-consuming task, especially when large amounts of data are involved. As of v15.10, UltraEdit provides you with a the XML Window for the purpose of parsing your XML
file
s. The XML window allows you to navigate through the XML... Using Bookmarks UltraEdit and UEStudio provide a way for you to mark, access, and preview your favorite lines via bookmarks. We'll look at how to create, edit, and configure bookmarks in the bookmark viewer. Using the CSS style builder UltraEdit and UEStudio both include a CSS style builder for you to easily configure and insert CSS styles into the active document. This power tip will show you how to use the style builder. SSH/Telnet Session Logging Log the input and output to/from the server in your SSH/Telnet sessions Edit, develop, debug, and run SAS programs This user-submitted power tip describes how to use UltraEdit as a SAS editor, as well as how to run and debug SAS programs from the editor itself Tabs to Spaces - Ignore tabs and spaces in string and comments Ever had to convert the tab characters to spaces, but wanted to leave the tabs in strings and comments untouched? In previous versions, the convert tabs to spaces feature didn't distinguish between tabs as whitespace/formatting vs. tabs in... Setting
File
Associations in UltraEdit/UEStudio A
file
association is used by Windows Explorer to determine which
application
will open the
file
when it is
double
-
cli
cke
d (or opened) in Explorer. In the interest of speed, many UltraEdit/UEStudio users want to associate specific
file
types with... Windows Explorer Integration We know that many UltraEdit/UEStudio users don't operate solely from within the editor; rather, they are frequently working in Windows Explorer before going to the editor. As such, they want (and need) a quick and easy way to open
file
s from within... Line Change Indicator Ever wanted to see what changes you've made since your last save, or have you ever wanted to know what lines you've changed during an edit session? As of UltraEdit v16.00, you can do just that with the line change indicator... Comment and Uncomment Selected Text How many times per day do you comment out a block of code? Do you ever get tired of manually typing your open and close comments? As of v16.00, simply highlight your code,
cli
ck a button, and move on. It's that easy... Hide, Show, and Delete Found Lines in UltraEdit/UEStudio Over time, many of our users have asked for the ability to hide/show lines based on a Find string... you got it! As of v16.00, you can now hide/show and even delete text based on your search criteria. The following power tip will guide you through... Read Only Status Indicator Have you ever opened a
file
, tried incessantly to modify it, then realized it was read only? As of v16.00, UltraEdit includes an enhanced read only status indicator. For read only
file
s, the
file
tab will display a lock icon. Additionally, you can... Regular Expression Builder Regular Expressions are essentially patterns, rather than literal strings, that are used to compare/match text in Find/Replace operations. As an example, the * character in a Perl regular expression matches the preceding character or expression zero or.. XML Manager: In-line editing of XML
file
s The XML Manager allows you to navigate through complex XML data. But, what happens when you want to make a quick edit to your XML tags/data.... UltraEdit v16.00 extends the XML Manager with inline editing, giving you a faster and more elegant method... UltraEdit v16.00 Scripting Enhancements One of UltraEdit's trademark features is the ability to automate tasks through scripting. V16.00 extends the power of scripting further with includes, active document index, and more! Parse Source Code with the Function List The function list displays all the functions in the active
file
/project.
Double
cli
cking on a function name in the list repositions the
file
to the desired function. Also, as you navigate through a
file
, the function selected in the list changes to indica Brace Matching Brace matching is an often-used feature; it is indispensable for navigating through your code. Brace matching simply allows you to position your cursor next to an open (or close) brace and highlight the corresponding brace. Code Folding Code folding is indispensable for managing complex/nested code structures. Code folding allows you to collapse (hide) a section of code. The collapsible sections are based on the structure of the
file
/language Shared FTP accounts Do you use multiple IDM products - UltraEdit, UEStudio, or UltraCompare? Ever get sick of managing your FTP account information in each
application
? Now you can stop worrying about porting your FTP account settings! Simply configure it once and share you Auto-load macro with project Many UltraEdit/UEStudio users rely heavily on projects - and why not, projects are extremely helpful in managing related
file
s and folder. Projects not only allow you to group/manage your
file
s and folders, but projects also contain other items that... UEStudio 使用技巧 Using the classviewer A tour of UEStudio's classviewer which provides a parsed graphical representation of your project CVS/SVN Auto-Detect UEStudio can automatically detect and import your CVS/SVN account settings when you import a folder already under version control. IntelliTips UEStudio offers language intelligence in an exciting feature we call IntelliTips (like Intellisense). Imagine a function parameter list tooltip coupled with an intelligent auto complete tooltip for code elements of the current
file
Quickstart guide: Using UEStudio to develop Java
application
s A guide for using UEStudio to edit and develop Java
application
s Create a local PHP MySQL development environment How to set up a development environment for PHP/MySQL on your local machine. A development environment allows you to test your code as you develop your web
application
before publishing it to the web. Quickstart Guide: Using UEStudio with Borland C/C++ Compiler C/C++ developers can use UEStudio to set up and configure projects with the Borland C/C++ compiler Creating your first
application
Create, build, and run an
application
from within UEStudio Configuring VCS with UEStudio A guide for configuring version control support (VCS) in UEStudio 11 and later Configuring VCS with UEStudio (in v10.30 and earlier) A guide for configuring version control support (VCS) in UEStudio CVS Diff How to use the built-in CVS Diff commands with UEStudio and UltraCompare Add a
file
to version control system A trademark feature of UEStudio is it's powerful Version Control System. As you continue in your development, it is likely you will need to add
file
s to the version control repository Compare
file
s/folders A guide for comparing
file
s or folders from UEStudio using the integrated diff tool Quickstart guide: Using the integrated debugger A guide for setting up integrated WinDbg debugging in UEStudio Quickstart guide: Using the integrated PHP debugger A guide for setting up the integrated PHP debugger in UEStudio Using the SSH/telnet console A guide for setting up SSH/telnet in UEStudio Keymapping and custom hotkeys A guide for customizing 键映射, menus and menu hotkeys in UEStudio Configuring SVN and CVS Accounts A cornerstone feature of UEStudio is the version control support. UEStudio supports CVS and SVN as well as multiple connection protocols. Before you can use version control, you must create an account. UEStudio has an auto-detect CVS/SVN feature, but... Group
File
s and Folders with Projects How to group your
file
s and folders using Projects UltraEdit for Linux 使用技巧 FTP through Nautilus Did you know that you can access remote FTP
file
s in UltraEdit for Linux with a variety of server connection protocols? Using Nautilus, the default
file
manager for the popular GNOME desktop, you can access
file
s via FTP, SFTP, Windows shares, or even... Primary Select Using Linux's primary select feature in UltraEdit for Linux Custom terminal Set up a user tool to interact with the command line and specify a custom terminal for output Custom
file
browser UltraEdit for Linux allows you to right-
cli
ck any
file
or folder in your Project (from the
File
View) and browse it on the
file
system. But did you know that you can configure which
file
browser is
launch
ed from UltraEdit? Scripting tutorial An introduction to the integrated scripting feature in UltraEdit for Linux Writing a macro Steps to record and edit powerful macros to quickly and efficiently edit
file
s Vertical and horizontal split window editing This is a convenient feature when you're manually comparing
file
s, when you want to copy/paste between multiple
file
s, or when you simply want to divide up your edit space. Find and Replace A guide to the powerful features and options available under the "Search" menu. Find in Selected Text Find and Replace is a cornerstone feature for UltraEdit, so it is of course integral to UltraEdit for Linux. The Linux version offers the same features as in the Windows version, as well as additional features. One specific feature that was improved... Using bookmarks Provides a way for you to mark and quickly access lines of interest in your
file
s via bookmarks. To add a bookmark, make sure the cursor is positioned on the line you'd like to bookmark. Press CTRL + F2.... Adding a word
file
Add a language definition to your word
file
for use with UltraEdit's powerful syntax highlighting Projects In UltraEdit for Linux, projects are a convenient, time-saving, feature that allow you to group and manage associated
file
s. Additionally, Projects are integrated throughout the framework of UltraEdit making it easier to perform other actions on your... Search Favorites UltraEdit for Linux includes a Search and Replace Favorites feature that allows you to manage frequently used Find and Replace strings. Create, name, and edit your Search and Replace Favorites... Column mode How to use column and block selection mode in UltraEdit for Linux Templates How to create text editing templates in UltraEdit for Linux Keyboard shortcuts A quick reference guide to UltraEdit's (Linux) default keyboard shortcuts How to use the UltraEdit for Linux tar package This guide shows you how to download and use the tar.gz package of UltraEdit UltraEdit for Linux v1.20: Scripting enhancements One of UEx's trademark features is the ability to automate tasks through scripting; v1.2 extends the power of scripting further with includes. UltraEdit for Linux Command Line Support UltraEdit for Linux has many convenient command line options and flags for calling UEx from a console/terminal as part of a script, or simply for convenience. Advanced
file
sorting Sort
file
s in UEx with a powerful array of options and settings, including optional sort keys UltraCompare 使用技巧 Compare text snippets A tutorial showing you how to compare text snippets without having to save your snippets into a
file
. Diff your snippets, merge your changes, save the result as a separate
file
, then clear out the snippets (and their temp
file
s...) Increase your virtual memory Large
file
comparisons may require your system to use virtual memory. This tutorial shows you how to configure Windows to increase the amount of virtual memory on your system. Compare large
file
s UltraCompare is a very robust
file
comparison tool which includes support for comparing large
file
s even several GB large. This power tip shows you how to optimize UltraCompare for maximum performance when working with large
file
s. Compare .zip, .rar., and .jar Archives Got Archives? UltraCompare's archive compare feature allows you to compare the contents of .zip
file
s, .rar
file
s, Java .jar
file
s, and even password-protected .zip
file
s. Use the archive compare and examine differences between archives or folders on th Version Control Comparison UltraCompare v6.40 includes major improvements to the command line support that allow greater flexibility when integrating with other
application
s. If you're using version control in a team development environment, then UltraCompare v6.40 is exactly... Visually inspect HTML code How to use UltraCompare Professional's integrated browser view to visually compare and inspect HTML code Compare directories using FTP/SFTP Configure FTP/SFTP accounts in UltraCompare Professional to backup or sync FTP directories and compare local and remote folders. Block and line mode merge Merge differences and save them between 2 or 3
file
s at the
cli
ck of a button Sync
file
s and folders with the Folder Synchronization feature Folder Synchronization is a powerful feature in UltraCompare which allows you to sync
file
s between local, remote, network, and even FTP folders. Recursive compare Use recursive compare to evaluate subdirectories' content for differences Find and eliminate duplicate
file
s Unnecessary and unwanted duplicate
file
s can eat up valuable system disk space. This power tip will show you how to quickly and safely eliminate unwanted duplicate
file
s from your system with the powerful Find Duplicates feature in UltraCompare Compare Word documents Compare multiple Microsoft Word documents - Identify and merge differences between Word documents. Command line tips Tips for running UltraCompare from a DOS command prompt Command line quick difference check Run a quick difference check between two
file
s to quickly see if they're the same or different Ignore options Setting ignore options for
file
/folder comparisons in UltraCompare Ignore/compare column range Set parameters to ignore or compare up to 4 unique columns of data. Filtering
file
s in folder mode Filtering
file
s in UltraCompare while in folder mode Customizing the time/date format for folder comparison Many UltraCompare users in different regions of the world have different standard formats for dates and timestamps. UltraCompare provides the ability to customize the date and timestamp for your folder comparisons Editing
file
s in UltraCompare How to use the integrated text editing capabilites within UltraCompare UltraCompare shell integration Tips for integrating UltraCompare into the right-
cli
ck context menu in Windows Explorer Export/save text compare output How to export and save diff output from UltraCompare Web Compare If you work with web
file
s, you are probably accustomed to downloading the
file
via FTP or viewing the source, saving the text, then doing a compare. We're sure you'll agree, this process is clunky and mechanical.... Manually Sync Your Compare Manually sync your compare lines UltraCompare Sessions If you're anything like us, you always have multiple
application
s running at once. Spawning multiple instances of any
application
makes it harder to work. So... UC gives you sessions to manage your compare operations! Customizing colors Tutorial on how to change the colors for folder/
file
compare in UltraCompare Reload previously active sessions When you're doing complex
file
and folder compare operations, it doesn't take long to open quite a few tabs. What happens when you close UC to move on to another task or to go home for the day- lose the session? Not with Reload active sessions... Session Manager If you've compared the same set of
file
s/folders more than once... You need sessions. Sessions allow you to save compare options for a common set of
file
s or folders which you can quickly recall anytime you open UltraCompare. Not only can you save... Workspace Manager The Workspace Manager is all about convenience, so the Explorer view allows you to drag/drop
file
s and folders for quick and easy compare operations. Simply select the folder (or
file
) in the Explorer view and drag it to the compare frame. Bookmark Favorite
File
s/Folders in UltraCompare How to use Favorite in UltraCompare to bookmark your commonly used
file
s/folders. FTP in Workspace Manager You can access your accounts through the Explorer tab of the Workspace Manager in UltraCompare Share FTP Accounts with UltraEdit/UEStudio Set up UltraEdit/UEStudio to share FTP accounts with UltraCompare FTP Folder Compare with CRC Have you wanted to do a quick folder compare - between a local directory and remote directory - without downloading the
file
s first? No problem... As of v7.20, UltraCompare now supports an FTP CRC compare method. With the CRC compare feature... Mark and hide
file
s and folders in folder compare Have you ever wanted to hide
file
s/folders that aren't relevant for your immediate compare needs? We have... While UltraCompare offers many compare filters and ignore options, sometimes you just need more control... UltraSentry 使用技巧 Web browser cleanup Use UltraSentry to securely clean up history and temporary
file
s associated with web browsers
Application
Cleaning Support Clean the sensitive data left behind after running your
application
s Delete browser cookies Protect your privacy and your security by securely deleting malicious or private cookies Download directory cleanup Securely delete your download history with UltraSentry Optimize your browser Using UltraSentry to improve speed, performance, and security of your browser Explorer/Microsoft office Integration Tips for integrating UltraSentry into the right-
cli
ck context menu in Windows Explorer or MS Office Stealth mode Tutorial for running UltraSentry in the background or system tray Scheduling a task Tutorial for scheduling UltraSentry to automatically execute a specific cleaning task Run UltraSentry as a system service How to Schedule your pro
file
s/cleaning operations and be sure that UltraSentry is running them whether you are logged in or not Using the Wizard UltraSentry's wizard makes secure/privacy cleaning operations quick and easy. This power tip shows you how to use the wizard. Total System Scrub Information on how to use UltraSentry's "Full System Scrub" pro
file
to protect your privacy and secure your sensitive data Custom pro
file
s This power tip describes how to set up your own custom pro
file
so that you can securely clean only areas of the system that you wish to clean Securely delete email How to securely delete email on your system using UltraSentry Advanced features This power tip describes some of the advanced features and functionality of UltraSentry
VclZip pro v3.10.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,
cli
ck 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
file
s. ==================== 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
application
s 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
file
s into an archive. This is compatible with PKZip's Zip64 format. - If a
file
does not extend beyond any of the original limitations (
file
sizes of 4 gig or 65535
file
s) 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
file
s for compression and decompression routines. Blo
cke
d Zip
File
s (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
file
naming format by using the BlockMode property. - New method On
File
NameForSplitPart called just before each split
file
part is created. VCLZip supplies a default implementation of this method so for most purposes you won't need your own. - method Default
File
NameForSplitPart - VCLZip calls this internally if you don't define your own On
File
NameForSplitPart. You can also call it from your own On
File
NameForSplitPart 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
file
s are zipped... - IncludeHidden
File
s - default False; - IncludeSys
File
s: - default False; - IncludeReadOnly
File
s: - default True; - IncludeArchive
File
s: - 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
application
s that use VCLZip 2.X ********** For the most part, existing
application
s 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 On
File
NameForSplitPart. 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
file
s/stream sizes larger than 2gig. There is a TkpHuge
File
Stream 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.
File
names 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 OnRecursing
File
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
file
s 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
file
names that have been run through an OEM Conversion. The SFX was losing accented characters. This modification means that if you are creating zip
file
s 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
File
sList did not work. Using '*.*' as a wildcard in
file
s added to
File
sList now is the same as using '*'. VCLZip will now check for CancelTheOperation during initial building of the
file
slist 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 blo
cke
d zip
file
s. 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
file
s were recursively zipped until exiting your
application
. ============ Version 2.22 Now Delphi 6 compatible. New event called {link=93,OnRecursing
File
} which gets called as VCLZip recurses directories searching for
file
s that match a wildcard that is entered in the
File
sList. This gets called each time a
file
matches the wildcard. Fixed a bug which kept diskettes from being labeled when creating spanned zip
file
s on WIN31. Fixed a bug which sometimes did not allow zip comments to be added to blo
cke
d 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
file
s, 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
file
s 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
file
s across diskettes, to do things like format a diskette that has just been inserted, or to add or delete
file
s 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
File
sList. Fixed bug so you could have
File
PercentDone without needing TotalPercentDone when creating spanned zip
file
s Fixed so relative_offset set correctly for spanned zips. Side effect of removing needless write of header. Added code to read local
file
headers if exception thrown when reading a central
file
header. 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
File
OpenMode 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
file
s 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
file
s created with VCLZip. Useful if you want to add further security to your zip
file
s. Pre-Release Build 1: Some zip
file
s would not open correctly, throwing an incomplete zip
file
exception due to an erroneous "extra field length" identifier in headers of some compressed
file
s. These zip
file
s are rare, but a very few people seemed to have several of them. This problem would not affect zip
file
s 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 'some
file
.*'. 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 OnSkipping
File
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
file
s. 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
File
s A new feature, turned on with the SaveZipInfoOnFirstDisk allows VCLZip to create and read spanned zip
file
s 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
file
s, such as setup programs, data
file
s, or a Zip Configuration
File
. Spanned zip
file
s 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
file
s to be unzipped.
File
s 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 che
cke
d to see how many
file
s have been selected. Also, the UnZipToBufferByIndex and UnZipToStreamByIndex methods allow you to unzip
file
s specified by their index instead of by name or wildcard. The BufferLength property allows buffered output (buffer smaller than the total uncompressed
file
size) 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
file
s 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
File
OpenMode which allows you to define the
file
open mode for
file
s when they are opened to be zipped. Added a Retry parameter to the OnSkipping
File
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
file
s in an archive. This is much faster than using
File
IsOK on each
file
if testing all
file
s in an archive with VERY MANY
file
s. Further improved checking for corrupted zip
file
s when opening zip
file
s. --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
file
s 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
file
s. - 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
cli
cke
d 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
file
s for Delphi and .CPP
file
s for BCB are now included. Now these
file
s 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 Flush
File
sOnClose which will cause all
file
s opened for write by VCLZip to have their disk buffers flushed to disk when closed. Added the capability to delete Selected
file
s 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
File
Ctrl 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
file
name 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
file
s and in the CPP
file
s). 5) Modified OnStartUnZip event so that FName (the
file
name 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
application
s 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
file
s. 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
file
s 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
file
s 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 On
File
PercentDone and OnTotalPercentDone progress events to work better when creating spanned disk sets and blo
cke
d 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
file
s 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
file
s 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
file
s 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
file
s 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
file
s that you specify in the
File
sList 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
file
s 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
application
s using VCLZip that are compiled with Delphi 2, and that use wildcard specifications in the
File
sList property. Version 2.17a: 1) Fixed a bug that was keeping VCLZip from reading truncated zip
file
s or sfx
file
s 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
File
IsOK 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
File
IsOK Property allows you to check for the integrity of individual
file
s 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 blo
cke
d 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
file
s in specific direcories into your ExcludeList. For instance: VCLZip1.ExcludeList.Add('c:\test\*.txt') would exclude the zipping of all .txt
file
s 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 OnSkipping
File
event in any of your
application
s, 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 OnSkipping
File
Event has been changed slightly, adding a parameter for the
file
name. 2) OnSkipping
File
is now called when a
file
to be zipped is skipped because it is lo
cke
d 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. 'some
file
.*' 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
File
sList. 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
file
names and wildcards to in order to specify
file
s that you do not wish to be included in an archive. 3) New property NoCompressList is a new stringlist that you can add
file
names and wildcards to in order to specify
file
s 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
file
s are to be zipped. This includes wildcard characters not only in the
file
name but also in the pathname. This allows you to specify directories using wildcards, for instance: VCLZip1.
File
sList.add('c:\test\w*\mycode*.pas'); would get all PAS
file
s 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
file
s to be zipped. By adding the following characters to the beginning of the
file
names 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.
File
sList.add('>c:\windows\*.ini'); will get all .ini
file
s in and below the windows directory reguardless of what the recurse property setting is. and: VCLZip1.
File
sList.add('|c:\windows\sys*\*.dll'); will get all .dll
file
s 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 since [ and ] are valid
file
name 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
file
s 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
file
s path to be different from the Windows default. 2) Modified VCLZip so that any temporary
file
s that are created receive a unique temporary
file
name so as not to clash with any other
file
s in the temporary directory. This also allows working with zip
file
s 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
File
sList 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
file
s that were created with the COPY/B method (header
file
s 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
file
s 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
file
s in the root directory when StorePaths = True. 4)
File
and Zip Comments are now read correctly from spanned/blo
cke
d 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
file
s 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 Blo
cke
d zip
file
s as if they were single zip
file
s. 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
file
s 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 (
file
name, 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
file
s in existing archives (you could already modify
file
names and pathnames for
file
s 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
file
s 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
What is svchost.exe And Why Is It Running? :: the How-To Geek
导读: You are no doubt reading this article because you are wondering why on earth there are nearly a dozen processes running with the name svchost.exe. You cant kill them, and you dont remember sta
How to Use Tables JTable使用
How to Use TablesThis section has been updated to reflect features and conventions of the latest release, JDK 6.0, but it is not yet final. Weve published this preliminary version so you can get th
How to Use Instruments in Xcode
转载自:http://www.raywenderlich.com/23037/how-to-use-instruments-in-xcode At this point in your iOS development career, you’ve probably written an app or two, and you are no doubt wondering what
VB基础类
7,763
社区成员
197,605
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章