home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
RUN Flagazine: Run 12
/
run12.zip
/
DEMPIXQB.BAS
< prev
next >
Wrap
BASIC Source File
|
1994-03-12
|
7KB
|
278 lines
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'Program: DEMPIX.BAS (QBasic 4.5) Runnen gaat alléén met: QB /L
'Functie: Het maken van letters in elke richting met QBasic.
'DWE voor RUN in het AD en/of SUPERLINER van KIJK (Maart 1994)
'Minimale systeemeisen VGA en kleur. [FREEWARE]
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DEFINT A-Z
DIM A(18)
TOP$ = "DWE-PRODUCTIONS - MAATWERK in SOFTWARE - TEL: 010-4585805"
E$ = CHR$(27)
GOSUB TEKST
SCREEN 12
Y1 = 0: Y2 = 680
FOR I = 1 TO 10
X1 = 2 + 63 * I
X2 = X1 - 63
LINE (X1, Y1)-(X2, Y2), I, BF
NEXT
FOR I = 1 TO 10
READ X, y, X$: co = 15
GOSUB HOOG
NEXT I
X = 10: y = 470: co = 14
X$ = TOP$
GOSUB VERTIKAAL
X = 30: X$ = "FreeWare"
GOSUB VERTIKAAL
WHILE INKEY$ <> E$: WEND: CLS
Y1 = 100: Y2 = 380
FOR I = 1 TO 7
X1 = 37 + 63 * I
X2 = X1 + 63
LINE (X1, Y1)-(X2, Y2), I, BF
NEXT
LOCATE 8, 15: COLOR 7
PRINT " Normale schrijfwijze (Achtergrondkleur is weg!) "
READ X, y, co, X$
GOSUB NORMAAL
X = 180: y = 200: co = 0: X$ = "3D - SUPERLINER voor KIJK en/of RUN"
GOSUB NORMAAL: ' De tekst in het zwart voor de SHADUW !!!
X = X - 2: y = y + 2: co = 14: ' En de kleur van 3D (Geel) 2 pixels verzet
GOSUB NORMAAL
X = 170: y = 270: co = 0
X$ = LEFT$(TOP$, 38)
GOSUB NORMAAL
X = X - 1: y = y + 1: co = 14
GOSUB NORMAAL
READ X, y, co, X$
GOSUB VERTIKAAL
READ X, y, co, X$
GOSUB KLEIN
READ X, y, co, X$
GOSUB CURSIEF
X = 450: y = 220: co = 0
X$ = "HOGE TEKST"
GOSUB HOOG
X = 350: y = 250: co = 9
X$ = "BREDE TEKST"
GOSUB BREED
X = 500: y = 450: co = 13
X$ = "VOLGENDE = <ESC>"
GOSUB KLEIN
WHILE INKEY$ <> E$: WEND
CLS :
Y1 = 100: Y2 = 380
FOR I = 1 TO 7
X1 = 37 + 63 * I
X2 = X1 + 63
LINE (X1, Y1)-(X2, Y2), I, BF
NEXT
READ X, y, co, X$
GOSUB KLEIN
READ X, y, co, X$
GOSUB KLEIN
READ X, y, co, X$
GOSUB HOOG
READ X, y, co, X$
GOSUB KLEIN
READ X, y, co, X$
GOSUB CURSIEF
X = 170: y = 300: co = 0
X$ = LEFT$(TOP$, 38)
GOSUB NORMAAL
X = X - 1: y = y + 1: co = 14
GOSUB NORMAAL
X = 165: y = 330: co = 0: ' Deze tekst is 3-Dimensi-
X$ = "TEL: 010-458.58.05 - FAX: 010-442.26.73": ' onaal door een verschuiving
GOSUB NORMAAL: ' van slechts 1 pixel op
X = X - 1: y = y + 1: co = 11: ' <--- deze regel.
GOSUB NORMAAL
X = 110: y = 360: co = 14
X$ = "RUN / KIJK"
GOSUB VERTIKAAL
X = 500: y = 450: co = 14
X$ = "EIND = <ESC>"
GOSUB KLEIN
WHILE INKEY$ <> E$: WEND: GOTO EIND
'Laden van de Assembler-routine
'en berekenen FONT-Adressen
TEKST:
SE = VARSEG(A(0)): DEF SEG = SE
FOR I = 4 TO 35
READ X
POKE I, X
NEXT I
'------------------------------ DATABLOK ------------------------------------
DATA 80,83,81,82,6,85,87,191,0,0,184,48,17,183,2,205,16
DATA 46,140,5,46,137,109,2,95,93,7,90,89,91,88,203
DATA 65,50,"DEMPIX.BAS geeft u grote hulp bij het maken van grafieken"
DATA 65,80,"die u van teksten wilt voorzien, bijvoorbeeld vertikaal maar,"
DATA 65,110,"ook met behoud van de achtergrondkleur!"
DATA 65,170,"Omdat u daarvoor een 'PIXEL_GEWIJZE' positionering nodig heeft."
DATA 65,200,"Dit programma biedt u de oplossing. Maar nog veel meer....."
DATA 65,260,"DEMPIX.BAS geeft u de beschikking van vrije keuze in kleur en"
DATA 65,290,"lettertype_keuze in VGA-MODE."
DATA 65,350,"Aan u dus de keus; VERTIKAAL, HORIZONTAAL, CURSIEF of 3D."
DATA 65,380,"Veel plezier ermee, D.Wim Engelfriet"
DATA 450,400,"Vervolg=<ESC>"
DATA 200,170,11,"Horizontale tekst (8x14-pixels)"
DATA 110,360,12,"Vertikale tekst (8x14pixels)"
DATA 200,360,15,"Horizontale tekst (8x8pixels)"
DATA 200,300,15,"Cursief gedrukte letters"
DATA 120,110,14,"Om leuke effecten te krijgen moet u nog wel even"
DATA 120,130,14,"oefenen met de mogelijkheden."
DATA 120,170,15,"Nieuwe toepassingen lees ik graag in: KIJK en/of RUN"
DATA 105,220,11,"Dit in antwoord op de vraag over functies in KIJK 4/94"
DATA 130,250,14,"Ben benieuwd naar wat ik nog meer te zien krijg!"
'--------------------------- EIND DATABLOK ----------------------------------
POKE 18, 2: CALL ABSOLUTE(4)
SEN = A(0): OFN = A(1)
POKE 18, 3: CALL ABSOLUTE(4)
SEK = A(0): OFK = A(1)
RETURN
' FONTS 8x14 HORIZONTAAL
NORMAAL:
DEF SEG = SEN
l = LEN(X$)
FOR TEKEN = 1 TO l
X1 = ASC(MID$(X$, TEKEN, 1))
AD = OFN + 14 * X1
X0 = X + 8 * (TEKEN - 1)
FOR VE = 0 TO 13
Z = PEEK(AD + VE)
FOR HO = 0 TO 7
IF (Z AND 2 ^ HO) > 0 THEN PSET (X0 + 7 - HO, y + VE), co
NEXT HO
NEXT VE
NEXT TEKEN
RETURN
' FONTS 8x14 VERTIKAAL
VERTIKAAL:
DEF SEG = SEN
l = LEN(X$)
FOR TEKEN = 1 TO l
X1 = ASC(MID$(X$, TEKEN, 1))
AD = OFN + 14 * X1
Y0 = y - 8 * (TEKEN - 1)
FOR VE = 0 TO 13
Z = PEEK(AD + VE)
FOR HO = 0 TO 7
IF (Z AND 2 ^ HO) > 0 THEN PSET (X + VE, Y0 + HO - 7), co
NEXT HO
NEXT VE
NEXT TEKEN
RETURN
'FONTS 8x14 CURSIEF
CURSIEF:
DEF SEG = SEN
l = LEN(X$)
FOR TEKEN = 1 TO l
X1 = ASC(MID$(X$, TEKEN, 1))
AD = OFN + 14 * X1
X0 = X + 8 * (TEKEN - 1)
FOR VE = 0 TO 13
Z = PEEK(AD + VE)
FOR HO = 0 TO 7
IF (Z AND 2 ^ HO) > 0 THEN PSET (X0 + 13 - VE - HO, y + VE), co
NEXT HO
NEXT VE
NEXT TEKEN
RETURN
'FONTS 8x28 HOOG
HOOG:
DEF SEG = SEN
l = LEN(X$)
FOR TEKEN = 1 TO l
X1 = ASC(MID$(X$, TEKEN, 1))
AD = OFN + 14 * X1
X0 = X + 8 * (TEKEN - 1)
FOR VE = 0 TO 13
Z = PEEK(AD + VE)
FOR HO = 0 TO 7
IF (Z AND 2 ^ HO) = 0 THEN GOTO N1
LINE (X0 + 7 - HO, y + 2 * VE)-(X0 + 7 - HO, y + 2 * VE - 1), co
N1:
NEXT HO
NEXT VE
NEXT TEKEN
RETURN
'FONTS 16x14 BREED
BREED:
DEF SEG = SEN
l = LEN(X$)
FOR TEKEN = 1 TO l
X1 = ASC(MID$(X$, TEKEN, 1))
AD = OFN + 14 * X1
X0 = X + 16 * (TEKEN - 1)
FOR VE = 0 TO 13
Z = PEEK(AD + VE)
FOR HO = 0 TO 7
IF (Z AND 2 ^ HO) = 0 THEN GOTO N2
LINE (X0 + 14 - 2 * HO, y + VE)-(X0 + 14 - 2 * HO + 1, y + VE), co
N2:
NEXT HO
NEXT VE
NEXT TEKEN
RETURN
'FONTS 8x8 KLEIN
KLEIN:
DEF SEG = SEK
l = LEN(X$)
FOR TEKEN = 1 TO l
X1 = ASC(MID$(X$, TEKEN, 1))
AD = OFK + 8 * X1
X0 = X + 8 * (TEKEN - 1)
FOR VE = 0 TO 7
Z = PEEK(AD + VE)
FOR HO = 0 TO 7
IF (Z AND 2 ^ HO) > 0 THEN PSET (X0 + 7 - HO, y + VE), co
NEXT HO
NEXT VE
NEXT TEKEN
RETURN
'Einde program
EIND:
SCREEN 0
COLOR 7, 0
END