수색…


비고

Foxpro는 폭스 소프트웨어에 의해 80 년대 초 (원래 FoxBase - 1984?)에 만들어졌으며 Mac OS, Unix, DOS, Windows 플랫폼에서 지원되었습니다. PC에서 가장 빠른 데이터베이스 엔진으로 알려졌습니다. 1992 년 후반, 불행히도 Microsoft에 인수되었습니다. Microsoft가 인수 한 후 1994 년에 DOS 용 FPD (FPD)와 Windows 용 Foxpro (FPW) 2.6이 발표되었습니다. 1995 년 말 Foxpro는 "Visual"이라는 이름을 얻었으며 플랫폼 지원은 Windows에만 국한되었습니다. 또한 Foxpro의 첫 번째 버전으로 언어가 Object Oriented로 밝혀졌습니다.

Microsoft의 공식 Visual Foxpro (일반적으로 VFP라고도 함) 사이트에서는 다음과 같이 설명합니다.

Microsoft® Visual FoxPro® 데이터베이스 개발 시스템은 고성능 데스크톱, 리치 클라이언트, 분산 클라이언트, 클라이언트 / 서버 및 웹 데이터베이스 응용 프로그램을 신속하게 만들 수있는 강력한 도구입니다.

오래된 언어이지만, Windows 바탕 화면에 데이터 중심 응용 프로그램을 빠르게 작성하는 가장 쉬운 언어로 간주됩니다. 필요한 경우 Windows 데스크톱 용 데이터 기반 응용 프로그램을 만든 다음 VFP를 선택하면 실제로 쉽고 빠르게 수행 할 수 있습니다.

버전

번역 출시 됨
FPW 2.6a 1994-10-28
Visual Foxpro 3.0 1995-12-16
Visual Foxpro 5.0 1997-01-24
Visual Foxpro 6.0 2000-08-18
Visual Foxpro 7.0 2002-01-04
Visual Foxpro 8.0 2003-10-25
Visual Foxpro 9.0 2004-12-13
Visual Foxpro 9.0 SP2 2007-10-21

설치 또는 설정

visual-foxpro 설치 또는 설치에 대한 자세한 지침.

안녕하세요 세계

전통적으로 모든 언어에서 첫 번째 예제는 "Hello World"를 인쇄하는 것입니다. VFP에서이 작업을 수행하는 것이 가장 쉽습니다.

? "Hello World"

전역 오류 처리기 추가

VFP 응용 프로그램에서 처리되지 않은 오류 (예외)를 catch하는 간단한 방법은 주 프로그램 시작 부분에있는 ON ERROR 명령을 사용하는 것입니다.

다음 ON ERROR 명령은 "errorHandler"라는 현재 프로그램의 메서드를 호출합니다. ERROR (VFP 오류 번호), MESSAGE (VFP 오류 메시지), PROGRAM (현재 실행중인 프로그램의 이름) 및 LINENO (오류의 줄 번호)에 의해 반환 된 값은 errorHandler 메서드에 전달됩니다.

ON ERROR DO errorHandler WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()

간단한 errorHandler 메쏘드는 다음과 같이 보일 것입니다.

PROCEDURE errorHandler
    LPARAMETERS tnVFPErrorNumber, tcVFPErrorMessage, tcProcWithError, tnLineNumber

    STORE 'Error message: ' + tcVFPErrorMessage + CHR(13) + ;
        'Error number: ' + TRANSFORM(tnVFPErrorNumber) + CHR(13) + ;
        'Procedure with error: ' + tcProcWithError + CHR(13) + ;
        'Line number of error: ' + TRANSFORM(tnLineNumber) TO lcDetails

    MESSAGEBOX(lcDetails, 16, "Unhandled Exception")

    ON ERROR *
    ON SHUTDOWN
    CLEAR EVENTS

    QUIT
ENDPROC

또한 사이에 오류 처리기를 변경하고 복원 할 수 있습니다. 예를 들어, 한 지점에서 폴더의 모든 테이블을 독점적으로 열고 싶지 않은 경우 계속하려면 다음과 같이하십시오.

procedure DoSomethingWithExclusiveLock(tcFolder)
local lcOldError, llInUse, ix && by default these variables have a value of .F.
lcError = on('error') && save current handler
on error llInUse = .T.  && new handler
local array laTables[1]  
for ix=1 to adir(laTables, addbs(m.tcFolder) + '*.dbf'))
   use (addbs(m.tcFolder)+laTables[m.ix,1]) in 0 exclusive
endfor
on error &lcError && restore old handler
if m.llInUse && couldn't get exclusive lock on all tables
   close databases all
   return
endif
* do whatever
endproc

팁 : 때때로 디버깅 중에 특히 오류가 발생한 코드를 중단 한 다음 오류가 발생한 곳의 어느 곳 으로든 임시로 추가 할 수있는 기본 오류 처리기를 복원해야하는 경우가 있습니다.

on error

이걸 할거야.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow