본문 바로가기

컴퓨터이야기/프로그램이야기

파워빌더의 네번째-파일 압축관련 편리한 기능들을 공유합니다.

 

네번째, 파일 압축관련 DLL 소개

1. 프로그램에서 DLL function을 호출해서 파일들을 압축할 수 있게 한다.

2. 이 DLL로 압축된 파일(zip)은 현재 사용되는 압축프로그램 (알집,winzip,빵집..)에서도 압축이 풀립니다. 당연히 반대도 가능합니다.

3. Zip 파일 형태만 지원됩니다.

4. 반드시 경로명(Path)를 정확히 적어야 합니다.

5. 압축/해제 DLL을 이용해서 샘플 프로그램을 만들어 보았습니다.

6. 파워빌더 8.0.4 Build 10923에서 생성했습니다.

 


 

샘플 프로그램 사용 설명

 

1. 첨부된 파일(MipoZip.dll)을 Path가 잡혀있는 디레토리에 복사한다. (system32)

 

2. Global External Function 또는 Local External Function 에 아래 두줄을 선언한다.
    > Function int Mipo_Zip( String szFileName, String szZipFileName, String szOption ) Library "MipoZip.dll"
    > Function int Mipo_Unzip( String szZipFileName, String szDirName ) Library "MipoZip.dll"

 

3. 압축할 때

> 특정 디렉토리의 하위에 있는 모든 파일과 서브 디렉토리까지 모두 압축하는 방법

. 사용법: Mipo_Zip( "D:\Temp", "d:\temp.zip", "sd" )

. 설명: D:\Temp 디렉토리안에 있는 모든 파일과 서브 디렉토리까지 모두 압축해서 d:\temp.zip 이라는 압축파일로 생성. (여기서 "sd"는 subdirectory 의 약어 입니다.)  

 

 

> 특정 디렉토리 안에 포함된 파일들만 압축하는 방법 (서브 디렉토리는 제외)

. 사용법: Mipo_Zip( "D:\Temp", "d:\temp.zip", "d" )

. 설명: D:\Temp 디렉토리안에 있는 모든 파일들만 모두 압축해서 d:\temp.zip 이라는 압축파일로 생성. (여기서 "d"는 directory 의 약어 입니다.)     

 

> 특정 파일 한개만을 압축하는 방법

. 사용법: Mipo_Zip( "D:\Temp\abcd.txt", "d:\abcd.zip", "f" )

. 설명: D:\Temp\abcd.txt  파일을 압축해서 d:\abcd.zip 이라는 압축파일로 생성. (여기서 "f"는 file의 약어 입니다.)

 

4. 압축을 풀 때

> 압축된 파일을 특정 디렉토리에 풀고자 할때

. 사용법: Mipo_Unzip( "D:\abcd.zip", "d:\temp" )

. 설명: D:\abcd.zip 압축파일을 d:\temp라는 디렉토리에 풀때. (여기서는 옵션이 없습니다.)

 

5. 리턴 값 확인

> 리턴 값이 0 이면, 제대로 압축하기/압축풀기를 한 경우 입니다. (그 외는 오류입니다)

 

6. 문의사항이나, 건의사항, 문제점등은 본 블러그에 댓글을 달아주세요.

 

 

 

관련 프로그램 입니다

1. 첨부파일 : MipoZipDll.zip

2. 파워빌더 8.0.4 Build 10923에서 작업

 

 

 

그럼 이상으로 저의 블로그를 방문해 주신분들께 감사드리며 포스팅을 마치도록 하겠습니다.

 

좋은 정보를 공유해요~~