BBS: Inland Empire Archive Date: 12-01-92 (05:19) Number: 344 From: JERRY ALDRICH Refer#: NONE To: ALL Recvd: NO Subj: GETTREE.BAS 2/2 Conf: (2) Quik_Bas
---------------------- CONTINUED FROM LAST MESSAGE ----------------------
SUB ShowTree
CLS : S = 1: Top = 1: IF DCnt < 22 THEN Max = DCnt - 1 ELSE Max = 22
Refresh:
OldN = 0: N = 0
FOR I = Top TO Top + Max
P$ = Path$(I): N = 0: P = 0
DO
W = INSTR(W + 1, P$, "\"): IF W THEN P = W: N = N + 1
LOOP WHILE W
P2$ = Path$(I + 1): N2 = 0: P2 = 0
DO
W = INSTR(W + 1, P2$, "\"): IF W THEN P2 = W: N2 = N2 + 1
LOOP WHILE W
Nof$ = LEFT$(RIGHT$(P$, LEN(P$) - P) + SPACE$(20), 20)
IF INSTR(Nof$, ":") THEN
LOCATE I, S: PRINT LEFT$("\" + SPACE$(20), 20)
ELSE
T$ = "": FOR J = 1 TO N - 1: T$ = "³ " + T$: NEXT
IF N2 < N THEN T$ = T$ + "À" ELSE T$ = T$ + "Ã"
LOCATE I - Top + 1, S: PRINT T$ + "ÄÄ";
PRINT Nof$
END IF
NEXT
DO: K$ = INKEY$: LOOP UNTIL LEN(K$)
IF LEN(K$) = 1 THEN K = ASC(K$) ELSE K = -ASC(RIGHT$(K$, 1))
SELECT CASE K
CASE 27
CLS : EXIT SUB
CASE -80
Top = Top + 1
CASE -72
Top = Top - 1
CASE -73
Top = Top - 19
CASE -81
Top = Top + 19
END SELECT
IF Top < 1 THEN Top = 1
IF Top + Max > DCnt THEN Top = DCnt - Max
GOTO Refresh
END SUB
------------------------------- CUT HERE --------------------------------
This Sub is to display the directory tree created by the previous sub.
It ain't much, but it works.
Any suggestions or comments about improving the speed would be greatly
appreciated!
Have fun with it!
Jerry Aldrich
--- Renegade v8-27 Beta
* Origin: The Bumpkinland BBS - "Home of BLand Software" (1:296/3)

Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET