BBS: Inland Empire Archive Date: 04-04-93 (19:38) Number: 252 From: KEN PREVO Refer#: NONE To: JOE NEGRON Recvd: NO Subj: Need a routine Conf: (2) Quik_Bas
Here's the function you need and one for good measure-old BASNet posting <g> This version is for PowerBASIC. The QB one is much larger and far less elegant: Call Interrupt is a part of the language--no qlb needed. REGs is a builtin and In/Out copies aren't required. Unsigned integers and PEEKI allow referencing more data from memory than a single byte. PEEK$ allows block copies --although a union might have been more elegant and not required copying the data into program space DEFINT A-Z DECLARE FUNCTION CmdLine$ () DECLARE FUNCTION ProgName$ () PRINT PRINT "This program was loaded as '"; ProgName$;"'" IF LEN(CmdLine$) THEN PRINT "With a command line of '"; CmdLine$;"'" FUNCTION CmdLine$ 'return the original, mixed case command line. REG 1, &H5100 'ax CALL Interrupt &H21 Segment?? = REG(2) 'bx DEF SEG = Segment?? Temp$ = PEEK$(&H81, PEEK(&H80)) DEF SEG CmdLine$ = Temp$ ' You may want: RTRIM$(Temp$), Chr$(0)+Chr$(32)+CHR$(255)+CHR$(8)) 'in case there's are some strange user artifacts END FUNCTION FUNCTION ProgName$ 'fetch the program's full-path and name REG 1, &H6200 CALL Interrupt &H21 DEF SEG = REG(2) 'BX register held segment location. EnvBlkSeg?? = PEEKI(&H2C) DEF SEG = EnvBlkSeg?? Temp$ = PEEK$(8, 47) '8 bypasses 'COMSPEC=' and 42 is the max len 'dos allows for a path(32)+file(13)+drive(2) DEF SEG ProgName$ = left$(Temp$,INSTR(Temp$,Chr$(0))-1) 'only the part to the nul END FUNCTION þ SLMR 2.0 þ þ BASNet: NetHost- The Toolkit BBS, Lowell,IN (219)696-3415 --- WM v2.08/91-0012 * Origin: Com-Dat BBS Hillsboro, OR. HST (503) 681-0543 (1:105/314)
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