<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://pickwiki.org/index.php?action=history&amp;feed=atom&amp;title=BROWSE.FOR.FILE</id>
	<title>BROWSE.FOR.FILE - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pickwiki.org/index.php?action=history&amp;feed=atom&amp;title=BROWSE.FOR.FILE"/>
	<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=BROWSE.FOR.FILE&amp;action=history"/>
	<updated>2026-04-29T01:01:04Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://pickwiki.org/index.php?title=BROWSE.FOR.FILE&amp;diff=1584&amp;oldid=prev</id>
		<title>Conversion script: link fix</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=BROWSE.FOR.FILE&amp;diff=1584&amp;oldid=prev"/>
		<updated>2015-02-26T23:48:53Z</updated>

		<summary type="html">&lt;p&gt;link fix&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;PRE&amp;gt;&lt;br /&gt;
SUBROUTINE BROWSE.FOR.FILE(START.POINT,END.POINT,ERROR)&lt;br /&gt;
* 03 May 2012 Will Johnson&lt;br /&gt;
* Writen for Universe 10.3 on Windows 7&lt;br /&gt;
*&lt;br /&gt;
* Browse up and down through DOS tree until file is found or error&lt;br /&gt;
* If START.POINT is sent as empty, DOS automatically uses current dir&lt;br /&gt;
*&lt;br /&gt;
      EQUATE FALSE TO 0, TRUE TO 1&lt;br /&gt;
      EXIT.ROUTINE = FALSE ; WORKING.DIR = START.POINT&lt;br /&gt;
      LOOP&lt;br /&gt;
         CMD = &amp;quot;DOS [[/C]] DIR &amp;quot;:WORKING.DIR&lt;br /&gt;
         DISPLAY CMD ; EXECUTE CMD,OUT. &amp;gt; O.CMD&lt;br /&gt;
         SELECTV O.CMD TO L.CMD&lt;br /&gt;
         GOSUB DISPLAY.RESULTS&lt;br /&gt;
         GOSUB GET.CMD&lt;br /&gt;
         IF DIRTABLE&amp;lt;CMD,2&amp;gt; # &amp;quot;&amp;lt;DIR&amp;gt;&amp;quot; THEN&lt;br /&gt;
            END.POINT = WORKING.DIR:&amp;quot;\&amp;quot;:DIRTABLE&amp;lt;CMD,3&amp;gt;&lt;br /&gt;
            DISPLAY &amp;quot;RETURNING &amp;#039;&amp;quot;:END.POINT:&amp;quot;&amp;#039;&amp;quot;&lt;br /&gt;
            EXIT.ROUTINE = TRUE&lt;br /&gt;
         END&lt;br /&gt;
      UNTIL EXIT.ROUTINE DO&lt;br /&gt;
         DISPLAY &amp;quot;CHOSEN DIRECTORY &amp;#039;&amp;quot;:DIRTABLE&amp;lt;CMD&amp;gt;:&amp;quot;&amp;#039;&amp;quot;&lt;br /&gt;
         IF LEN(WORKING.DIR) # 3 THEN WORKING.DIR := &amp;quot;\&amp;quot;&lt;br /&gt;
         WORKING.DIR := DIRTABLE&amp;lt;CMD,3&amp;gt;&lt;br /&gt;
         DISPLAY &amp;quot;MOVING TO &amp;#039;&amp;quot;:WORKING.DIR:&amp;quot;&amp;#039;&amp;quot;&lt;br /&gt;
      REPEAT&lt;br /&gt;
      RETURN&lt;br /&gt;
