저자 : 가오 수메이
데이터 엔진(BDE, SQL Link)을 구성하는 간단한 방법
데이터베이스 프로그램 배포 시 데이터 엔진(BDE, SQL Link)을 탑재해야 하며, 프로그램을 클라이언트에 설치한 후 사용자 이름(username), 비밀번호(PassWord) 등 데이터 엔진을 구성해야 한다. , 등. 수동 구성이 필요한 경우 작업 부하가 상대적으로 클 수 있습니다. 이때 InstallShield For Delphi를 사용하여 구성을 쉽게 구현할 수 있습니다. InstallShield For Delphi를 사용하여 설치 프로그램을 생성하는 경우 설치 프로그램이 생성된 디렉터리에 *.iwz 텍스트 파일이 있습니다. 이를 [IDAPI Alias] 조각에 수동으로 추가하기만 하면 됩니다. 예를 들어:
[IDAPI 별칭]
사용자 이름=SYSDBA
비밀번호=마스터키
프로그램을 설치하면 데이터 엔진이 자동으로 구성됩니다.
빠른 단추 스트립을 만드는 방법
퀵버튼바의 각 그래픽 버튼은 일반적으로 사용되는 기능을 나타내며, 이러한 그래픽 버튼의 크기는 일반 아이콘보다 크고, 보다 크고 생생한 그래픽을 배치할 수 있으며, 짧은 프롬프트도 첨부할 수 있습니다. 매우 유용합니다. 사용자가 가장 일반적으로 사용하는 기능을 수행하는 데 도움이 됩니다. 위의 이유에 따라 점점 더 많은 Windows 응용 프로그램이 응용 프로그램 인터페이스를 개선하기 위해 빠른 버튼 스트립을 채택하고 있습니다. 저자는 Delphi에서 프로그래밍할 때 두 가지 다른 방법을 사용하여 빠른 버튼 표시줄을 구현합니다. 이 기사에서는 6개의 버튼으로 구성된 두 그룹을 사용하여 빠른 버튼 표시줄을 만드는 예를 결합하고 이 두 가지 방법의 구체적인 디자인 단계를 나열합니다.
1. 조합 생성 방법
(1) Panel1 개체를 그래픽 버튼의 캐리어로 폼에 배치합니다.
(2) Panel1의 Caption 속성을 공백으로, Align 속성을 alTop으로 설정하고 높이를 적절한 크기로 조정합니다.
(3) Panel1에 SpeedButton 버튼 6개를 배치합니다. (SpeedButton은 플로팅 특성이 있어서 선택했습니다.)
(4) Panel1에 두 개의 Bevel 객체를 배치하고 위치와 크기를 조정하여 버튼 그룹을 분리합니다.
(5) Panel1에서 SpeedButton1의 크기와 위치를 조정합니다.
(6) SpeedButton1을 선택하고 Flat 속성을 True로 설정합니다.
(7) SpeedButton1의 Glyph 속성에 해당하는 작은 줄임표 버튼을 클릭하고 PictureEditor 창을 열고 "쿼리"를 상징하는 아이콘을 선택합니다. ShowHint 속성을 True로 설정하고 Hint 속성을 "Query"로 설정합니다.
(8) (5)~(7)단계에 따라 나머지 SpeedButton 버튼의 속성을 설정합니다.
이렇게 하면 퀵버튼 스트립이 완성됩니다. 실행 시 퀵 버튼이 부동 방식으로 표시됩니다. 마우스를 해당 버튼 위로 이동하면 버튼 윤곽선이 표시되고 작은 프롬프트가 표시됩니다.
2. ToolBar 생성 방법을 빌리세요.
(1) 폼에 ToolBar1 개체를 배치합니다.
(2) ToolBar1의 EdgeBorders.ebLeft, ebTop, ebRight 및 ebButtom 속성을 True로 설정하고, Flat 속성을 True로 설정하고 ToolBar1의 크기를 적절한 크기로 조정합니다.
(3) ToolBar1을 선택하고 퀵메뉴를 마우스 오른쪽 버튼으로 클릭한 후 NewButton과 NewSeparator를 각각 클릭하여 ToolButton 버튼 6개와 구분선 2개를 추가합니다.
(4) ToolButton 버튼을 선택하고 크기를 적절한 크기로 조정하면 모든 ToolButton도 동시에 조정됩니다.
(5) ToolBar1의 BorderWidth 속성을 3으로 설정하여 ToolButton의 위치를 조정합니다.
(6) ImageList1 개체를 폼에 배치하고 더 큰 크기의 이미지를 수용할 수 있도록 해당 속성의 Height 및 Width 값을 설정합니다.
(7) ImageList1을 두 번 클릭하고 ToolBar1의 6개 ToolButton에 해당하는 "추가" 버튼을 통해 각각 6개의 이미지를 로드합니다.
(8) ToolBar1의 Images 속성을 ImageList1로 설정합니다.
(9) 6개 ToolButton의 ShowHint 속성을 True로 설정하고 각각의 작은 프롬프트 속성 Hint를 설정합니다.
(10) ToolBar1의 HotImages를 설정하여 마우스가 버튼을 가리킬 때 설정된 그림을 지정할 수도 있습니다.
ToolBar를 이용하여 구현한 퀵버튼바는 첫 번째 방법으로 만든 퀵버튼바와 외관상 유사합니다.
위의 두 방법 모두 빠른 버튼 표시줄을 구현할 수 있지만 각각 고유한 장점이 있습니다. 첫 번째 디자인 프로세스는 상대적으로 간단합니다. 두 번째 방법은 마우스가 버튼을 가리킬 때 설정된 그림을 지정하기 위해 HotImages를 사용하는 등 더 많은 기능을 제공합니다. . 독자는 하나를 선택하고 계속해서 기능을 개선할 수 있습니다.
임시 테이블을 만드는 방법
데이터 입력은 데이터베이스 프로그램 개발에 있어서 피할 수 없는 부분입니다. 클라이언트/서버 구조에서 클라이언트는 데이터 배치를 입력한 다음 이를 서버의 백엔드 데이터베이스에 제출해야 할 수 있습니다. 이를 위해서는 사용자가 입력한 데이터를 저장하기 위해 로컬(클라이언트)에 임시 데이터 테이블을 설정해야 합니다. 제출하면 로컬 데이터 테이블이 지워집니다. 이 방법의 이점은 입력 효율성을 향상시키고 네트워크 부담을 줄이는 것입니다.
사용자가 한번에 입력하는 데이터의 양은 일반적으로 적기 때문에(수백 레코드 이하) 임시 테이블을 메모리에 구축할 수 있어 처리 속도가 빨라진다. 임시 테이블을 만드는 방법에는 두 가지가 있습니다.
1. 쿼리 제어를 사용하여 임시 테이블 생성
1단계: 폼에 쿼리 컨트롤(TQuery)을 배치하고 연결된 데이터 테이블을 설정합니다.
2단계: 다음 문을 추가합니다.
TQuery.CachedUpdates=참;
TQuery.RequestLive=참입니다.
3단계: 원본 SQL 문 뒤에 Where 하위 문을 추가합니다. 이 Where 하위 문을 추가한 후에는 SQL 쿼리 결과가 비어 있어야 합니다.
예를 들어:
SELECT Biolife."종번호", 카테고리, 공통_이름, Biolife."종명", Biolife."길이(cm)", 길이_In, 메모, 그래픽
"biolife.db"에서
여기서 Biolife.Category='A' 및 Biolife.Category='B'
이런 식으로 임시 테이블이 생성됩니다.
2. 코드를 사용하여 임시 테이블 생성
함수 코드는 다음과 같습니다.
함수 CreateTableInMemory(const AFieldDefs:TFieldDefs):
TDataSet;
var TempTable:TClientDataSet;
시작하다
임시테이블:=nil;
결과:=nil;
AFieldDefs〈〉nil이면
시작하다
노력하다
TempTable:=TClientDataSet.Create(응용 프로그램);
TempTable.FieldDefs.Assign(AFieldDefs);
TempTable.CreateDataSet;
결과:=(TempTable as TDataSet);
제외하고
TempTable〈〉nil이면 TempTable.Free;
결과:=nil;
들어올리다;
끝
끝
끝;
다음과 같이 프로그램에서 호출합니다.
PROcedure TForm1.Button1Click(Sender: TObject);
var ADataSet:TDataSet;
시작하다
ADataSet:=TDataSet.Create(Self);
ADataSet.FieldDefs를 사용하면
시작하다
Add('이름',ftString,30,False);
Add('값',ftInteger,0,False);
끝;
DataSource1을 사용하면
시작하다
DataSet:=CreateTableInMemory(ADataSet.FieldDefs);
데이터세트.열기;
끝;
ADataSet.Free;
끝;
이런 식으로 임시 테이블이 생성됩니다.
방법 1은 사용이 간편하지만 쿼리 제어를 사용하기 때문에 데이터를 지울 때 서버 백엔드 데이터베이스를 쿼리해야 하므로 속도가 약간 느리고 임시 테이블의 각 필드가 있는 상황에는 적합하지 않습니다. 여러 데이터 테이블의 필드로 구성됩니다. 방법 2는 응용 범위가 넓고 속도가 빠르지만 코드 작성이 필요합니다.
InterBase 데이터베이스의 함수 사용
프로그래머가 InterBase를 백엔드 데이터베이스로 사용할 때 제공하는 기능이 너무 적기 때문에(단 4개) 복잡한 저장 프로시저를 쉽게 작성할 수 없기 때문에 사용하기 불편한 경우가 많습니다. InterBase 자체는 함수를 작성할 수 없지만 외부 함수(DLL의 함수 호출)를 사용할 수 있습니다. 다음 예제에서는 InterBase에서 SUBSTR 함수를 선언하는 방법을 보여줍니다.
외부 함수 하위 선언
CSTRING(80), SMALLINT, SMALLINT
CSTRING(80)을 반환합니다.
ENTRY_POINT "IB_UDF_substr" MODULE_NAME "ib_udf"
그 중 MODULE_NAME은 DLL의 이름이고 ENTRY_POINT는 함수 이름입니다.
선언 후에 사용할 수 있습니다. 예를 들면 다음과 같습니다.
SUBSTR(국가) 선택
나라에서
이 예제에서는 Delphi 설치와 함께 제공되는 IBLocal 데이터베이스를 사용합니다. 사용자는 InterBase를 확장하기 위해 자신만의 함수를 작성할 수도 있습니다.