home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 3
/
CDASC03.ISO
/
sorties
/
2078
/
direct.kml
< prev
next >
Wrap
Text File
|
1993-04-01
|
2KB
|
53 lines
: > execute command in directory
:DIREXEC
'editv getf DOSMODE';
if COMMAND() then
do
T = 'DOS DOSNOWAIT DOSQUIET DOS';
DOSMODE = WORD( SUBSTR( T , POS( DOSMODE , T ) ) , 2 );
'editv putf DOSMODE'; 'macro KEYMSG mode' DOSMODE;
end
else
do
'macro TEXTBEGIN'; if FIRST() then exit;
CMD = SUBSTR( FIELD.1() , FIELD.3() );
if CMD = '' then
do; 'editv getf CMD'; if CMD \= '' then 'text' CMD; exit; end
else if CMD = '@' then
do; 'macro GETPASSW'; exit; end
'editv putf CMD'; 'lowercase 1'; HEAD = POS( '#' , CMD );
if HEAD > 0 then do; HEAD = HEAD-1; TAIL = HEAD+2; end
else do; HEAD = LENGTH( WORD( CMD , 1 ) )+1; TAIL = HEAD; end
CMD = SUBSTR( CMD , 1 , HEAD )||DIRFILEID.1()||SUBSTR( CMD , TAIL );
HEAD = POS( '@' , CMD );
if HEAD > 0 then
do
'editv getf PASS'; if PASS = '' then 'macro GETPASSW'; 'editv getf PASS';
CMD = SUBSTR( CMD , 1 , HEAD-1 ) || PASS || SUBSTR( CMD , HEAD+1 );
end
if SUBSTR( CMD , 1 , 1 ) = '!' then 'synex' SUBSTR( CMD , 2 );
else DOSMODE CMD;
end
: > get password
:GETPASSW
'preserve'; 'color cmdline black';
do forever
'sos beep'; 'macro KEYMSG pass?'; 'readv CMD';
if WORD( READV.1 , 1 ) = WORD( READV.1 , 2 ) then leave;
end
'editv setf PASS' WORD( READV.1 , 1 ); 'restore';
: > directory/edit file
:DIREDIT
F = DIRFILEID.1(); 'macro PRESCURSMODE ';
if F == '' then
'sos beep';
else if POS( '<DIR>' , UPPER( CURLINE.3() ) ) > 0 then
do
if SCROLLLOCK() then do; 'delete 1'; 'dirappend' F; end;
else 'dir' F;
'set curline 1';
end
else
'kedit' F '(nodefext';
'macro PRESCURSMODE';