*&lt;br /&gt;
DISPLAY.RESULTS:&lt;br /&gt;
      DONE = FALSE ; LINE.CNT = 0 ; FILE.CNT = 0 ; DIRTABLE = &amp;#039;&amp;#039;&lt;br /&gt;
      LOOP&lt;br /&gt;
         READNEXT LINE FROM L.CMD ELSE DONE = TRUE&lt;br /&gt;
      UNTIL DONE DO&lt;br /&gt;
         FIRST.WORD = FIELD(LINE,&amp;#039; &amp;#039;,1)&lt;br /&gt;
         FOURTH.WORD = FIELD(TRIM(LINE),&amp;#039; &amp;#039;,4)&lt;br /&gt;
         REST.OF.LINE = TRIM(LINE)[COL2()+1,LEN(LINE)]&lt;br /&gt;
         I.DATE = ICONV(FIRST.WORD,&amp;#039;D&amp;#039;)&lt;br /&gt;
*&lt;br /&gt;
* Always reset the working DIR to the DIR we&amp;#039;re looking at&lt;br /&gt;
* NOT(STATUS()) means the above ICONV found a valid date&lt;br /&gt;
         IF STATUS() THEN&lt;br /&gt;
            LINE.CNT += 1 ; PRINT LINE.CNT:&amp;#039; &amp;#039;:LINE&lt;br /&gt;
            DIRECTORY.TEXT = &amp;quot;Directory of&amp;quot;&lt;br /&gt;
            L.DT = LEN(DIRECTORY.TEXT)&lt;br /&gt;
            IF TRIM(LINE)[1,L.DT] = DIRECTORY.TEXT THEN&lt;br /&gt;
               WORKING.DIR = TRIM(LINE)[L.DT+2,LEN(LINE)]&lt;br /&gt;
               DISPLAY &amp;quot;WORKING.DIR reset to &amp;#039;&amp;quot;:WORKING.DIR:&amp;quot;&amp;#039;&amp;quot;&lt;br /&gt;
            END&lt;br /&gt;
         END ELSE&lt;br /&gt;
            NEW.DATE = OCONV(I.DATE,&amp;quot;D4-&amp;quot;)&lt;br /&gt;
            FILE.CNT += 1&lt;br /&gt;
            PRINT FILE.CNT:&amp;#039; &amp;#039;:LINE&lt;br /&gt;
            ISDIR = FOURTH.WORD&lt;br /&gt;
            FILE.NAME = REST.OF.LINE&lt;br /&gt;
            DIRTABLE&amp;lt;-1&amp;gt; = FILE.CNT:@VM:ISDIR:@VM:FILE.NAME&lt;br /&gt;
         END&lt;br /&gt;
      REPEAT&lt;br /&gt;
      RETURN&lt;br /&gt;
*&lt;br /&gt;
GET.CMD:&lt;br /&gt;
      DONE.CMD = FALSE ; RETURN.CMD = FALSE&lt;br /&gt;
      LOOP&lt;br /&gt;
         LOOP&lt;br /&gt;
            DISPLAY &amp;quot;ENTER LINE NUMBER (Q=QUIT): &amp;quot;: ; INPUT CMD&lt;br /&gt;
            BEGIN CASE&lt;br /&gt;
               CASE CMD = &amp;#039;R&amp;#039; ; DONE.CMD = TRUE ; GOSUB DISPLAY.RESULTS&lt;br /&gt;
               CASE CMD = &amp;#039;Q&amp;#039;&lt;br /&gt;
                  ERROR = &amp;#039;User quit&amp;#039; ; DONE.CMD = TRUE&lt;br /&gt;
                  RETURN.CMD = TRUE ; EXIT.ROUTINE = TRUE&lt;br /&gt;
               CASE NOT(NUM(CMD)) ; NULL&lt;br /&gt;
               CASE INT(CMD) # CMD ; NULL&lt;br /&gt;
               CASE CMD &amp;lt; 1 OR CMD &amp;gt; FILE.CNT ; NULL&lt;br /&gt;
               CASE 1 ; DONE.CMD = TRUE ; RETURN.CMD = TRUE&lt;br /&gt;
            END CASE&lt;br /&gt;
         UNTIL DONE.CMD DO DISPLAY &amp;quot;INVALID COMMAND&amp;quot; REPEAT&lt;br /&gt;
      UNTIL RETURN.CMD DO REPEAT&lt;br /&gt;
      RETURN&lt;br /&gt;
*&lt;br /&gt;
   END&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Conversion script</name></author>
	</entry>
</feed>