'=========================================================================== ' 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