visual-foxpro Samouczek
Rozpoczęcie pracy z visual-foxpro
Szukaj…
Uwagi
Foxpro został stworzony na początku lat 80-tych (początkowo jako FoxBase - 1984?) Przez oprogramowanie Fox i obsługiwany na platformach Mac OS, Unix, DOS, Windows. Wtedy był znany jako najszybszy silnik bazy danych na PC. Później w 1992 roku został niestety przejęty przez Microsoft. Po przejęciu Microsoftu, w 1994 roku wydano Foxpro dla DOS (FPD) i Foxpro dla Windows (FPW) 2.6. Pod koniec 1995 roku Foxpro otrzymało nazwę „Visual”, a obsługa platformy była ograniczona tylko do systemu Windows. Była to również pierwsza wersja Foxpro, w której język okazał się obiektowy.
Oficjalna witryna Visual Foxpro firmy Microsoft (powszechnie nazywana po prostu VFP) opisuje ją jako:
System programowania baz danych Microsoft® Visual FoxPro® to potężne narzędzie do szybkiego tworzenia wysokowydajnych aplikacji komputerowych, bogatych klientów, klientów rozproszonych, klientów / serwerów i internetowych baz danych.
Chociaż jest to stary język, nadal uważa się go za najłatwiejszy język do szybkiego tworzenia aplikacji zorientowanej na dane na pulpicie systemu Windows. Jeśli potrzebujesz aplikacji opartej na danych dla pulpitu systemu Windows, a następnie wybierając VFP, naprawdę zrobiłbyś to łatwo i szybko.
Wersje
Wersja | Wydany |
---|---|
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 | 21.10.2007 |
Instalacja lub konfiguracja
Szczegółowe instrukcje dotyczące konfiguracji lub instalacji visual-foxpro.
Witaj świecie
We wszystkich językach tradycyjnie pierwszym przykładem jest wydrukowanie „Hello World”. Prawdopodobnie robienie tego jest najłatwiejsze w VFP:
? "Hello World"
Dodaj globalny moduł obsługi błędów
Prostym sposobem na wyłapanie nieobsługiwanych błędów (wyjątków) w aplikacji VFP jest użycie komendy ON ERROR w pobliżu początku głównego programu.
Następująca komenda ON ERROR wywołuje metodę w bieżącym programie o nazwie „errorHandler”. Wartości zwrócone przez ERROR (numer błędu VFP), MESSAGE (komunikat o błędzie VFP), PROGRAM (nazwa aktualnie wykonywanego programu) i LINENO (numer wiersza błędu) są przekazywane do metody errorHandler.
ON ERROR DO errorHandler WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
Prosta metoda errorHandler może wyglądać następująco.
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
Możesz także zmienić i przywrócić moduł obsługi błędów pomiędzy nimi. Na przykład w pewnym momencie chcesz otworzyć wszystkie tabele wyłącznie w folderze, a jeśli nie możesz, nie chcesz kontynuować:
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
Wskazówka: Czasami, szczególnie podczas debugowania, chcesz przywrócić domyślną procedurę obsługi błędów, która pozwala złamać kod i wkroczyć do kodu, w którym wystąpił błąd, a następnie w dowolnym miejscu przed wystąpieniem błędu, tymczasowo dodając:
on error
zrobiłbym to.