![]() Tato utilitka vam vypise rozne zaujimave informacie o subore. Vsetky informacie su prevzate z adresarovej polozky daneho suboru. Zaujimavostou tejto utilitky je to ze je cela napisana v basicu bez pouzitia strojaku. Velmi pekne demostruje pouzitie basicoveho rozhrania pre ovladanie dosu a moznosti upravenej BS romky. |
Vypis basicu utilitky vyzera nejak takto:
10 | REM 13.03.1993 Busy soft |
20 | LET s=1 |
30 | POKE 23693,56: BORDER 6 |
40 | CLS : IF FN ?<288 THEN PRINT "S touto verziou dosu nefungujem!": STOP |
50 | `%ff55 |
60 | LET n=FN #: LET m$=FN * |
70 | IF NOT LEN m$ THEN PRINT "System error 16": STOP |
80 | PRINT "Busy soft: >File-info utilitka<" |
90 | PRINT "Disk:";FN @'"Meno:";m$(7 TO 16);" ";m$(17 TO 32) |
100 | `0: LET m$=FN * |
110 | PRINT "Adresar:";FN $;" Pocet suborov:";n |
120 | IF NOT LEN m$ THEN PRINT "Tento adresar je prazdny.": STOP |
130 | PRINT "Meno:";m$(7 TO 16);" ";m$(17 TO 32) |
140 | PRINT "Ovladacie klapky:HORE,DOLE,ENTER" |
150 | PRINT '"Cislo suboru:";s |
160 | `s: LET m$=FN * |
170 | IF NOT LEN m$ THEN PRINT "[cislo suboru je mimo adresara]": GO TO 330 |
180 | IF NOT CODE m$ THEN PRINT "[Prazdna adresarova polozka]": GO TO 330 |
190 | FOR m=7 TO 16: IF CODE m$(m)<CODE " " THEN LET m$(m)="" |
200 | NEXT m: POKE %5b00,m$ |
210 | LET t=CODE m$(6) |
220 | PRINT '"Hlavicka..." |
230 | PRINT " Typ:";t;" ";"basic" AND t=0;"pole" AND (t=1 OR t=2);"bytes" AND t=3;"bez_hlavicky" AND t=4 |
240 | PRINT " Meno:";m$(7 TO 16) |
250 | PRINT " Dlzka:";VAL %5b10 |
260 | PRINT " Adresa:";VAL %5b12 |
270 | PRINT " Dlz.bas:";VAL %5b14 |
280 | PRINT '"Telo..." |
290 | PRINT " Adresa:";VAL %5b16 |
300 | PRINT " Dlzka:";VAL %5b18+65536*VAL %5b1a |
310 | PRINT " Flag:";CODE m$(29) |
320 | PRINT " Atributy:";CODE m$(30) |
330 | PRINT #0;AT 1,0;s;" ";: PAUSE : LET z$=INKEY$: BEEP .01,20 |
340 | IF CODE z$=11 THEN LET s=s-1: IF s<1 THEN LET s=n+1 |
350 | IF CODE z$=10 THEN LET s=s+1: IF s>n+1 THEN LET s=1 |
360 | IF CODE z$=13 THEN INPUT "Cislo suboru:";s: GO TO 30 |
370 | IF NOT LEN INKEY$ THEN GO TO 30 |
380 | LET z$=INKEY$ |
390 | PRINT #0;AT 1,0;s;" "; |
400 | LET z$=INKEY$: BEEP .001,40: PAUSE PI: GO TO 340 |
410 | GO TO 30 |