QB64.com

QB64 is a modern extended BASIC programming language that retains QBasic/QuickBASIC 4.5 compatibility and compiles native binaries for Windows, Linux, and macOS.

The CHDIR statement changes the program’s location from one working directory to another by specifying a literal or variable STRING path.

Syntax

CHDIR path$

Description

Example(s)

The following code is Windows-specific:


CHDIR "C:\"      'change to the root drive C (absolute path)
CHDIR "DOCUME~1" 'change to "C:\Documents and Settings" from root drive (relative path) 
CHDIR "..\"      'change back to previous folder one up 

Details: QB64 can use long or short (8.3 notation) file and path names.

Using the Windows API to find the current program’s name and root path. The PATH$ is a shared function value.


_TITLE "My program"
PRINT TITLE$
PRINT PATH$

FUNCTION TITLE$ *=== SHOW CURRENT PROGRAM
SHARED PATH$           'optional path information shared with main module only
DECLARE LIBRARY        'Directory Information using KERNEL32 provided by Dav
  FUNCTION GetModuleFileNameA (BYVAL Module AS LONG, FileName AS STRING, BYVAL nSize AS LONG)
END DECLARE

FileName$ = SPACE$(256)
Result = GetModuleFileNameA(0, FileName$, LEN(FileName$))  '0 designates the current program
IF Result THEN             'Result returns the length or bytes of the string information
  PATH$ = LEFT$(FileName$, Result)
  start = 1
  DO
    posit = INSTR(start, PATH$, "\")
    IF posit THEN last = posit
    start = posit + 1
  LOOP UNTIL posit = 0
  TITLE$ = MID$(PATH$, last + 1)
  PATH$ = LEFT$(PATH$, last)
ELSE TITLE$ = "": PATH$ = ""
END IF
END FUNCTION 

Note: The program’s _TITLE name may be different from the actual program module’s file name returned by Windows.

See Also