Q: Visual Basic에는 어떤 버전이 있습니까? 그들 사이의 차이점은 무엇입니까?
답변: Visual Basic에는 세 가지 버전이 있으며 각 버전은 서로 다른 개발 요구 사항을 충족합니다.
1.VisualBasic Learning Edition을 사용하면 프로그래머는 Windows95 및 WindowsNT(R) 응용 프로그램을 쉽게 개발할 수 있습니다. 이 버전에는 Grid, Tab 및 Data_Bound 컨트롤과 함께 모든 내부 컨트롤이 포함되어 있습니다. 학습 버전에서 제공하는 문서에는 "프로그래머 가이드", 온라인 도움말 및 Visual Basic "온라인 매뉴얼"이 포함됩니다.
2. 전문가 버전은 전문 프로그래머에게 개발을 위한 완전한 기능의 도구 세트를 제공합니다. 이 버전에는 ActiveX 컨트롤, 인터넷 컨트롤 및 CrystalReportWriter와 함께 학습 버전의 모든 기능이 포함되어 있습니다. Professional 버전에서 제공하는 문서에는 "프로그래머 가이드", 온라인 도움말, "컴포넌트 툴 가이드"가 포함됩니다.
3. Enterprise Edition을 사용하면 전문 프로그래머가 그룹 내에서 강력한 분산 애플리케이션을 개발할 수 있습니다. 이 버전에는 자동화 관리자, 부품 관리자, 데이터베이스 관리 도구, Microsoft Visual SourceSafe(TM) 엔지니어링 중심 제어 시스템 등과 함께 Professional Edition의 모든 기능이 포함되어 있습니다. Enterprise Edition에서 제공하는 설명서에는 Professional Edition의 모든 설명서와 클라이언트/서버 응용 프로그램 개발 가이드 및 SourceSafeUser'sGuide가 포함되어 있습니다.
Q: Visual Basic을 설치하려면 어떤 하드웨어와 소프트웨어가 필요합니까?
대답: 다른 필요,
1. Microsoft Windows NT3.51 이상 또는 Microsoft Windows 80486 이상의 마이크로프로세서.
2. 전체 설치의 경우 최소 50MB 이상의 하드디스크 공간이 필요합니다.
3. CD-ROM 드라이브.
4. Microsoft Windows는 VGA 이상의 해상도 화면을 지원합니다.
5.16MBRAM.
6. 마우스 또는 기타 포인팅 장치.
Q: CrystalReports에 대한 기술 지원을 받으려면 어떻게 해야 합니까?
답변: CrystalReports 설치에 문제가 있는 경우 Microsoft에 문의하세요.
다른 기술 지원이 필요한 경우 Seagate에 직접 문의하시기 바랍니다.
Seagate 웹사이트는 http://www.crystalinc.com입니다.
또는 http://www.img.seagatesoftware.com.
Seagate의 기술 지원 전화번호는 01-604-669-8379 또는 01-800-877-2340입니다.
Q: Visual Basic에서는 어떤 데이터베이스와 통신할 수 있나요?
답변: Visual Basic에서 통신할 수 있는 데이터베이스에는 세 가지 유형이 있습니다.
1.VisualBasic 데이터베이스 - 로컬 데이터베이스라고도 하는 이 유형의 데이터베이스 파일은 Microsoft Access와 동일한 형식을 사용합니다. Jet 엔진은 이러한 데이터베이스를 직접 생성 및 운영하며 최대의 유연성과 속도를 제공합니다.
2. 외부 데이터베이스 - Btrieve, dBASEIII, dBASEIV, Microsoft FoxPROversions 2.0 및 2.5, Paradoxversions 3.x 및 4.0을 포함하여 널리 사용되는 여러 형식을 사용하는 ISAM(Indexed Sequential Access Method) 데이터베이스입니다. 위의 모든 형식의 데이터베이스는 Visual Basic에서 만들고 조작할 수 있습니다. 텍스트 파일 데이터베이스와 Microsoft Excel 또는 Lotus 1-2-3 스프레드시트에도 액세스할 수 있습니다.
3. ODBC 데이터베이스 - Microsoft SQL Server와 같이 ODBC 표준을 준수하는 클라이언트/서버 데이터베이스가 포함됩니다. Visual Basic에서 실제 클라이언트/서버 응용 프로그램을 만들려면 ODBCDirect를 사용하여 처리를 위해 서버에 직접 명령을 전달할 수 있습니다.
질문: Visual Basic에서 직렬 포트와 통신하는 방법은 무엇입니까?
답변: VisualBasic은 직렬 포트에서 데이터 수신 및 전송을 담당하는 MSCOMM 컨트롤을 제공합니다. Visual Basic 개발 환경에서 프로젝트를 선택하고, 프로젝트 메뉴에서 구성 요소를 선택하고, 구성 요소에서 MicrosoftCommControl을 선택하고, MSCOMM 컨트롤을 도구 상자에 추가할 수 있습니다. 그런 다음 MSCOMM 컨트롤의 속성을 설정하여 통신 포트, 전송 속도 등과 같은 직렬 포트 통신 매개변수를 수정합니다.
질문: VB에서 Win32 함수를 호출하는 방법은 무엇입니까?
대답: Visual Basic의 WINAPI 하위 디렉터리에서 모든 Win32 함수 설명, 유형 설명 및 전역 상수 값이 포함된 WIN32API.TXT를 찾을 수 있습니다. Visual Basic 플러그인 프로그램인 VBAPIViewer를 사용하여 필요한 Win32 함수를 선택한 후 간단한 복사 및 붙여넣기 기술을 통해 함수에 대한 설명을 Visual Basic 프로젝트에 넣어서 일반 Visual Basic처럼 호출할 수 있습니다. 기능. .
질문: Visual Basic 5.0이 정상적으로 시작되지 않습니다. 어떻게 해야 합니까?
답변: 이는 두 가지 이유로 인해 발생할 수 있습니다.
1. 플러그인 프로그램에 오류가 있습니다. 메모장을 사용하여 시스템 디렉터리에 있는 VBAddin.ini 파일을 열고 각 항목의 값을 0으로 변경할 수 있습니다. 즉, 플러그인 프로그램이 시작되지 않습니다.
2. Office 명령 모음에 대한 저장된 데이터가 올바르지 않습니다. 이 경우 레지스트리에서 HKEY_CURRENT_USER/SOFTWARE/MICROSOFT/VisualBasic/5.0 항목을 삭제할 수 있습니다. 위 내용을 수정한 후에는 Visual Basic만 다시 시작하면 됩니다.
질문: Visual Basic에서 일부 컨트롤이 손상된 경우 어떻게 해야 합니까?
답변: VB 설치 디스크에서 응답 파일을 찾아 시스템 디렉터리에 복사할 수 있습니다. 그런 다음 regsvr32를 사용하여 해당 컨트롤을 수동으로 등록하십시오. 방법은 다음과 같습니다: regsvr32xxxx.ocx
Q: 다중 사용자 환경에서 Microsoft Jet은 다른 사용자가 데이터를 수정하는 것을 어떻게 방지합니까?
대답: Microsoft Jet은 다양한 수준에서 데이터를 잠그는 세 가지 방법을 제공합니다. 여러 사용자가 동시에 데이터를 수정하는 것을 방지합니다.
1. 배타적 모드는 다른 모든 사용자가 데이터베이스에 액세스하는 것을 방지하는 가장 제한적인 모드입니다.
2. 레코드 집합 잠금은 읽기 테이블 잠금, 쓰기 테이블 잠금 또는 둘 다를 사용하여 레코드 집합 개체의 기본 테이블을 잠급니다.
3. 페이지 잠금은 편집 중인 데이터가 포함된 페이지(2048바이트(2K) 길이)를 잠급니다. 제한이 가장 적은 모드입니다.
Q: 보존적 잠금과 개방형 잠금의 차이점은 무엇입니까?
답변: 보존적 잠금을 사용할 때 Edit 메서드가 호출되면 엔진은 현재 편집된 레코드가 포함된 페이지를 잠급니다. 이 레코드에 대한 변경 사항이 명시적으로 커밋되거나 취소될 때까지 잠금이 해제되지 않습니다. 하지만 기록을 잠그는 데 시간이 오래 걸린다는 단점이 있고, 사용자가 편집 중인 기록만 잠그는 것이 아니라 잠긴 페이지에 있는 다른 기록도 잠긴다.
개방형 잠금을 사용하는 경우 엔진은 Update 메서드를 사용하여 레코드 변경 사항을 커밋하려고 할 때만 페이지를 잠급니다. 애플리케이션이 변경 내용을 커밋하려고 시도할 때만 잠금이 발생하므로 잠금 시간이 최소화됩니다. 그러나 개방형 잠금의 단점은 사용자가 레코드 편집을 시작할 때 업데이트가 성공할 것이라는 확신이 없다는 것입니다. 첫 번째 사용자가 편집 중인 레코드를 다른 사용자가 변경하면 열린 잠금을 사용하는 업데이트가 실패합니다.
질문: VB5에서 응용 프로그램을 NativeCode로 컴파일할 때 응용 프로그램을 게시할 때 여전히 MSVBVM50.DLL이 필요합니까?
대답: 그렇습니다. VB5로 생성된 모든 응용 프로그램에는 NativeCode이든 P-Code이든 MSVBVM50.DLL이 필요합니다. Form, 클래스 모듈, 언어 등 많은 기능을 구현하려면 MSVBVM50.DLL이 필요하기 때문입니다. NativeCode는 런타임 해석 없이 CPU에서 직접 실행할 수 있는 코드를 의미하지만 VB5에서 생성된 응용 프로그램은 DLL(동적 링크 라이브러리)에서 라이브러리 함수를 호출해야 함을 의미하지 않습니다.
질문: VB에서 VisualFoxPro 데이터베이스에 어떻게 액세스하나요?
답변: VfoxPro 데이터베이스 테이블에 PrimaryKey를 설정하고 최신 버전의 VfoxProODBC 드라이버를 통해 VisualFoxPro 데이터베이스에 액세스하는 것이 좋습니다. 이렇게 하면 업데이트 중에 더 나은 성능을 얻을 수 있고 문제를 피할 수 있습니다.
질문: VB5의 PictureBox 및 Image 컨트롤은 어떤 그래픽 파일 형식을 지원합니까?
대답: PictureBox 및 Image 컨트롤은 그래픽을 표시하는 데 사용됩니다. 비트맵, 아이콘, 메타파일, 향상된 메타파일, JPEG 또는 GIF 파일 형식으로 그래픽을 표시할 수 있습니다. 새로 지원되는 JPEG 또는 GIF 파일은 웹 페이지에 유용합니다.
질문: VB에서는 레지스트리에 액세스하기 위해 어떤 방법을 제공합니까?
대답: GetSetting 함수는 Windows 레지스트리의 응용 프로그램 항목에서 레지스트리 키 설정 값을 반환합니다. Windows 레지스트리에 애플리케이션 프로젝트를 저장하거나 생성하는 SaveSetting 문입니다.
Windows 레지스트리의 DeleteSetting 문은 응용 프로그램 항목에서 영역 또는 레지스트리 키 설정을 삭제합니다.
GetAllSettings 함수는 Windows 레지스트리(처음에는 SaveSetting에 의해 생성됨)에서 응용 프로그램 프로젝트의 모든 레지스트리 키 설정과 해당 값을 반환합니다.
질문: VB5 애플리케이션에서 이벤트를 기록하는 방법은 무엇입니까?
답변: LogEvent 메서드는 애플리케이션의 로그 대상에 있는 로그에 이벤트를 기록합니다. Windows NT 플랫폼에서 이 메서드는 NT 이벤트 로그에 내용을 기록합니다. Windows95 플랫폼에서 이 메소드는 LogPath 속성에 의해 지정된 파일에 내용을 기록합니다. 기본적으로 파일을 지정하지 않으면 이벤트가 vbevents 파일에 기록됩니다.
Q: 파일이 존재하는지 어떻게 감지하나요? 파일을 삭제하는 방법?
답변: Dir 함수를 사용하여 파일이 존재하는지 확인하세요. 적합한 파일이 없으면 Dir은 길이가 0인 문자열()을 반환합니다.
Kill 문을 사용하여 파일을 삭제할 수 있습니다.
질문: VB 애플리케이션의 표시 속도를 최적화하는 방법은 무엇입니까?
답변: Microsoft Windows의 그래픽 특성으로 인해 그래픽 및 기타 작업의 표시 속도가 응용 프로그램의 인식 속도를 크게 결정합니다. 양식이 빠르게 나타나고 그려질수록 응용 프로그램도 더 빨리 나타납니다. 애플리케이션의 표시 속도를 향상시키기 위해 여러 기술을 사용할 수 있습니다.
·컨테이너의 ClipControls 속성을 False로 설정합니다.
·AutoRedraw를 적절하게 사용하십시오.
·PictureBox 컨트롤 대신 Image 컨트롤을 사용합니다.
·여러 번 다시 그리기를 피하기 위해 속성을 설정할 때 컨트롤을 숨깁니다.
·PSet 대신 Line을 사용하십시오.
종종 인식되는 애플리케이션 속도는 코드가 실제로 실행되는 속도와 거의 관련이 없습니다. 빠르게 실행되고, 빠르게 그려지며, 지속적인 피드백을 제공하는 앱은 작업을 완료하는 동안 멈추는 것처럼 보이는 앱이 사용자에게 빠르게 나타납니다. 애플리케이션을 빠르게 표시하기 위해 다양한 기술을 사용할 수 있습니다.
·로드하지 않고 양식을 숨 깁니다.
·데이터를 미리 로드합니다.
· 타이머를 사용하여 백그라운드에서 작업합니다.
·진행 표시기를 사용하십시오.
·애플리케이션 실행 속도를 높입니다.
Q: VB5에는 인터넷/인트라넷 개발을 지원하는 새로운 콘텐츠가 있습니까?
답변: ActiveX 문서 만들기
Professional 및 Enterprise 버전은 Visual Basic 양식을 디자인하는 것만큼 쉽고 직관적입니다. ActiveX 문서는 Visual Basic 응용프로그램을 인터넷 브라우저 창에 밀어넣습니다.
나만의 ActiveX 컨트롤 만들기
Professional 및 Enterprise 버전은 기존 컨트롤을 결합하거나 다른 컨트롤에서 고유한 컨트롤을 만듭니다. Visual Basic으로 만든 ActiveX 컨트롤에는 데이터 및 하이퍼링크의 비동기 다운로드를 포함하여 여러 가지 인터넷 기능이 있습니다.
멀티스레드 DLL
Professional 및 Enterprise 버전은 인터넷 브라우저와 같은 다중 스레드 응용 프로그램에서 효율적으로 사용하기 위해 사용자 인터페이스 없이(즉, 사용자 상호 작용 없이) 실행되는 DLL 구성 요소를 표시합니다.
인터넷 전송 제어
Professional 및 Enterprise 버전은 HTTP 및 FTP 지원을 위한 새로운 제어 기능을 제공합니다.
WinSock 제어
Professional 및 Enterprise 버전에서는 UDP(사용자 데이터 프로토콜) 또는 TCP(전송 제어 프로토콜)를 사용하여 원격 컴퓨터에 연결하고 다른 컴퓨터와 데이터를 교환할 수 있습니다.
하이퍼링크 위치 지정
Professional 및 Enterprise Hyperlink 개체는 ActiveX 하이퍼링크 기능에 대한 액세스를 제어합니다. 컨트롤은 Hyperlink 개체의 속성과 메서드를 사용하여 Microsoft Internet Explorer와 같은 하이퍼링크 인식 컨테이너에 특정 URL로 이동하거나 기록 목록을 탐색하도록 요청할 수 있습니다.
비동기 다운로드
Professional 및 Enterprise 버전은 Visual Basic으로 생성된 ActiveX 컨트롤 및 ActiveX 문서를 통해 파일, 바이트 배열 또는 이미지를 비동기적으로 다운로드합니다.
ActiveX 문서의 메뉴 협상
Professional 및 Enterprise Edition ActiveX 문서에 추가된 메뉴는 문서가 표시될 때 Internet Explorer(또는 메뉴 협상을 지원하는 다른 브라우저) 메뉴와 원활하게 병합될 수 있습니다.
ActiveX 컨트롤 인터페이스 마법사
Professional 및 Enterprise Edition 구성된 컨트롤이 UserControl Designer에 추가되면 마법사는 새 ActiveX 컨트롤(즉, 해당 인터페이스)의 속성, 메서드 및 이벤트를 구성된 컨트롤 및 UserControl 개체에서 제공하는 기능에 매핑하는 데 도움을 줄 수 있습니다. .
인터넷 부품 다운로드
Professional 및 Enterprise 버전은 설치 마법사를 사용하여 웹 배포용 구성 요소를 특별히 패키지화할 수 있습니다. JPEG 및 GIF 지원
PictureBox 및 Image 컨트롤의 모든 버전과 Picture 개체는 이제 웹 페이지에 유용한 .gif 및 .jpg 파일을 지원합니다.
개발 환경에서 웹에 액세스
모든 버전은 Visual Basic 및 기타 개발 제품에 대한 최신 정보로 바로 이동합니다.
질문: 기존 VB 애플리케이션을 브라우저에 도입하여 실행하려면 어떻게 해야 합니까?
답변: ActiveX 문서 마이그레이션 마법사는 기존 양식을 ActiveX 문서로 변경하도록 설계되었습니다. ActiveX 문서는 ActiveX 문서 컨테이너(예: Microsoft Internet Explorer)에 저장되고 활성화될 수 있는 특정 유형의 ActiveX 개체입니다.
Q: DAO와 RDO의 비교
답변: DAO는 일반적으로 Microsoft Jet 엔진(아래 언급된 ODBCDirect 제외)을 통해 데이터베이스에 액세스하며 Microsoft Access와 같은 데이터베이스에 액세스하는 데 적합합니다.
RDO는 ODBC를 통해 데이터베이스에 직접 액세스합니다. 클라이언트/서버 환경에 적합하며 Microsoft SQL Server와 같은 대규모 데이터베이스에 액세스할 때 더 나은 성능을 발휘합니다.
RDO(Remote Data Objects)를 사용하는 방법은 기본적으로 Microsoft Jet 데이터베이스 엔진 DAO(Data Access Objects)를 사용하는 방법과 유사하며 RemoteData 컨트롤도 Data 컨트롤과 유사합니다. RDO를 사용하여 쿼리를 제출하고, 결과 집합 또는 커서를 만들고, 데이터베이스 독립적인 개체 지향 코드로 쿼리 결과를 처리합니다.
RemoteData 컨트롤을 사용하면 생성된 양식에서 Data 컨트롤이 인식할 수 있는 모든 바인딩된 컨트롤을 사용할 수 있으며 코드가 거의 또는 전혀 없이 결과 집합을 처리할 수도 있습니다.
DAO 및 데이터 컨트롤을 사용하여 기존 응용 프로그램을 약간 변경하면 RDO 및 RemoteData 컨트롤을 사용하도록 변환할 수 있습니다. 그러나 RDO는 관계형 데이터베이스와 함께 사용하도록 구현 및 설계되었기 때문에 RDO에는 자체 쿼리 처리기가 없으며 모든 쿼리를 처리하고 결과 집합을 생성하기 위해 데이터 소스에 의존합니다. 데이터 개체 자체는 ODBC 드라이버가 반환한 결과 집합과 커서에서 생성됩니다.
ODBCDirect가 Jet가 아닌 RDO를 통해 DAO를 전달하기 때문에 기존 DAO/Jet 응용 프로그램을 RDO로 변환할 필요가 없는 경우도 있습니다. 응용 프로그램이 DAOISAM 개체 및 해당 메서드(예: 테이블 형식 Recordset 개체 및 Seek 메서드) 또는 기타 ISAM 프로그래밍 메서드를 사용하지 않는 경우 몇 가지 변경 사항을 적용하면 ODBCDirect로 변환할 수 있으며 필요한 변경 사항은 그보다 훨씬 적습니다. ODBCDirect로 변환하는 중 아직 RDO가 거의 없습니다.
다음 표에는 RDO2.0 개체와 이에 상응하는 DAO/Jet 개체가 나열되어 있습니다.
RDO 객체
동등한 DAO/Jet 객체
Rdo엔진
DB엔진
Rdo오류
오류
rdo환경
작업공간
rdoConnection
데이터 베이스
rdo테이블
테이블 정의
구현되지 않음
색인
rdoResultset
레코드세트
구현되지 않음
테이블 유형
키셋 유형
다이너셋 유형
정적 유형(r/w)
스냅샷 유형(r/o)
동적 유형
(없음)
전달 유형만 해당
전달 유형만 해당
(커서 없음)
(없음)
rdo열
필드
rdoQuery
쿼리 정의
rdo매개변수
매개변수
구현되지 않음
관계
구현되지 않음
그룹
구현되지 않음
사용자
원격 데이터 개체는 일반적으로 관계형 데이터베이스의 용어인 레코드와 필드보다는 행과 열의 개념을 사용합니다. 쿼리는 결과 집합 형식으로 데이터를 반환합니다. 여기에는 0개 이상의 데이터 행이 포함될 수 있으며 각 행에는 하나 이상의 열이 포함될 수 있습니다. DAO는 데이터에 액세스하기 위해 커서를 사용해야 하는 반면, RDO는 커서가 없는 결과 세트를 생성할 수 있으므로 커서보다 훨씬 적은 리소스가 필요합니다.
일부 DAO 개체, 메서드 및 속성은 Jet의 ISAM 구조와 설치 가능한 ISAM 데이터베이스를 지원하고 구현하도록 설계되었습니다. 예를 들어 Index 개체와 Seek 메서드를 사용하여 ISAM 인덱스를 관리하고 인덱스를 사용하여 행을 찾을 수 있습니다. RDO와 관계형 데이터베이스는 완전히 다른 방식으로 인덱스를 관리하므로 해당 개체와 메서드가 필요하지 않습니다.
DAO는 또한 DAO 메서드 및 속성을 통해 데이터베이스 스키마 생성, 수정, 참조 무결성(RI) 및 보안을 지원합니다. RDO는 서버 시스템에서 제공하는 도구 및 유틸리티가 이러한 기능을 완벽하게 지원할 수 있으므로 어떤 형태의 RI, 보안 또는 스키마 수정도 지원하지 않습니다.
또한 RDO를 실행하여 테이블 쿼리를 생성하거나 실행 쿼리를 수행하여 원본 SQL 문을 사용하여 데이터베이스 또는 테이블을 생성, 수정 및 삭제할 수도 있습니다. DAO에서는 불가능한 복잡한 저장 프로시저를 실행하여 데이터베이스 스키마를 관리하거나 유지 관리 작업을 수행하는 것도 가능합니다.
->