Data 454,106,522,125,526,106,594,125,454,127,522,146,526,127,594,146,454,148,522,167,526,148,594,167,454,169,522,188,526,169,594,188,454,190,522,209,526,190,594,209
Data 454,211,522,230,526,211,594,230,454,106,522,125,454,127,522,146,454,148,522,167,454,169,594,188,454,190,594,209,454,211,594,230
Restore DAS : For I=1 To 18 : Read X1(I),Y1(I),X2(I),Y2(I) : Next
'
ANT=6
MAKS=45
X=1
XX=1
YY=12
VIS_LITEN_TEKST["SELECT / MOUSE BUTTON TO EXIT"]
Dim MX(ANT)
Pen 0
For Y=1 To ANT
MX(Y)=Len(LIN$(Y))+1
Print At(XX+1,Y+YY);LIN$(Y);" "
Next
Y=1
Pen 2
Print At(2,20);"Line:"
Print At(20,20);"Column:"
FYTTEGRISEN:
Repeat
Pen 2
Paper 6
Print At(7,20);Y;". "
Print At(27,20);X;". "
Pen 0
Repeat
I$=Inkey$
If Mid$(LIN$(Y),X,1)<>""
Paper 1
Pen 0
Print At(X+XX,Y+YY);Mid$(LIN$(Y),X,1)
Else
Paper 6
Pen 1
Print At(X+XX,Y+YY);""
End If
Paper 6
Pen 1
MK=Mouse Key
Until I$<>"" or MK=1 or MK=2
If MK=1 Then Goto BALELUJA
SAC=Scancode
KSH=Key Shift
LX=X
LY=Y
If((I$=Cdown$) or(I$=Chr$(13))) and Y<ANT
Print At(X+XX,Y+YY);" "
Inc Y
If X>MX(Y)
X=MX(Y)
End If
If I$=Chr$(13)
X=1
End If
End If
If I$=Cup$ and Y>1
Print At(X+XX,Y+YY);" "
Dec Y
If X>MX(Y)
X=MX(Y)
End If
End If
If I$=Cleft$ and X>1 and KSH=0
Dec X
End If
If I$=Cright$ and X<MX(Y) and KSH=0
Inc X
End If
If KSH>0 and KSH<4 and SAC=78
X=MX(Y)
End If
If KSH>0 and KSH<4 and SAC=79
X=1
End If
If((Asc(I$)>31 and Asc(I$)<127) or(Asc(I$)>=161 and Asc(I$)=<255)) and MX(Y)<MAKS
TT$=Left$(LIN$(Y),X-1)
TT2$=Right$(LIN$(Y),MX(Y)-X)
LIN$(Y)=TT$+I$+TT2$
Inc X
Inc MX(Y)
End If
If SAC=70 and X<MX(Y)
TT$=Left$(LIN$(Y),X-1)
TT2$=Right$(LIN$(Y),MX(Y)-X-1)
LIN$(Y)=TT$+TT2$
Dec MX(Y)
End If
Pen 0
Paper 6
If X>1 and Asc(I$)=8
TT$=Left$(LIN$(Y),X-2)
TT2$=Right$(LIN$(Y),MX(Y)-X)
LIN$(Y)=TT$+TT2$
Dec MX(Y)
Dec X
If X=MX(Y)
Print At(XX+1,LY+YY);LIN$(LY);" "
End If
End If
Print At(XX+1,LY+YY);LIN$(LY);" "
If Mid$(LIN$(Y),X,1)<>""
Paper 1
Pen 0
Print At(X+XX,Y+YY);Mid$(LIN$(Y),X,1)
Else
Paper 6
Pen 1
Print At(X+XX,Y+YY);""
End If
BALELUJA:
Paper 6
Pen 1
MK=Mouse Key
Until MK>0 and MK<3
Z=Mouse Zone
If MK=>1 and Z>0
Ink 2,6 : Box X1(Z),Y1(Z) To X2(Z),Y2(Z)
Repeat : ZZ=Mouse Zone : Until Mouse Key=0
Ink 6 : Box X1(Z),Y1(Z) To X2(Z),Y2(Z)
If ZZ<>Z : Z=0 : MK=0 : End If
End If
P$=Chr$(Z)+Chr$(MK)
Paper 6
Pen 0
If Mid$(LIN$(Y),X,1)<>""
Print At(X+XX,Y+YY);Mid$(LIN$(Y),X,1)
Else
Print At(X+XX,Y+YY);" "
End If
VIS_LITEN_TEKST[" "]
Print At(2,20);Space$(45)
End Proc[P$]
Procedure SAMLE_DEM[I]
On Error Proc MAINERROR
_FIXIT
If RYDDE_EMNE=1 Then POST$(I)=TEM$(1)+¥$+TEM$(2)+¥$+TEM$(3)+¥$+TEM$(4)+¥$+TEM$(5)+¥$+LIN$(1)+¥$+LIN$(2)+¥$+LIN$(3)+¥$+LIN$(4)+¥$+LIN$(5)+¥$+LIN$(6)+¥$
If RYDDE_EMNE=2 Then POST$(I)=TEM$(2)+¥$+TEM$(1)+¥$+TEM$(3)+¥$+TEM$(4)+¥$+TEM$(5)+¥$+LIN$(1)+¥$+LIN$(2)+¥$+LIN$(3)+¥$+LIN$(4)+¥$+LIN$(5)+¥$+LIN$(6)+¥$
If RYDDE_EMNE=3 Then POST$(I)=TEM$(4)+¥$+TEM$(5)+¥$+TEM$(1)+¥$+TEM$(2)+¥$+TEM$(3)+¥$+LIN$(1)+¥$+LIN$(2)+¥$+LIN$(3)+¥$+LIN$(4)+¥$+LIN$(5)+¥$+LIN$(6)+¥$
End Proc
Procedure SPRE_DEM[I]
On Error Proc MAINERROR
AQA$=POST$(I)
For MA=1 To 11
MAGGE$(MA)=""
Next
If AQA$<>""
For MA=1 To 11
ROCK=Instr(AQA$,¥$)
If ROCK>0
MAGGE$(MA)=Left$(AQA$,ROCK-1)
AQA$=Right$(AQA$,Len(AQA$)-ROCK)
Else
AQA$=Right$(AQA$,Len(AQA$)-1)
End If
Next
End If
If RYDDE_EMNE=1
For I=1 To 5
TEM$(I)=MAGGE$(I)
Next
For I=1 To 6
LIN$(I)=MAGGE$(I+5)
Next
End If
If RYDDE_EMNE=2
TEM$(1)=MAGGE$(2)
TEM$(2)=MAGGE$(1)
For I=3 To 5
TEM$(I)=MAGGE$(I)
Next
For I=1 To 6
LIN$(I)=MAGGE$(I+5)
Next
End If
If RYDDE_EMNE=3
TEM$(2)=MAGGE$(4)
TEM$(3)=MAGGE$(5)
TEM$(4)=MAGGE$(1)
TEM$(5)=MAGGE$(2)
TEM$(1)=MAGGE$(3)
For I=1 To 6
LIN$(I)=MAGGE$(I+5)
Next
End If
End Proc
Procedure VIS_DET
Paper 6
If LAGRET=False Then Pen 2 Else Pen 0
If Len(FILE_NAME$)=<33
Print At(12,26);Left$(FILE_NAME$+Space$(33),33);
Else
Print At(12,26);Right$(FILE_NAME$,33);
End If
If Fast Free+Chip Free<100000 Then Pen 2 Else Pen 0
For I=0 To 2 : Paste Bob 623,YMA(I),IMA(0,I)-4 : Next
Bob Update
If POSTER<7
FPO=0
TPO=7
Else
If POSTEN+7>POSTER
FPO=POSTER-7
TPO=POSTER
Else
FPO=POSTEN
TPO=POSTEN+7
End If
End If
L=0
For I=FPO To TPO
SPRE_DEM[I]
If TEM$(4)<>TEM$(5)
Print At(0,L);Left$(TEM$(1),34);At(35,);Left$(TEM$(2),18);At(54,);Left$(TEM$(3)+Space$(5),5);" ";Left$(TEM$(4)+Space$(5),5);" to ";Left$(TEM$(5)+Space$(5),5);
Print At(0,0);Left$(TEM$(1),34);At(35,);Left$(TEM$(2),18);At(54,);Left$(TEM$(3)+Space$(5),5);" ";Left$(TEM$(4)+Space$(5),5);" to ";Left$(TEM$(5)+Space$(5),5);
Print At(0,7);Left$(TEM$(1),34);At(35,);Left$(TEM$(2),18);At(54,);Left$(TEM$(3)+Space$(5),5);" ";Left$(TEM$(4)+Space$(5),5);" to ";Left$(TEM$(5)+Space$(5),5);
REQUEST[Pen$(2)+"**** BREAK DETECTED ****"+Pen$(0),"DO YOU WANT TO ABORT THE PRINTING?","",198,124,379,173,2,False,X Mouse,Y Mouse]
NGFSA=Param
If NGFSA=True
BRK_FLAG=True
Pop Proc
End If
End If
Return
PRTF2:
ERR_FLAG=True
MESSAGE2["","","","",False]
End Proc
Procedure SJEKK
On Error Proc MAINERROR
If LAGRET=True
_OK=True
Else
REQUEST[Pen$(2)+"THE FILE IS NOT SAVED !",Pen$(1)+"*************************"+Pen$(0),"DO YOU WANT TO SAVE IT?",342,127,438,282,1,False,X Mouse,Y Mouse]
HM=Param
If HM=True
DASK[2]
If LAGRET=True
_OK=True
Else
_OK=False
End If
Else
_OK=True
End If
End If
End Proc[_OK]
Procedure SAMLIKN[FIN$,Nº]
L=Min(Len(FIN$),Len(TEM$(Nº)))
If Upper$(Left$(FIN$,L))=Upper$(Left$(TEM$(Nº),L)) Then HVA=1 Else HVA=0
End Proc[HVA]
Procedure _FIXIT
_VAL[TEM$(3)] : R=Param : TEM$(3)=Str$(R)-" "
End Proc
Procedure MAINERROR
If MESS_ON=True
Put Block 56
Del Block 56
MESS_ON=False
End If
ERR=Errn
If ERR=24
Inc LOMEM
If LOMEM<8
Resume
End If
Del Cblock 1
Del Cblock 2
Del Block 9
Screen Close 3
Screen Close 0
Screen Open 0,640,20,2,Hires
Curs Off
Palette $FF0,$F00
Screen Display 0,,120,,
Cls 0
Centre "* * * OUT OF MEMORY. I'LL HAVE TO QUIT. * * *"
Wait Key
Screen Close 0
Edit
End If
Inc MERRA
If MERRA<5
Screen Open 7,640,20,2,Hires
Curs Off
Palette $FF0,$F00
Screen Display 7,,120,,
Cls 0
Centre "* * ERROR !!! IF IT REPEATS, PLEASE REPORT. * *"+Cdown$
Centre "[ THE ERROR NUMBER IS:"+Str$(ERR)+" ]"
Wait Key
Screen Close 7
Resume Next
Else
Del Cblock 1
Del Cblock 2
Del Block 9
Screen Close 3
Screen Close 0
Screen Open 0,640,20,2,Hires
Curs Off
Palette $FF0,$F00
Screen Display 0,,120,,
Cls 0
Centre "* * * FATAL ERROR !! I'LL HAVE TO QUIT. * * *"+Cdown$
Centre "[ THE ERROR NUMBER IS:"+Str$(ERR)+" ]"
Wait Key
Screen Close 0
Edit
End If
End Proc
Procedure SJEKK_MINNE
FRE_M=Free
If FRE_M<5000
MESSAGE[String$("*",34),"LOW ON FREE WORKSPACE!","SAVE NOW!!!",String$("*",34),50*5]
SAV_FLAG=True
Else
SAV_FLAG=False
End If
End Proc
Procedure _VAL[A$]
B$=Right$(" "+A$,5)
G=1
T=0
C=0
For P=5 To 1 Step -1
C$=Mid$(B$,P,1)
If C$=" " Then C$="0"
For I=0 To 9
F$=Str$(I)-" "
If C$=F$ Then C=I
Next
T=T+(C*G)
G=G*10
Next
End Proc[T]
Procedure _COPYRIGHT[YDISPLAY]
Auto View Off : Unpack 7 To 7 : For Y=2 To Screen Height/2 Step 2 : Screen Display 7,,YDISPLAY+Screen Height/2-Y,,Y*2 : Screen Offset 7,,Screen Height/2-Y : View : Wait Vbl : Next
Wait 50*3 : For Y=Screen Height/2 To 0 Step -8 : Screen Display 7,,YDISPLAY+Screen Height/2-Y,,Y*2 : Screen Offset 7,,Screen Height/2-Y : View : Wait Vbl : Next : Screen Close 7 : Auto View On
End Proc
Procedure DISK
On Error Proc MAINERROR
Erase 15 : Reserve As Work 15,261
Unpack 12 To 1 : Screen Display 1,,60,,
Paste Icon 455,79,Abs(1-VICON)+6
View : Limit Mouse
Colour 19,$440 : Colour 18,$770 : Colour 17,$AA0
Paper 3 : Pen 2 : Wind Open 1,16,8,38,18
Dim FILNA$(400),FILN2$(400),X1(24),Y1(24),X2(24),Y2(24),EDLIN$(2)
LES_OK=False
If FILE_NAME$<>"Unnamed...." Then EDLIN$(2)=FILE_NAME$ Else EDLIN$(2)=""