Overview
A proprietary file compression tool is included within the StrataFrame class
library. The tool consists of a simple GUI and a collection of classes that
allow the developer to create and maintain compressed package files programmatically
without the need for an external compression tool and its associated assemblies
and licensing. The compression classes support encryption and password protection
and utilize the GNU zip (gzip) algorithm.
Attractive UI
All compression and decompression processes can display an attrative progress indicator that
has animation support to the end-user. All of these process can run silent or be handled by the
developer as well if a custom interface is desired. When running in "loud" mode, the compression
progress windows will automatically be presented to the end-user when adding or extracting files
without adding a single line of code. The UI is threaded so the display to the end-user will not freeze
while doing the actual compression.
Full Programmatic Access
Every aspect of the compression tools can be programmatically managed and controlled. Easily
add and extract files, encrypt, password protect, and retrieve information about the package. One
major benefit to the StrataFrame compression tools is that the package file is a proprietary structure
that cannot be controlled by a third party tool. This improves security and reduces tampering with the
package files.
VB.NET Example:
loPackage = New PackageFile("c:\temp\sample.pkg", False, True)
loPackage.AddFile("c:\temp\pstudiorxdata.sdf")
loPackage.Close()
C# Example:
loPackage = new PackageFile("c:\\temp\\sample.pkg", false, true);
loPackage.AddFile("c:\\temp\\pstudiorxdata.sdf");
loPackage.Close();
End-User Front End Provided
A complete GUI fron end is provided and can be freely distributed to end-users. This GUI is an application
that is similar to WinRar and WinZip from the perspective of the end-user. This is a great benefit to developers since
they can freely distribute this executable while maintaining the the integrity and security of any package. However,
if desired, a developer can easily write a fron end in place of the provided end-user GUI interface.
Credit Card Validation Classes
Many applications require credit card entry and when these situations arise, StrataFrame provides
easy to use classes to validation the credit cards. All credit card validation uses the LUHN Formula which
is the industry standard. The classes includes features such as:
- Determine Credit Card Type by Number
- Verify Credit Card Number is Valid
- Credit Card Validation Scrubbing Before Processing
Note: This is for credit card validation only and
does not process the credit card with an online
entity.
Screen Capturing Tools
There are times that a window or a screen needs to be captured and saved to disk. At times this can
be a very effective tool for creating built-in support features within an applications. With StrataFrame,
programmatically taking a screen shot is simple and fast.
VB.NET Example:
'-- Capture full screen to image object
loImage = ScreenCapture.CaptureScreen()
'-- Capture full screen and save to disk
ScreenCapture.CaptureScreenToFile("c:\temp\myscreen.jpg", ImageFormat.Jpeg)
C# Example:
//-- Capture a window to image object
loImage = ScreenCapture.CaptureWindow(this.Handle);
//-- Capture a window and save to disk
ScreenCapture.CaptureWindowToFile(this.Handle, "c:\\temp\\mywindow.jpg", ImageFormat.Jpeg);
Windows API Interface
There are many times when a developer needs to interact directly with the Windows API. This generally
entails creating DLL imports and formatting structures in order access these methods. StrataFrame already
has many of the most common API methods wrapped and ready for use. API references have been created for
the User32, ComDlg32, GDI32, and UxTheme libraries.
GAC Interface Classes
Most times developers allow the installation process to handle the interaction of DLLs with the Global Assembly
Cache. However, there are times, though they may be few, that a developer needs to programmatically access
the GAC. This is a difficult and cumbersome process. StrataFrame provides classes that make this process
quick and simple. With a few lines of code, take control of the GAC and create code to automatically manage
assembly versions, for example.
VB.NET Example:
AssemblyCache.InstallAssembly("c:\temp\MyAssembly.dll", Nothing, AssemblyCommitFlags.Force)
C# Example:
AssemblyCache.InstallAssembly("c:\\temp\\MyAssembly.dll", Nothing, AssemblyCommitFlags.Force);
3DES, SHA, and MD5 Encryption Classes
When dealing with any type of encryption things can get complicated fast. StrataFrame comes with
classes that make reversable and one-way hash encryption simple. Encryption features include
file encryption, string encryption, seed and vector keys, and shared methods for easy access.
VB.NET Example:
'-- Encrypt/Decrypt a string
lcEncrypted = lo3DES.Encrypt("Simple Text")
lcDecrypted = lo3DES.Decrypt(lcEncrypted)
'-- Encrypt/Decrypt a file
lo3DES.EncryptFile("c:\temp\myfile.txt")
lo3DES.DecryptFile("c:\temp\myfile.txt")
C# Example:
//-- Encrypt/Decrypt a string
lcEncrypted = lo3DES.Encrypt("Simple Text");
lcDecrypted = lo3DES.Decrypt(lcEncrypted);
//-- Encrypt/Decrypt a file
lo3DES.EncryptFile("c:\\temp\\myfile.txt");
lo3DES.DecryptFile("c:\\temp\\myfile.txt");