This page (revision-6) was last changed on 03-Feb-2023 15:21 by Carsten Strotmann 

This page was created on 13-Mar-2010 16:03 by Carsten Strotmann

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
6 03-Feb-2023 15:21 1 KB Carsten Strotmann to previous
5 13-Mar-2010 16:07 1 KB Carsten Strotmann to previous | to last
4 13-Mar-2010 16:06 1 KB Carsten Strotmann to previous | to last
3 13-Mar-2010 16:05 211 bytes Carsten Strotmann to previous | to last
2 13-Mar-2010 16:04 22 bytes Carsten Strotmann to previous | to last
1 13-Mar-2010 16:03 2 KB Carsten Strotmann to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 changed 121 lines
!!!File Select Box
General Information
Author: Carsten Strotmann \\
Language: ACTION! \\
Compiler/Interpreter: ACTION! \\
Published: 13.02.90 \\
{{{
;********************************
;** Fileselect Box **
;** PHOENIX SOFTCREW 1990 **
;** 13.02.90 **
;** "FILESEL.ACT" **
;********************************
PROC Filesel (BYTE ARRAY file)
BYTE pos,num,u,arrow
BYTE ARRAY dirbuf (1200),dev(20)
MoveBlock (dev,file,4)
SetBlock (dirbuf,1200,32)
Close (1)
Open (1,file,6,0)
pos=0
num=0
arrow=0
DO
InputSD (1,file)
IF file(2)=32 THEN
MoveBlock (dirbuf+num*17,file+1,17)
FI
num==+1
UNTIL file(2)#32
OD
Close (1)
C_Off ()
Position (10,10)
Print ("---------------")
FOR u=11 TO 15
DO
Position (10,u)
Print ("| |")
OD
Position (10,16)
Print ("---------------")
Position (10,17)
Print ("| ")
file(0)=4
Print (file)
Print (" Free")
Position (24,17)
Print ("|")
Position (10,18)
Print ("---------------")
Position (10,19)
Print ("| |")
Position (10,20)
Print ("---------------")
DO
FOR u=0 TO 4
DO
MoveBlock (file+1,dirbuf+(pos+u)*17+2,8)
file(9)='.
MoveBlock (file+10,dirbuf+(pos+u)*17+10,3)
file(0)=12
Position (12,u+11)
Print (file)
OD
Position (11,11+arrow)
Print (">")
u=Inkey ()
IF u=$2D THEN
IF arrow>0 THEN
Position (11,11+arrow)
Print (" ")
arrow==-1
ELSEIF pos>0 THEN
pos==-1
FI
FI
IF u=$3D THEN
IF arrow<4 THEN
Position (11,11+arrow)
Print (" ")
arrow==+1
ELSEIF pos<num-6 THEN
pos==+1
FI
FI
UNTIL u=155
OD
MoveBlock (file+1,dirbuf+(pos+arrow)*17+2,8)
file(0)=8
u=Find (" ",file)
IF u=0 THEN
u=9
FI
file(u)='.
file(0)=u+3
MoveBlock (file+u+1,dirbuf+(pos+arrow)*17+10,3)
Position (11,19)
C_On ()
Print (file)
Getin (file,12)
Upper (file)
MoveBlock (dev+4,file+1,12)
MoveBlock (file,dev,16)
file(0)=16
u=Find (".",file)
file(0)=u+3
RETURN
}}}
!!!File Select Shell