'===========================================================================
' Subject: DATA SENDER TO LPT1                Date: 09-14-97 (21:42)       
'  Author: Tommi Utriainen                    Code: QB, QBasic, PDS        
'  Origin: tomppa@pcuf.fi                   Packet: BINARY.ABC
'===========================================================================
DECLARE SUB popup (rivit%, sij%, sij2%, lteksti$(), rvari%, pvari%, tvari%, fiu%)
DEFINT A-X
CLS

OUT 888, 255

rivit = 7: sij = 0: sij2 = 9:
lteksti$(1) = "                                "
lteksti$(2) = "       TMP SoftWare Presents:       "
lteksti$(3) = "                                     "
lteksti$(4) = "    Data sender to LPT1 (0387h)"
lteksti$(5) = "                                     "
lteksti$(6) = "        Copyright 27.8.1991"
lteksti$(7) = "                                "

rvari = 1: pvari = 7: tvari = 1

fiu = 1
CALL popup(rivit%, sij%, sij2%, lteksti$(), rvari%, pvari%, tvari%, fiu)

SLEEP 1

OUT 888, 0

lteksti$(1) = "                                "
lteksti$(2) = "      Please wait a moment...        "
lteksti$(3) = "                                     "
lteksti$(4) = "      Loading data to send..."
lteksti$(5) = "                                     "
lteksti$(6) = "     (c) TMP SoftWare Co. 1991"
lteksti$(7) = "                                "
CALL popup(rivit%, sij%, sij2%, lteksti$(), rvari%, pvari%, tvari%, fiu)

LOCATE 1, 1:

COLOR 10, 0: PRINT "Sending:";

FOR t = 65 TO 122
        FOR v = 1 TO 2000: NEXT

        PRINT CHR$(t);

        OUT 888, t
        OUT 888, 0

NEXT
LOCATE 2, 1
PRINT "Testing: ";

FOR t = 0 TO 7
        FOR v = 1 TO 12000: NEXT
        OUT 888, 0
        PRINT " Bit"; t; ";";
        OUT 888, 2 ^ t
        FOR v = 1 TO 12000: NEXT
NEXT

DO
LOCATE 14, 1
INPUT "Enter Bit 0-7:", b
IF b > 7 THEN EXIT DO
OUT 888, 0
OUT 888, 2 ^ b
LOOP

CLS

PRINT "This program was made by TMP SoftWare Co. 1991"

' Ikkunan avaus 'popup' tyyliin.
SUB popup (rivit, sij, sij2, lteksti$(), rvari, pvari, tvari, fiu)
'Piirt„„ Command barin ikkunat

'CALL MouseHide

PCOPY 0, 1
SCREEN 0, 1, 1, 0



'CALL MouseHide


tek = 0
        FOR silm1 = 1 TO rivit
                FOR silm2 = 1 TO rivit
                IF LEN(lteksti$(silm2)) > tek THEN tek = LEN(lteksti$(silm2))
                NEXT
        NEXT
sij = (40 - INT(tek / 2))
sij2 = (12 - INT(rivit / 2))

LOCATE sij2, sij
COLOR rvari, pvari: PRINT "Õ";
PRINT STRING$(tek + 2, "Í");
PRINT "¸": COLOR alkup, alkup2
        FOR silm2 = 1 TO rivit
        LOCATE sij2 + silm2, sij
        PRINT ; : COLOR rvari, pvari:
        IF lteksti$(silm2) <> "" THEN PRINT "³ "; : COLOR tvari, pvari: PRINT lteksti$(silm2); : PRINT TAB(tek + sij + 2); : COLOR rvari, pvari: PRINT " ³"
        IF lteksti$(silm2) = "" THEN
                PRINT "ÃÄ"; : REM COLOR tvari, pvari:
                FOR v = 1 TO tek: PRINT "Ä"; : NEXT
                'PRINT lteksti$(silm2); : PRINT TAB(tek + sij + 2); :
                COLOR rvari, pvari: PRINT "Ä´"
        END IF
        NEXT
COLOR alkup, alkup2
LOCATE sij2 + rivit + 1, sij
COLOR rvari, pvari: PRINT "Ô";
PRINT STRING$(tek + 2, "Í");
PRINT "¾"
COLOR alkup, alkup2






FOR y% = 1 TO rivit + 1
        IF sij + tek + 4 <= 80 THEN
        x = SCREEN(sij2 + y%, sij + tek + 4):
        vari = SCREEN(sij2 + y%, sij + tek + 4, 1)
        COLOR 8, 0
        LOCATE sij2 + y%, sij + tek + 4
        PRINT CHR$(x)
        END IF
        IF sij + tek + 4 <= 80 THEN
        x = SCREEN(sij2 + y%, sij + tek + 5)
        vari = SCREEN(sij2 + y%, sij + tek + 5, 1)
        LOCATE sij2 + y%, sij + tek + 5
        COLOR 8, 0
        PRINT CHR$(x)
        END IF
NEXT

FOR varjo% = 2 TO tek + 5
        IF sij + varjo% <= 80 THEN
        x = SCREEN(sij2 + rivit + 2, sij + varjo%)
        vari = SCREEN(sij2 + rivit + 2, sij + varjo%, 1)
        COLOR 8, 0
        LOCATE sij2 + rivit + 2, sij + varjo%
        PRINT CHR$(x)
        END IF
NEXT



