1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
15000 REM ==========================
15001 REM Directory listing
15002 REM
15003 REM INPUT: DIREC$ - DIRECTORY
15004 REM WITH MASK
15004 REM OUTPUT: FL$ - FILE LIST
15005 REM LC - FILE COUNT
15006 REM ==========================
15010 SHELL "DIR "+DIREC$+" > DIR.LST"
15020 OPEN "DIR.LST" FOR INPUT AS #10
15030 REM COUNT THE FILES FIRST
15040 LC = 0
15050 WHILE(1=1)
15060 LINE INPUT#10, L$
15070 IF MID$(L$,1,1) <> " " AND MID$(L$,1,1) <> "." AND LEN(L$) > 0 THEN LC = LC + 1
15075 IF LC > 0 AND MID$(L$,1,1) = " " THEN GOTO 15090
15080 WEND
15090 CLOSE #10
15093 IF C15000 = 1 THEN ERASE FL$
15097 C15000 = 1
15100 DIM FL$(LC)
15110 OPEN "DIR.LST" FOR INPUT AS #10
15120 IC = 1
15130 WHILE(IC <= LC)
15140 LINE INPUT#10, L$
15150 IF MID$(L$,1,1) = " " OR MID$(L$,1,1) = "." OR LEN(L$) < 10 THEN GOTO 15210
15160 JC = INSTR(L$, " "):FL$(IC) = MID$(L$,1,JC-1)
15170 WHILE(MID$(L$,JC,1) = " "):JC = JC + 1:WEND
15180 IF (MID$(L$,JC,1) < "9" AND MID$(L$,JC,1) > "0") OR MID$(L$,JC,1) = "<" THEN GOTO 15200
15190 KC = INSTR(JC, L$, " "):FL$(IC) = FL$(IC) + "." + MID$(L$,JC,KC-JC)
15200 IC = IC + 1
15210 WEND
15220 CLOSE #10
15230 SHELL "DEL DIR.LST"
15240 RETURN
15500 REM ==============================
15501 REM Retrieve the current directory
15502 REM OUTPUT - CURDIR$ Current dir
15503 REM ==============================
15510 SHELL "CD > DIR.LST"
15520 OPEN "DIR.LST" FOR INPUT AS #10
15530 LINE INPUT#10, CURDIR$
15540 CLOSE #10
15550 SHELL "DEL DIR.LST"
15560 RETURN
|