home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 2
/
crawlyvol2.bin
/
apps
/
text_ed
/
speedwri
/
spwriter.lst
< prev
next >
Wrap
File List
|
1990-07-30
|
10KB
|
536 lines
' Speedwriter V1.0
'
' Written by Frank Lemmen and Richard Karsmakers
'
'
@Intro
@Buffemp
@Help
@Buffemp
@Main
Procedure Intro
X%=0
Hidem
Repeat
Add X%,3
Color 1
Circle 320,200,X%
Color 0
Circle 320,200,X%-3
Until X%=99
Showm
Color 1
Deftext 1,1,0,13
Text 262,180,"SPEEDWRITER BY"
Text 270,195,"FRANK LEMMEN"
Text 310,210,"AND"
Text 250,225,"RICHARD KARSMAKERS"
Box 280,250,360,270
Text 295,265,"GREAT"
Graphmode 3
Repeat
For X%=1 To 50
Draw 295,175+X% To 295+X%,225 To 345,225-X% To 345-X%,175 To 295,175+X%
Pause 1
Draw 295,175+X% To 295+X%,225 To 345,225-X% To 345-X%,175 To 295,175+X%
Next X%
Until Inp?(2)<>0
A=Inp(2)
Graphmode 1
Color 0
Box 280,250,360,270
Color 1
X%=99
Hidem
Repeat
Sub X%,3
Color 1
Circle 320,200,X%
Color 0
Circle 320,200,X%+3
Until X%=0
Deftext 1,0,0,13
Color 1
Cls
Return
Procedure Main
Hidem
@Con
Cls
A$=""
Spoke 16745024,1
Print Chr$(27);"q";
Do
A=Inp(2)
B=A+1
If A=13 And Crslin=25
Print Chr$(13)
Print Chr$(27);"Y";Chr$(32+25);Chr$(32);
A=0
Goto Label2
Endif
If A=13
Print Chr$(A)
A=0
Endif
Label2:
If A=8 And Crscol=1 And Crslin=1
A=0
Goto Label100
Endif
If A=8 And Crscol=1
Buf=Crslin
Buf=Buf-2
Print Chr$(27);"Y";Chr$(32+Buf);Chr$(32+80);
Print " ";
Print Chr$(27);"Y";Chr$(32+Buf);Chr$(32+80);
A=0
Goto Label100
Endif
If A=8
Print Chr$(27);"D";
Print " ";
Print Chr$(27);"D";
A=0
Endif
Label100:
If A=226
@Buffcursor
@Help
@Setcursor
A=0
Goto Label10
Endif
If A=187
Cls
A=0
Endif
If A=188
Print Chr$(27);"l";
A=0
Endif
If A=189
Print Chr$(27);"L";
A=0
Endif
If A=190
Print Chr$(27);"p";
A=0
Endif
If A=191
Print Chr$(27);"q";
A=0
Endif
If A=205 And Crscol=80
Print Chr$(13)
A=0
Goto Label666
Endif
If A=205
Print Chr$(27);"C";
A=0
Endif
Label666:
If A=203 And Crscol=1 And Crslin=1
A=0
Goto Label109
Endif
If A=203 And Crscol=1
Buf=Crslin
Buf=Buf-2
Print Chr$(27);"Y";Chr$(32+Buf);Chr$(32+80);
A=0
Goto Label109
Endif
If A=195
@Buffcursor
@Stat
@Setcursor
A=0
Goto Label10
Endif
If A=203
Print Chr$(27);"D";
A=0
Endif
Label109:
If A=208 And Crslin=25
Buf=Crscol
Print
Print Chr$(13);
Print Chr$(27);"Y";Chr$(32+25);Chr$(31+Buf);
A=0
Endif
If A=208
Print Chr$(27);"B";
A=0
Endif
If A=200
Print Chr$(27);"A";
A=0
Endif
If A=192
If Peek(16745024)=248
Spoke (16745024),249
Else
Spoke (16745024),248
Endif
Pause 2
A=0
Endif
If A=225
@Buffcursor
@Uit
A=0
@Setcursor
Goto Label10
Endif
If A=194
@Buffcursor
@Disk
A=0
@Setcursor
Goto Label10
Endif
If A=193
@Go
A=0
Goto Label10
Endif
If A=196
@Buffcursor
@Nieuw
A=0
Goto Label10
Endif
Print Chr$(A);
A$=A$+Chr$(B)
Label10:
Loop
Return
Procedure Uit
@Coff
@Sg
Cls
Alert 1,"DO YOU REALY WANT TO QUIT",2,"YES|NO",Bes
If Bes=2
@Sp
@Con
Goto Label999
Endif
End
Label999:
Return
Procedure Help
Deftext 1,0,0,13
Deffill 1,1,1
X$=""
Defline 1,1
@Coff
@Sg
Showm
Cls
Box 150,50,480,340
Box 153,53,477,337
Defline 1,3,0,0
Box 270,310,370,330
Text 298,325,"Return"
Text 220,75,"F1 - CLEAR ALL"
Text 220,90,"F2 - DELETE LINE"
Text 220,105,"F3 - INSERT LINE"
Text 220,120,"F4 - REVERSE ON"
Text 220,135,"F5 - REVERSE OFF"
Text 220,150,"F6 - TOGGLE COLORS"
Text 220,165,"F7 - RUN SESSION"
Text 220,180,"F8 - DISK OPERATIONS"
Text 220,195,"F9 - STATISTICS"
Text 220,210,"F10 - KILL THIS SESSION"
Text 220,225,"HELP - GO BACK HERE"
Text 220,240,"UNDO - LEAVE PROGRAM"
Text 183,260,"CURSOR MOVEMENT CAN BE DONE WITH"
Text 260,275,"CURSOR KEYS"
Text 180,290,"PRESS RETURN OF KLICK WITH MOUSE TO"
Text 260,305,"EXIT THIS MENU"
Do
X$=Inkey$
If Mousex<370 And Mousex>270 And Mousey>310 And Mousey<330 And Mousek<>0 Or X$=Chr$(13)
Pbox 270,310,370,330
Goto E
Endif
If Mousek<>0
Print Chr$(7);
Endif
Loop
E:
@Sp
@Con
Return
Procedure Laden
Sget Screen3$
Cls
Defline 1,1,0,0
Deffill 1,2,1
Prbox 20,20,620,380
Deftext 1,9,0,32
Graphmode 2
Text 250,50,"LOAD"
Sget Screen2$
Labdoe:
Fileselect "\*.WRT","",A$
If A$=""
Goto Label4
Endif
If Exist(A$)=0
Goto Labdoe
Endif
Open "I",#1,A$
Size=Lof(#1)
A$=Input$(Size,#1)
Close #1
Sput Screen2$
Label4:
Sput Screen3$
Graphmode 1
Return
Procedure Go
@Coff
Cls
@Line
@Con
Return
Procedure Opslaan
Sget Screen3$
Cls
Deffill 1,2,1
Prbox 20,20,620,380
Graphmode 2
Deftext 1,9,0,32
Text 250,50,"SAVE"
Sget Screen2$
Fileselect "\*.WRT","",Ww$
If Ww$=""
Goto Label6
Endif
Open "O",#1,Ww$
Print #1,A$;
Close #1
Sput Screen2$
Label6:
Graphmode 1
Sput Screen3$
Return
Procedure Line
Print Chr$(27);"H";
Print Chr$(27);"q";
@Con
Le=Len(A$)
Bef=Peek(16745024)
Spoke 16745024,1
For X%=1 To Le
Ww=Asc(Mid$(A$,X%,1))-1
Sound 1,0,59,5,1
If Ww=8 And Crscol=1 And Crslin=1
Goto Label1
Endif
If Ww=8 And Crscol=1
Buf=Crslin
Buf=Buf-2
Print Chr$(27);"Y";Chr$(32+Buf);Chr$(32+80);
Print " ";
Print Chr$(27);"Y";Chr$(32+Buf);Chr$(32+80);
Goto Label1
Endif
If Ww=8
Print Chr$(27);"D";
Print " ";
Print Chr$(27);"D";
Goto Label1
Endif
Label200:
If Ww=200
Print Chr$(27);"A";
Goto Label1
Endif
If Ww=208 And Crslin=25
Buf=Crscol
Print
Print Chr$(13);
Print Chr$(27);"Y";Chr$(32+25);Chr$(31+Buf);
Goto Label1
Endif
If Ww=208
Print Chr$(27);"B";
Goto Label1
Endif
Label3:
If Ww=203 And Crscol=1 And Crslin=1
Goto Label1
Endif
If Ww=203 And Crscol=1
Buf=Crslin
Buf=Buf-2
Print Chr$(27);"Y";Chr$(32+Buf);Chr$(32+80);
Goto Label1
Endif
If Ww=203
Print Chr$(27);"D";
Goto Label1
Endif
If Ww=205 And Crscol=80
Print Chr$(13)
Goto Label1
Endif
If Ww=205
Print Chr$(27);"C";
Goto Label1
Endif
If Ww=13
Print Chr$(13)
Goto Label1
Endif
If Ww=187
Print Chr$(27);"E";
Goto Label1
Endif
If Ww=188
Print Chr$(27);"l";
Goto Label1
Endif
If Ww=189
Print Chr$(27);"L";
Goto Label1
Endif
If Ww=190
Print Chr$(27);"p";
Goto Label1
Endif
If Ww=192
If Peek(16745024)=248
Spoke (16745024),249
Else
Spoke (16745024),248
Endif
Pause 2
Goto Label1
Endif
If Ww=191
Print Chr$(27);"q";
Goto Label1
Endif
Print Chr$(Ww);
Label1:
Sound 1,15,Ww,5,1
Next X%
Sound 1,0,0,0,0
@Coff
Spoke (16745024),Bef
Return
Procedure Buffcursor
Bufx=Crscol
Bufy=Crslin
Return
Procedure Setcursor
Print Chr$(27);"Y";Chr$(31+Bufy);Chr$(31+Bufx);
Return
Procedure Nieuw
@Coff
@Sg
Cls
Alert 1,"DO YOU WANT TO KILL| THIS SESSION",2,"YES|NO",I
If I=1
A$=""
Spoke 16745024,1
Print Chr$(27);"q";
Endif
If I=2
@Sp
@Setcursor
Endif
@Con
Return
Procedure Coff
Print Chr$(27);"f";
Return
Procedure Con
Print Chr$(27);"e";
Return
Procedure Sg
Sget Screen$
Return
Procedure Sp
Sput Screen$
Return
Procedure Disk
Fl=0
@Coff
If A$=""
Fl=1
Goto Label33
Endif
@Sg
Label33:
Deffill 1,2,11
Pbox 0,0,639,399
Deffill 1,0,0
Prbox 500,50,150,350
Deffill 1,2,2
Pbox 490,48,160,30
Deftext 1,1,0,13
Graphmode 2
Text 220,45,"-- DISK OPERATIONS MENU --"
Graphmode 1
Text 230,70,"F1 - LOAD SESSION"
Text 230,95,"F2 - SAVE SESSION"
Text 230,120,"F3 - DELETE FILES"
Text 230,145,"F4 - RETURN TO SPEEDWRITER"
Text 230,235,"CHOOSE ONE OF THESE OPTIONS"
Repeat
Di=Inp(2)
If Di=187
@Laden
Endif
If Di=188
@Opslaan
Endif
If Di=189
@Delete
Endif
Until Di=190
If Fl<>1
@Sp
Else
Cls
Endif
@Con
Return
Procedure Delete
Sget Screen3$
Cls
Fileselect "*.*","",Del$
If Del$=""
Goto Labely
Endif
Kill Del$
Labely:
Sput Screen3$
Return
Procedure Buffemp
While Inp?(2)
A=Inp(2)
Wend
Return
Procedure Stat
@Coff
@Sg
Bb=Len(A$)
Bc=Dfree(0)
Prc=(Bb/32767)*100
Cls
Print "Text Size : ";Bb;" Max: 32767"
Print "Used : ";Prc;"%"
Print "Disk Free Space : ";Bc
A=Inp(2)
@Sp
@Con
Return