basic
pitagora – la mia prima gui
30 June 2008 | CommentsLa mia prima finestra! Il programma dice 1992, ma risale alla mia seconda/terza media prima che mi si fondesse il mio primo e unico pc. Un 8088.
'finestra FOR A = 1 TO 47: LOCATE 10, A + 17: PRINT CHR$(205): NEXT A LOCATE 10, 64: PRINT CHR$(185) LOCATE 9, 64: PRINT CHR$(186): LOCATE 8, 64: PRINT CHR$(187) FOR A = 1 TO 46: LOCATE 8, A + 17: PRINT CHR$(205): NEXT A LOCATE 8, 17: PRINT CHR$(201): LOCATE 9, 17: PRINT CHR$(186) LOCATE 10, 17: PRINT CHR$(204) FOR A = 1 TO 9: LOCATE A + 10, 17: PRINT CHR$(186): NEXT A LOCATE 20, 17: PRINT CHR$(200) FOR A = 1 TO 46: LOCATE 20, A + 17: PRINT CHR$(205): NEXT A LOCATE 20, 64: PRINT CHR$(188) FOR A = 1 TO 9: LOCATE A + 10, 64: PRINT CHR$(186): NEXT A
Pessima programmazione, ma allora non c’era internet e per dirne una non sapevo compilare i vari bas (oltre a non avere il compilatore, che costava), e non sapevo proprio a chi chiedere.
SUB PRTRIANG 'sfondo COLOR 15, 1: CLS COLOR 15, 3 'finestra FOR A = 1 TO 47: LOCATE 10, A + 17: PRINT CHR$(205): NEXT A LOCATE 10, 64: PRINT CHR$(185) LOCATE 9, 64: PRINT CHR$(186): LOCATE 8, 64: PRINT CHR$(187) FOR A = 1 TO 46: LOCATE 8, A + 17: PRINT CHR$(205): NEXT A LOCATE 8, 17: PRINT CHR$(201): LOCATE 9, 17: PRINT CHR$(186) LOCATE 10, 17: PRINT CHR$(204) FOR A = 1 TO 9: LOCATE A + 10, 17: PRINT CHR$(186): NEXT A LOCATE 20, 17: PRINT CHR$(200) FOR A = 1 TO 46: LOCATE 20, A + 17: PRINT CHR$(205): NEXT A LOCATE 20, 64: PRINT CHR$(188) FOR A = 1 TO 9: LOCATE A + 10, 64: PRINT CHR$(186): NEXT A 'presentazione LOCATE 9, 18: PRINT " PITAGORA : PRISMA CON BASE TRIANGOLARE " LOCATE 12, 18: PRINT TAB(64); LOCATE 14, 18: PRINT TAB(64); LOCATE 16, 18: PRINT TAB(64); LOCATE 18, 18: PRINT TAB(64); A$ = " 1: TRIANGOLO SCALENO " b$ = " 2: TRIANGOLO ISOSCELE " C$ = " 3: TRIANGOLO EQUILATERO " D$ = " 4: TRIANGOLO RETTANGOLO " E$ = " 5: MENU PRINCIPALE " CUR1PT: COLOR 0, 3 LOCATE 11, 18: PRINT A$ COLOR 15, 3 LOCATE 13, 18: PRINT b$ LOCATE 15, 18: PRINT C$ LOCATE 17, 18: PRINT D$ LOCATE 19, 18: PRINT E$ GOSUB SHOW1PT CUR2PT: COLOR 0, 3 LOCATE 13, 18: PRINT b$ COLOR 15, 3 LOCATE 11, 18: PRINT A$ LOCATE 15, 18: PRINT C$ GOSUB SHOW2PT: CUR3PT: COLOR 0, 3 LOCATE 15, 18: PRINT C$ COLOR 15, 3 LOCATE 13, 18: PRINT b$ LOCATE 17, 18: PRINT D$ GOSUB SHOW3PT CUR4PT: COLOR 0, 3 LOCATE 17, 18: PRINT D$ COLOR 15, 3 LOCATE 15, 18: PRINT C$ LOCATE 19, 18: PRINT E$ GOSUB SHOW4PT CUR5PT: COLOR 0, 3 LOCATE 19, 18: PRINT E$ COLOR 15, 3 LOCATE 11, 18: PRINT A$ LOCATE 17, 18: PRINT D$ GOSUB SHOW5PT SHOW1PT: DO f$ = INKEY$ LOOP UNTIL f$ <> "" SELECT CASE f$ CASE CHR$(0) + "H" GOSUB CUR5PT CASE CHR$(0) + "P" GOSUB CUR2PT CASE CHR$(27) END CASE CHR$(13) RUN "PRTscal" CASE ELSE BEEP: GOSUB CUR1PT END SELECT SHOW2PT: DO G$ = INKEY$ LOOP UNTIL G$ <> "" SELECT CASE G$ CASE CHR$(0) + "H" GOSUB CUR1PT CASE CHR$(0) + "P" GOSUB CUR3PT CASE CHR$(27) END CASE CHR$(13) RUN "PRTsosc" CASE ELSE BEEP: GOSUB CUR2PT END SELECT SHOW3PT: DO H$ = INKEY$ LOOP UNTIL H$ <> "" SELECT CASE H$ CASE CHR$(0) + "H" GOSUB CUR2PT CASE CHR$(0) + "P" GOSUB CUR4PT CASE CHR$(27) END CASE CHR$(13) RUN "PRTequi" CASE ELSE BEEP: GOSUB CUR3PT END SELECT SHOW4PT: DO I$ = INKEY$ LOOP UNTIL I$ <> "" SELECT CASE I$ CASE CHR$(0) + "H" GOSUB CUR3PT CASE CHR$(0) + "P" GOSUB CUR5PT CASE CHR$(27) END CASE CHR$(13) RUN "PRTrett" CASE ELSE BEEP: GOSUB CUR4PT END SELECT SHOW5PT: DO l$ = INKEY$ LOOP UNTIL l$ <> "" SELECT CASE l$ CASE CHR$(0) + "H" GOSUB CUR4PT CASE CHR$(0) + "P" GOSUB CUR1PT CASE CHR$(27) END CASE CHR$(13) MENU CASE ELSE BEEP: GOSUB CUR5PT END SELECT END SUB
La schermata iniziale:

ah ah ah! “La duplicazione del programma è vietata”.
MBC stava per Massimiliano Balestrieri Corporation… guardavo troppa tv.



Non so se possa rilasciare del codice basic sotto GPL… sicuramente quella “duplicazione del programma è vietata” appartiene ad un’ altra epoca, ero un bambino!
Per lanciare il programma cercare su google un qbasic.exe copiare nella directory dei sorgenti e lanciare
da dos.
QBASIC.EXE PITAGOR.BAS
Giusto per questo post ho modificato il css e il js del “delphi recipe”.
Ecco la ricetta per il basic: