C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[1119] [답변] BESTCD/ DbiPackTable() 사용방법/프포
델파이 [ ] 3890 읽음    1999-02-22 01:45

안녕하세요~ 원맨입니다..
저두 그 함수는 사용해 보진 않아서리 자세히 설명은 못드리겠네요..
제 홈페이지에서 찾아보니 소스가 있어서 적어드립니다..

헤더화일(PackTable.h)

#ifndef PackTableH

#define PackTableH

#include

bool PackTable(TTable *table);

#endif

유닛
#include
#pragma hdrstop
#include "PackTable.h"
bool PackTable(TTable *table)
{
bool active = table->Active;
bool exclusive = table->Exclusive;
bool retval = true;
try{
if (!exclusive){
table->Active = false;
table->Exclusive = true;
}
table->Active = true;
CURProps props;
Check(DbiGetCursorProps(table->Handle, props));
String tableType = props.szTableType;
if (tableType == szPARADOX){
CRTblDesc tableDesc;memset(&tableDesc, 0, sizeof (tableDesc));
lstrcpy(tableDesc.szTblName, table->TableName.c_str());
lstrcpy(tableDesc.szTblType, szPARADOX);tableDesc.bPack = true;
hDBIDb hDb = table->DBHandle;table->Close();
Check(DbiDoRestructure(hDb, 1, &tableDesc, 0, 0, 0, false));
table->Open();
}
else if (tableType == szDBASE)Check(DbiPackTable(table->DBHandle,
table->Handle, 0, szDBASE, true));elseretval = false;}catch(...){retval = false;
}table->Active = false;table->Exclusive = exclusive;table->Active = active;
return(retval);
}

이 소스는 파라독스및 DBASE용입니다..

그럼 도움되시길...



+ -

관련 글 리스트
1108 [질문] DbiPackTable() 사용방법/프포 bestcd 3621 1999/02/19
1119     [답변] BESTCD/ DbiPackTable() 사용방법/프포 델파이 3890 1999/02/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.