1 REM Ins{nd av Olle Nilsson <975> 1985-07-05 14.37.55 100 ! FNGET2 .800 Ver. 3.0 850705 110 ! (C) Olle Nilsson, Uppsala 120 ! 130 ! Rutinerna FNget$, FNPos(S%), FNInput$(Y%,X%,L%,Hemlig%) 140 ! som m|jligg|r inl{sning av text fr}n tangentbordet samtidigt som 150 ! aktuell tid uppdateras. 160 ! 170 ! F|r ABC800 med 40 eller 80 tkn.sk{rm 180 ! 190 ! Utprovad p} ABC800M 200 ! 210 ! F|r info. se filen FNGET2.INF 220 ! 990 EXTEND 1000 DEF FNGet$ LOCAL F%,X%,Y%,S$=1 1010 S%=1% : POKE 65506%,0% : X%=PEEK(65362%) : Y%=PEEK(65363%) 1020 POKE 65362%,X%,Y% : F%=FNPos(S%) : IF S%=1% S%=0% ELSE S%=1% 1030 FOR I=1 TO 50 1040 IF PEEK(65506%)=128% S$=CHR$(PEEK(65507%)) : POKE 65506%,0% : F%=FNPos(0%) : RETURN S$ 1050 ; CUR(0%,PEEK(65364%)-19%) TIME$ : NEXT I : GOTO 1020 1060 FNEND 1070 DEF FNPos(S%) LOCAL M% 1080 IF PEEK(65364%)=40% 1130 1090 OUT 56%,10%,57%,40%-32%*S% 1100 M%=30720%+PEEK(65363%)*80%+PEEK(65362%) 1110 OUT 56%,14%,57%,SWAP%(M%),56%,15%,57%,M% 1120 RETURN 0% 1130 POKE 32744%+PEEK(65363%)*128%-PEEK(65363%)/8%*984%+PEEK(65362%),128%*S% 1140 RETURN 0% 1150 FNEND 1160 DEF FNInput$(Y%,X%,L%,Hemlig%) LOCAL I%,S$=1,S2$=120 1170 S2$='' : I%=1% : ; CUR(Y%,X%) SPACE$(L%) CUR(Y%,X%); 1180 WHILE I%<=L% 1190 S$=FNGet$ 1200 IF S$=CHR$(13%) RETURN S2$ 1210 IF S$=CHR$(8%) IF I%>1% I%=I%-1% : S2$=LEFT$(S2$,LEN(S2$)-1%) : IF Hemlig%=-1% 1240 ELSE 1250 ELSE 1250 1220 IF S$<' ' OR S$>'' IF Hemlig%=-1% 1240 ELSE 1250 1230 I%=I%+1% : S2$=S2$+S$ 1240 IF Hemlig%=-1% ; CUR(Y%,X%) STRING$(LEN(S2$),42%) SPACE$(L%-LEN(S2$)) CUR(Y%,X%+LEN(S2$)); : GOTO 1260 1250 ; CUR(Y%,X%) S2$ SPACE$(L%-LEN(S2$)) CUR(Y%,X%+LEN(S2$)); 1260 WEND : RETURN S2$ 1270 FNEND