1 REM +++++++++++++++++++++++++++++++++
2 REM ! Program ....   GETSKRIV
3 REM ! Utg}va  01     82.01.18
4 REM ! av (c) Stig Johansson, Brastad
5 REM ! {ndrat av Sixten L|gdberg
7 REM ! Minne 16 Kbytes
9 REM +++++++++++++++++++++++++++++++++
10 REM ! Subrutin ORDBEHANDLING.      !
11 REM +------------------------------+
90 REM ** R%  = RADNUMMER.
100 REM ** Z%  = RADL[NGD.
110 REM ** K%  = BEGR[NSAD RADL[NGD.
120 DIM S$(10%)=25%
130 ; CHR$(12%)'INFO:' : ; 'Denna subrutin kan l{mpligen anv{ndas i'
140 ; 'ex.register-pgm d{r samma text eller'
150 ; 'delvis samma text beh|ver upprepas'
160 ; 'flera g}nger.Inskrivna rader lagrar man'
170 ; 'i en variabel ( se ex.p} rad:330 ).'
180 ; 'Viss rad kan h{mtas med t.ex. INPUT I%,'
190 ; 'och sedan enkelt korrigerigeras.'
200 ; 'Ny text kan skjutas in i h{mtade rader.'
210 ; 'Varje radl{ngd kan begr{nsas, och man'
220 ; 'kan sp{rra s} att end.siffror kan'
230 ; 'skrivar p} viss rad,som p} rad 3 nedan.'
240 ; : ; 'Anv{nd -> f|r att h{mta skriven text'
250 ; 'och <- f|r att backa.'
260 ; : ; 'Detta {r allts} inget komplett'
270 ; 'program, utan en subrutin att anv{ndas'
280 ; 'i andra program.'
290 ; : ; 'TRYCK RETURN.   '; : GET A$
300 ; CHR$(12%)
310 Z%=18% : R%=1% : ; CUR(5%,5%)'Rad:1 > '; : GOSUB 360
320 Z%=18% : R%=2% : ; CUR(6%,5%)'Rad:2 > '; : GOSUB 360
330 Z%=5% : R%=3% : ; CUR(7%,5%)'Rad:3 > '; : GOSUB 360 : V$(I%)=S$
340 ; CUR(22%,0%)'** N[STA TEXT:   <RETURN> '; : GET A$ : GOTO 300
350 REM  SUB-INSKRIVN.
360 S$=''
370 ]$=CHR$(8%,32%,8%)
380 GET [$ : [%=ASC([$)
390 IF Z%<11% IF [%>31% IF [%<45% OR [%>57% GOTO 380 : REM KORT RAD=END.SIFFROR
400 IF [%=13% U$(R%)=S$ : K%=0% : RETURN 
410 IF [%>95% [%=[%-32% : REM sm} till    STORA bokst{ver.
420 IF [%=8% IF K%<0% K%=0%
430 IF [%=8% IF LEN(S$) K%=K%-1% : S$=LEFT$(S$,K%) : ; ]$;
440 IF [%=9% IF LEN(U$(R%))=0% 380 ELSE [%=ASC(U$(R%)) : U$(R%)=RIGHT$(U$(R%),2%)
450 IF K%>=Z% K%=Z% : GOTO 380 : REM MAX RADL[NGD
460 IF [%>31% K%=K%+1% : ; CHR$([%); : S$=S$+CHR$([%)
470 GOTO 380
