GZip Files |
To be able to compress using GZip you need to download from the Internet the following files:
Para poder comprimir usando GZip usted necesita descargar de la Internet los siguientes archivos:
|
Problem 1 |
Create a dialog application called ZipPro using Wintempla. After creating the application, copy the previous files to the ZipPro/ZipPro/ folder. Cree una aplicación de Diálogo llamada ZipPro usando Wintempla. Después de crear la aplicación, copie los archivos previos a la carpeta ZipPro/ZipPro/. |
Step A |
Use the menu to add the files zconf.h and zlib.h to the project: Project > Add Existing . Use el menú para agregar los archivos zconf.h y zlib.h al proyecto: Project > Add Existing . |
Step B |
Edit the stdafx.h file as shown. Be sure to insert the lines before the line that includes Wintempla.h file. Edite el archivo stdafx.h como se muestra. Asegúrese de insertar las líneas antes de la línea que incluye el archivo Wintempla.h |
stdafx.h |
. . . #include "zlib.h" #include "zconf.h" #pragma comment(lib, "zlibstat64.lib") #include "Wintempla.h" #include "WintemplaWin.h" . . . |
Step C |
Edit the files ZipPro.h and ZipPro.cpp, Edite los archivos ZipPro.h y ZipPro.cpp. |
ZipPro.h |
#pragma once //______________________________________ ZipPro.h #include "Resource.h" class ZipPro: public Win::Dialog { public: ZipPro() { } ~ZipPro() { } void Compress(); void Uncompress(); . . . }; |
FileZip.cpp |
. . . void ZipPro::Window_Open(Win::Event& e) { Compress(); Uncompress(); } void ZipPro::Compress() { //_______________________________________________________________ 1. Read input file string input; if (Sys::FileAssistant::BinaryLoad(L"C:\\selo\\hello.txt", input) == false) { this->MessageBox(L"Unable to open input file", L"ZipPro", MB_OK | MB_ICONERROR); return; } //_______________________________________________________________ 2. Compress data string compressed; if (Sys::Gzip::Deflate(input, compressed) == false) { this->MessageBox(L"Unable to compress data", L"ZipPro", MB_OK | MB_ICONERROR); return; } //_______________________________________________________________ 3. Write compressed file if (Sys::FileAssistant::BinarySave(L"C:\\selo\\hello.gz", compressed) == false) { this->MessageBox(L"Unable to save compressed file", L"ZipPro", MB_OK | MB_ICONERROR); return; } } void ZipPro::Uncompress() { //_______________________________________________________________ 1. Read compressed file string comp; if (Sys::FileAssistant::BinaryLoad(L"C:\\selo\\hello.gz", comp) == false) { this->MessageBox(L"Unable to open compressed file", L"ZipPro", MB_OK | MB_ICONERROR); return; } //_______________________________________________________________ 2. Uncompress the data string output; if (Sys::Gzip::Inflate(comp, output) == false) { this->MessageBox(L"Unable to compress data", L"ZipPro", MB_OK | MB_ICONERROR); return; } //_______________________________________________________________ 3. Write compressed file if (Sys::FileAssistant::BinarySave(L"C:\\selo\\hello2.txt", output) == false) { this->MessageBox(L"Unable to save restored file", L"ZipPro", MB_OK | MB_ICONERROR); return; } } |
Step D |
Create a text file called hello.txt with any text inside. Save the file in convenient location. Be sure the ZipPro.cpp file has the correct path. Run the program. A hello.gzip file will be created. You can open this file using WinRAR or WinZip. The program compresses the hello.txt file and then, the program un-compresses the file. Cree un archivo de texto llamado hello.txt con cualquier texto adentro. Guarde el archivo en una ubicación conveniente. Asegúrese de que el archivo ZipPro.cpp tiene las rutas correctas (paths). Ejecute el programa. Un archivo hello.gzip será creado. Usted puede abrir este archivo usando WinRAR o WinZip. El programa comprime el archivo hola.txt y entonces, el programa descomprime el archivo. |
Tip |
You must transfer a library using its source code when you do not care that the users of the library modify the code or learn from them. Usted puede transferir una librería usando su código fuente cuando a usted no le importa que los usuarios de la librería modifiquen el código o aprendan de él. |
Tip |
You must transfer a library using a DLL when the library may be used for several programs at the same time. Usted puede transferir una librería usando una DLL cuando la librería puede ser usada por varios programas al mismo momento. |