Tarkastaja on QB- ohjelma, jonka voi laittaa vaikkapa käynnistymään koneen kanssa. Tarkastaja pyytää asemaa ja tarkastaa onko kaikki kyseisessä asemassa kunnossa.
Pääohjelma
DECLARE SUB ErrorMessage (Message$)
DECLARE SUB WriteBigFile (Filenum%)
ON ERROR GOTO ErrHandler
CLS
PRINT "- TEST PROGRAM -"
PRINT
DO
DRIVE1:
    INPUT "DRIVE"; DR$
PRINT "LOADING..."
DR$ = UCASE$(DR$)
LOOP UNTIL LEN(DR$) >= 1 AND LEN(DR$) <= 2 AND DR$ >= "A" AND DR$ <= "Z"
IF LEN(DR$) > 1 THEN
    IF RIGHT$(DR$, 1) <> ":" THEN
        DR$ = LEFT$(DR$, 1) + ":"
    END IF
ELSE
    DR$ = DR$ + ":"
CLS
PRINT "LOADING..."
END IF
FileSpec$ = DR$ + "BIGFILE.XXX"
Filenum% = FREEFILE
OPEN FileSpec$ FOR OUTPUT AS Filenum%
WriteBigFile Filenum%
CLOSE Filenum%
CLS
PRINT "--- TEST READY ---"
PRINT "DRIVE " + DR$ + " TESTED"
PRINT "NO PROBLEMS"
KILL FileSpec$
SYSTEM
ErrHandler:
SELECT CASE ERR
    CASE 52  'Bad file name or number.
        ErrorMessage "BAD FILE NAME OR NUMBER"
        END
    CASE 53  'File not found.
        ErrorMessage "FILE NOT FOUND"
    CASE 57  'Device I/O error.
        ErrorMessage "FORMAT DISK"
        END
    CASE 64  'Bad File Name.
        ErrorMessage "WRONG DRIVE NAME"
        END
    CASE 68  'Device unavailable.
        ErrorMessage "DEVICE NOT FOUND"
        END
    CASE 71  'Drive not ready.
        ErrorMessage "DRIVE NOT READY"
        END
    CASE ELSE
        ErrorMessage "ERROR: STOP ALL PROGRAMS, THEN START THIS PROGRAM AGAIN"
        STOP
END SELECTAliohjelma 1
SUB ErrorMessage (Message$)
    ON LOCAL ERROR GOTO MessageError
    CLS
    PRINT Message$
    PRINT "-----------------------"
    PRINT
    PRINT "PRESS ANY KEY TO EXIT"
    DO
    LOOP WHILE INKEY$ = ""
    EXIT SUB
MessageError:
    RESUME NEXT
END SUBAliohjelma 2
SUB WriteBigFile (Filenum%)
    ON LOCAL ERROR GOTO LocalHandler
    TEXT$ = STRING$(1024, "A")
    FOR I% = 1 TO 400
        PRINT #Filenum%, TEXT$
    NEXT I%
    EXIT SUB
LocalHandler:
    SELECT CASE ERR
        CASE 61             'Disk full.
            ErrorMessage ("DISK " + DR$ + " FULL")
            KILL "BIGFILE.XXX"
            END
        CASE ELSE
            ERROR ERR
    END SELECT
END SUBVaikuttaa ihan hyvältä. Jonkinlaista automatiikkaa kaivattaisiin, kuten aseman määrittely komentoriviparametreilla jolloin ne voisi määrittää käynnistystiedostoon eikä tarvittaisi inputtia. Tietenkin vain mikäli käytetään käännettyä ohjelmaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.