Contributor: SCOTT TUNSTALL { QCD (C) 1995 Scott Tunstall. All rights reserved. ------------------------------------------------- Using a text file that you have created (called DIRS.TXT) this routine can quickly CD into any directory without you having to specify the full path. (Mind and not overload the table with entries please... will slow down the old CPU) For example, in file DIRS.TXT You could have: DUNE2 C:\GAMES\DUNE2 ... ... ... ... So whenever this was typed at the command line CDQ DUNE2 The directory becomes C:\GAMES\DUNE2 You can have as many entries as you like. } uses crt, basics; procedure usage; begin writeln; writeln('Usage :'); writeln; writeln('QCD'); writeln; writeln('Where is a key related to a specific path'); writeln('contained on the disk (need not be the current disk)'); writeln; writeln('Ask Scott for details if still stuck :)'); writeln('E-Mail address: INSC3SAT@RIVER.TAY.AC.UK'); writeln; halt; end; Function StrCmp(Str1, Str2 : String) : Boolean; begin Str1:=upper(Str1); Str2:=upper(Str2); if (Length(Str1) = Length(Str2)) and (Pos(Str1, Str2) <> 0) then StrCmp := True else StrCmp := False; end; procedure change_dir(entry : string); var f: text; currententry: string[20]; associateddir: string[80]; begin assign(f, '\DIRS.TXT'); reset(f); while not eof(f) do begin readln(f,currententry); readln(f,associateddir); if (strcmp(entry, currententry) = True) then begin close(f); {$i-} chdir(associateddir); if ioresult <> 0 then begin writeln('Directory ',upper(associateddir),' does not exist !!'); halt(1); end; halt(0); end; end; writeln; writeln('No match for ',upper(entry),'!. '); close(f); halt(1); end; begin writeln; writeln; writeln('Quick CD (C) 1995 Scott Tunstall. All rights reserved.'); case paramcount of 0 : usage; 1 : change_dir(paramstr(1)); else begin writeln('An error occurred: Too many parameters !!'); usage; end; end; end.