home *** CD-ROM | disk | FTP | other *** search
- DECLARE SUB getgraf (mode!)
- DECLARE FUNCTION bestvideo! ()
- '* ------------------------------------------------------- *
- '* GETVIDEO.BAS *
- '* ermittelt die Konfiguration der Grafikkarte *
- '* (c) 1990 Kay Glahn & TOOLBOX *
- '* ------------------------------------------------------- *
- TYPE video
- maxx AS INTEGER
- maxy AS INTEGER
- maxh AS INTEGER
- maxv AS INTEGER
- maxcolor AS INTEGER
- END TYPE
- DIM graf AS video
-
- '* ------------------------------------------------------- *
- '* Demoprogramm *
- best = bestvideo
- CLS
- IF best = 0 THEN
- LOCATE 4, 15
- PRINT "╔══════════════════════════════════════════════╗"
- LOCATE 5, 15
- PRINT "║ Leider kein grafikfähiger Bildschirmadapter ║"
- LOCATE 6, 15
- PRINT "║ vorhanden !! ║"
- LOCATE 7, 15
- PRINT "╚══════════════════════════════════════════════╝ "
- WHILE INKEY$ = "": WEND
- CLS
- END
- END IF
- SCREEN best
- CALL getgraf(best)
- spalte = INT(graf.maxh / 4)
- zeile = INT(graf.maxv / 4)
- LOCATE zeile, spalte
- PRINT "Ermittlung der Grafikkarten-Konfiguration"
- LOCATE zeile + 2, spalte
- PRINT "Bestmöglicher Grafikmodus : "; best
- LOCATE zeile + 3, spalte
- PRINT "Horizontale Grafikauflösung : "; graf.maxx
- LOCATE zeile + 4, spalte
- PRINT "Vertikale Grafikauflösung : "; graf.maxy
- LOCATE zeile + 5, spalte
- PRINT "Horizontale Textauflösung : "; graf.maxh
- LOCATE zeile + 6, spalte
- PRINT "Vertikale Textauflösung : "; graf.maxv
- LOCATE zeile + 7, spalte
- PRINT "Anzahl der Farben : "; graf.maxcolor
- breite = graf.maxx / graf.maxh
- hoehe = graf.maxy / graf.maxv
- spalte = graf.maxx / 4 - 2 * breite
- zeile = graf.maxy / 4 - 2 * hoehe
- LINE (spalte, zeile)-STEP(breite * 43, hoehe * 9), , B
- LINE (spalte - 3, zeile - 2)-STEP(breite * 43 + 6, hoehe * 9 + 4), , B
- LINE (spalte, zeile + hoehe * 2.3)-(spalte + breite * 43, zeile + hoehe * 2.3)
- PAINT (1, 1)
- WHILE INKEY$ = "": WEND
- CLS
- END
-
- '* ------------------------------------------------------- *
- '* Rotinen zur Fehlerbehandlung *
- Videoerr:
- SELECT CASE bestmode
- CASE 12 'VGA
- bestmode = 11 'MCGA
- CASE 11 'MCGA
- bestmode = 9 'EGA256
- CASE 9 'EGA256
- bestmode = 10 'MONO
- CASE 10 'MONO
- bestmode = 2 'CGA
- CASE 2 'CGA
- bestmode = 3 'HERC
- CASE ELSE
- bestmode = 0 'KEINE
- END SELECT
- RESUME
- EGAErr:
- bestmode = 8 'EGA64
- RESUME NEXT
-
-
- '* ------------------------------------------------------- *
- '* ermittlung des besten Grafikmodus *
- FUNCTION bestvideo
- SHARED bestmode
- bestmode = 12 'VGA
- ON ERROR GOTO Videoerr
- IF bestmode = 0 THEN
- SCREEN 0
- WIDTH 80, 25
- bestvideo = bestmode
- EXIT FUNCTION
- END IF
- SCREEN bestmode
- ON ERROR GOTO EGAErr
- IF bestmode = 9 THEN SCREEN 8, , 1
- ON ERROR GOTO 0
- SCREEN 0, , 0
- WIDTH 80, 25
- bestvideo = bestmode
- END FUNCTION
-
- '* ------------------------------------------------------- *
- '* ermittlung der Auflösung und der Anzahl der Farben *
- SUB getgraf (mode)
- SHARED graf AS video
- SELECT CASE mode
- CASE 1
- graf.maxx = 320
- graf.maxy = 200
- graf.maxh = 40
- graf.maxv = 25
- graf.maxcolor = 4
- CASE 2
- graf.maxx = 640
- graf.maxy = 200
- graf.maxh = 80
- graf.maxv = 25
- graf.maxcolor = 2
- CASE 3
- graf.maxx = 720
- graf.maxy = 348
- graf.maxh = 80
- graf.maxv = 25
- graf.maxcolor = 2
- CASE 4
- graf.maxx = 640
- graf.maxy = 400
- graf.maxh = 80
- graf.maxv = 25
- graf.maxcolor = 1
- CASE 7
- graf.maxx = 320
- graf.maxy = 200
- graf.maxh = 40
- graf.maxv = 25
- graf.maxcolor = 16
- CASE 8
- graf.maxx = 640
- graf.maxy = 200
- graf.maxh = 80
- graf.maxv = 25
- graf.maxcolor = 16
- CASE 9
- graf.maxx = 640
- graf.maxy = 350
- graf.maxh = 80
- graf.maxv = 25
- graf.maxcolor = 16
- CASE 10
- graf.maxx = 640
- graf.maxy = 350
- graf.maxh = 80
- graf.maxv = 25
- graf.maxcolor = 2
- CASE 11
- graf.maxx = 640
- graf.maxy = 480
- graf.maxh = 80
- graf.maxv = 30
- graf.maxcolor = 2
- CASE 12
- graf.maxx = 640
- graf.maxy = 480
- graf.maxh = 80
- graf.maxv = 30
- graf.maxcolor = 16
- CASE 13
- graf.maxx = 320
- graf.maxy = 200
- graf.maxh = 40
- graf.maxv = 25
- graf.maxcolor = 256
- CASE ELSE
- END SELECT
- END SUB
- '* ------------------------------------------------------- *
- '* Ende von GETVIDEO.BAS *
-