SCREEN 0, 1, 0, 0


laatikko3:
tek = 0
        FOR silm1 = 1 TO rivit
                FOR silm2 = 1 TO rivit
                IF LEN(lteksti$(silm2)) > tek THEN tek = LEN(lteksti$(silm2))
                NEXT
        NEXT
IF sij = 0 THEN sij = (40 - INT(tek / 2))

sij2 = (12 - INT(rivit / 2))

asij = sij: bsij = sij2: pisin = tek: arivi = rivit
ke = INT(tek / rivit)





rivit = 1: tek = 1
        r = 300
DO


        IF tek = pisin AND rivit = arivi THEN EXIT DO

        FOR s% = 1 TO ke
        IF tek < pisin THEN tek = tek + 1

        NEXT

        IF fiu = 1 THEN r = r + 50: SOUND r, 1



        IF rivit < arivi THEN rivit = rivit + 1:
         
        
sij = (40 - INT(tek / 2))
sij2 = (12 - INT(rivit / 2))

GOSUB piirtorutiini

LOOP


 

PCOPY 1, 0


'CALL MouseShow

EXIT SUB








piirtorutiini:

LOCATE sij2, sij
COLOR rvari, pvari: PRINT "Õ";
PRINT STRING$(tek + 2, "Í");
PRINT "¸": COLOR alkup, alkup2
        FOR silm2 = 1 TO rivit
        LOCATE sij2 + silm2, sij
        PRINT ; : COLOR rvari, pvari:
        IF lteksti$(silm2) <> "" THEN
                PRINT "³ "; : COLOR tvari, pvari:
                'PRINT lteksti$(silm2); :
                PRINT TAB(tek + sij + 2); :
                COLOR rvari, pvari: PRINT " ³"

        END IF
        IF lteksti$(silm2) = "" THEN
                PRINT "ÃÄ"; : REM COLOR tvari, pvari:
                FOR v = 1 TO tek: PRINT "Ä"; : NEXT
                'PRINT lteksti$(silm2); : PRINT TAB(tek + sij + 2); :
                COLOR rvari, pvari: PRINT "Ä´"
        END IF
        NEXT
COLOR alkup, alkup2
LOCATE sij2 + rivit + 1, sij
COLOR rvari, pvari: PRINT "Ô";
PRINT STRING$(tek + 2, "Í");
PRINT "¾"
COLOR alkup, alkup2

RETURN



END SUB

DEFSNG A-X
'Piirt„„ Command barin ikkunat
SUB windows (rivit, sij, sij2, lteksti$(), rvari, pvari, tvari)

'CALL MouseHide
PCOPY 0, 3
SCREEN 0, 1, 0, 3


laatikko2:
tek = 0
        FOR silm1 = 1 TO rivit
                FOR silm2 = 1 TO rivit
                IF LEN(lteksti$(silm2)) > tek THEN tek = LEN(lteksti$(silm2))
                NEXT
        NEXT
IF sij = 0 THEN sij = (40 - INT(tek / 2))

LOCATE sij2, sij
COLOR rvari, pvari: PRINT "Õ";
PRINT STRING$(tek + 2, "Í");
PRINT "¸": COLOR alkup, alkup2
        FOR silm2 = 1 TO rivit
        LOCATE sij2 + silm2, sij
        PRINT ; : COLOR rvari, pvari:
        IF lteksti$(silm2) <> "" THEN PRINT "³ "; : COLOR tvari, pvari: PRINT lteksti$(silm2); : PRINT TAB(tek + sij + 2); : COLOR rvari, pvari: PRINT " ³"
        IF lteksti$(silm2) = "" THEN
                PRINT "ÃÄ"; : REM COLOR tvari, pvari:
                FOR v = 1 TO tek: PRINT "Ä"; : NEXT
                'PRINT lteksti$(silm2); : PRINT TAB(tek + sij + 2); :
                COLOR rvari, pvari: PRINT "Ä´"
        END IF
        NEXT
COLOR alkup, alkup2
LOCATE sij2 + rivit + 1, sij
COLOR rvari, pvari: PRINT "Ô";
PRINT STRING$(tek + 2, "Í");
PRINT "¾"
COLOR alkup, alkup2






FOR y% = 1 TO rivit + 1
        IF sij + tek + 4 <= 80 THEN
        x = SCREEN(sij2 + y%, sij + tek + 4):
        vari = SCREEN(sij2 + y%, sij + tek + 4, 1)
        COLOR 8, 0
        LOCATE sij2 + y%, sij + tek + 4
        PRINT CHR$(x)
        END IF
        IF sij + tek + 4 <= 80 THEN
        x = SCREEN(sij2 + y%, sij + tek + 5)
        vari = SCREEN(sij2 + y%, sij + tek + 5, 1)
        LOCATE sij2 + y%, sij + tek + 5
        COLOR 8, 0
        PRINT CHR$(x)
        END IF
NEXT

FOR varjo% = 2 TO tek + 5
        IF sij + varjo% <= 80 THEN
        x = SCREEN(sij2 + rivit + 2, sij + varjo%)
        vari = SCREEN(sij2 + rivit + 2, sij + varjo%, 1)
        COLOR 8, 0
        LOCATE sij2 + rivit + 2, sij + varjo%
        PRINT CHR$(x)
        END IF
NEXT


SCREEN 0, 1, 0, 0

'CALL MouseShow

END SUB
