Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Open RAR Archive and List ContentsDemonstrates how to open a RAR archive and list the contents. Note: The Chilkat RAR ActiveX objects are included in the "Chilkat Zip" ActiveX download. The RAR functionality contained within ChilkatZip2.dll is freeware, however, the Chilkat Zip, GZip, and .Z functionality is not freeware. The Chilkat RAR for .NET and C++ are bundled in downloads that contain all Chilkat classes (both free and non-free). Make sure you select the download that matches your .NET Framework or VC++ version (6/7/8). If running on x64, download the ActiveX, .NET, or C++ builds marked specifically for x64. CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int DECLARE @sTmp0 nvarchar(4000) DECLARE @rar int EXEC @hr = sp_OACreate 'Chilkat.Rar', @rar OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END -- Note: The Chilkat RAR functionality only provides the ability -- to open, list, and "unrar" (i.e. extract) RAR archives. It does -- not provide the ability to create RAR archives. -- Also, the Chilkat RAR functionality is free. It does not -- require a license to use indefinitely. DECLARE @success int EXEC sp_OAMethod @rar, 'Open', @success OUT, 'abc123.rar' IF @success <> 1 BEGIN EXEC sp_OAGetProperty @rar, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END DECLARE @n int DECLARE @i int EXEC sp_OAGetProperty @rar, 'NumEntries', @n OUT SELECT @i = 0 WHILE @i <= @n - 1 BEGIN DECLARE @entry int EXEC sp_OAMethod @rar, 'GetEntryByIndex', @entry OUT, @i EXEC sp_OAGetProperty @entry, 'Filename', @sTmp0 OUT PRINT @sTmp0 EXEC sp_OAGetProperty @entry, 'UncompressedSize', @iTmp0 OUT PRINT @iTmp0 EXEC sp_OAGetProperty @entry, 'CompressedSize', @iTmp0 OUT PRINT @iTmp0 EXEC sp_OAGetProperty @entry, 'IsDirectory', @sTmp0 OUT IF @sTmp0 = 1 BEGIN PRINT '(directory)' END EXEC sp_OAGetProperty @entry, 'IsReadOnly', @sTmp0 OUT IF @sTmp0 = 1 BEGIN PRINT '(read-only)' END PRINT '----' SELECT @i = @i + 1 END END GO |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.