visual-foxproAan de slag met visual-foxpro


Opmerkingen

Foxpro werd begin jaren 80 (oorspronkelijk als FoxBase - 1984?) Gemaakt door Fox-software en ondersteund op Mac OS, Unix, DOS en Windows-platforms. Het stond toen bekend als de snelste database-engine op pc's. Later in 1992 werd het helaas overgenomen door Microsoft. Na de overname van Microsoft zijn in 1994 Foxpro voor DOS (FPD) en Foxpro voor Windows (FPW) 2.6 uitgebracht. Eind 1995 kreeg Foxpro de naam "Visual" en de platformondersteuning was alleen beperkt tot Windows. Het was ook de eerste versie van Foxpro waar de taal Object Oriented bleek te zijn.

De officiële Visual Foxpro-site van Microsoft (gewoonlijk aangeduid als alleen VFP) beschrijft het als:

Microsoft® Visual FoxPro® database-ontwikkelingssysteem is een krachtig hulpmiddel voor het snel maken van krachtige desktop-, rich client-, gedistribueerde client-, client / server- en webdatabase-applicaties.

Hoewel het een oude taal is, wordt het nog steeds beschouwd als de gemakkelijkste taal voor het snel maken van een gegevensgerichte applicatie voor het Windows-bureaublad. Als u een op gegevens gebaseerde toepassing voor Windows Desktop wilt maken, dan zou u VFP kiezen dat u echt gemakkelijk en snel zou doen.

versies

Versie Vrijgelaten
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

Global Error Handler toevoegen

Een eenvoudige manier om onverwerkte fouten (uitzonderingen) in een VFP-toepassing op te vangen, is door de opdracht ON ERROR te gebruiken bij het begin van uw hoofdprogramma.

De volgende ON ERROR-opdracht roept een methode in het huidige programma aan met de naam "errorHandler". De waarden die worden geretourneerd door ERROR (het VFP-foutnummer), MESSAGE (het VFP-foutbericht), PROGRAM (naam van het programma dat momenteel wordt uitgevoerd) en LINENO (het regelnummer van de fout) worden doorgegeven aan de methode errorHandler.

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

Een eenvoudige errorHandler-methode kan er als volgt uitzien.

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
 

U kunt ook de foutafhandelaar tussendoor wijzigen en herstellen. U wilt bijvoorbeeld op een gegeven moment alle tabellen in een map exclusief openen en als u dat niet kunt, wilt u niet doorgaan:

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
 

Tip: Soms, vooral tijdens het debuggen, wilt u de standaardfouthandler herstellen waarmee u de code kunt breken en binnengaan in de code waar de fout is opgetreden, dan ergens voordat u de fout hebt gekregen, tijdelijk toevoegen:

on error
 

zou dit doen.

Hallo Wereld

Traditioneel is in alle talen het eerste voorbeeld het afdrukken van "Hallo wereld". Waarschijnlijk is dat het gemakkelijkst in VFP:

? "Hello World"
 

Installatie of instellingen

Gedetailleerde instructies voor het installeren of installeren van visual-foxpro.