1994-03-19 ======================================================================= H{r f|ljer en beskrivning av de {ndringar som har gjorts i UNSQUEZ version 02.07. Dessa finns inlagda i filen UNSQUEZ.BAS. Rad Kommentar ----------------------------------------------------------------------- 28 Sp{rr i form av ej anv{nd COMMON-variabel borttagen. Se {ven rad 9918. Jan-Olof Svensson <6057> 37 Raden flyttad. Variabel borttagen. Se rad 158. <6057> 125 - 127 H{nvisning till originalversionen. <6057> 158 Se rad 37. 160 Namngiven konstant f|r maxgr{ns inf|rd. Se {ven raderna 163, 180 och 196. 163 Vektor borttagen. Det enda som anv{ndes var de b}da minustecknen och "NOT ". Dessa har i st{llet lagts in i raderna 5615 och 5621. Se {ven raderna 160, 210-232 och 272. <6057> 180 Se rad 160. 185 Varning f|r liten stackstorlek inf|rd. 196 Se rad 160. 210 - 232 Se rad 163. 249 Ej anv{nd variabel ersatt av NetUsed och DoUsed. Se {ven raderna 8230-8235. <6057> 272 Se rad 163. 723 BLK,EL och GBLK g|r att programmet klarar flera program f|r ABC806. <6057> 847 Programmet skrev ut GHOL som GMOL. <6057> 901, 1004 [ndrad inmatning. ": " tillkommer. <6057> Se raderna 1154, 1210 och 1248. 1065 Programmet gjorde en extra radmatning om man sj{lv angav filtyp f|r utfilen. <6057> 1103 En petitess kanske, men filnumret {r ju inte n}gon logisk variabel (NOT S skulle ocks}, felaktigt, tolkas som sant). <6057> 1127 ON ERROR GOTO h{nvisade till fel radnummer. <6057> 1154 Se rad 901. 1210 "?" inf|rd som option. Se {ven raderna 1250 och 1261. 1248 Se rad 901. 1250 - 1255 F|rklarande text kan nu f}s med option "?". Se {ven rad 1210. 1261, 1364, 1416, 1420 E borttagen som option. Se raderna 9896 och 9918. <6057> 1409, 1423 Logiska variabler hade icke-logiska v{rden. <6057> 1427 Hopp till n{sta rad borttaget. <6057> 1659 Positioneringen hamnade en position f|r l}ngt in i filen. (Det {r bara idkoden till listskyddet som h{mtas, s} det gjorde inte s} mycket.) <6057> 1715 Tidigare genomf|rd {ndring: N}gon v{nlig sj{l har de- aktiverat listskyddet genom att byta ut internkoden f|r CALL mot koden f|r PEEK. (Listskyddet fungerade ju {nd} inte p} grund av felet i rad 1659.) 1730 Programmet godtar nu ocks} filer med 144 som f|rsta kod. Texten i felmeddelandet har {ndrats. 2510 Stavfel. <6057> 2988, 3025 NAME gav f|r tidigt sats-slut i ELSE-delen av IF-satser. AS riskerade ocks} att skrivas ihop med n{sta rad. Ex: IF B THEN B=0 ELSE NAME 'MF1:TAL.TMP' AS 'TAL.DAT' skrevs ut som IF B THEN B=0 ELSE NAME 'MF1:TAL.TMP' : AS 'TAL.DAT' (Se {ven rad 9172.) <6057> 3062, 3071 Rader markerade med ? ger inte l{ngre synkfel. <6057> 3149 Argument tillkommer. Se rad 8568. 3737 Funktionsanropet gjordes med icke-logiskt v{rde till en logisk formell parameter. <6057> 5299 Argument tillkommer. Se rad 8568. 5369 Lokal variabel inlagd. Se rad 6112. <6057> 5377 WHILE hade icke-logiskt villkor. <6057> 5615, 5621 Se rad 163. 5660 Tillkommer. Se rad 8765 5729 Programmet angav fel l{ngd i dimensioneringar d{r l{ngd utel{mnats. Ex: DIM B$(20) skrevs ut som: DIM B$(20)=80% vilket sedan gav felmeddelande om man tilldelade mer {n 80 tecken till n}got av vektorelementen. (Se sidan 51 i Bit f|r bit ...) Se {ven rad 6675. 5755, 5766, 5868 Argument tillkommer. Se rad 8568. 6112 - 6118, Om en str{ng inneh|ll ej skrivbara tecken, t.ex. A$=" " 6127 - 6140 i st{llet f|r A$=CHR$(15,21), s} kunde programmet tappa flera rader. Se rad 5369. <6057> 6594, 6610 Kodningen |verensst{mde inte med programstrukturen. En och samma instruktion var kodad p} tre olika st{llen. Se {ven raderna 6621 och 6939. <6057> 6621 Raden utg}r eftersom iterationen har tagits bort. Se {ven rad 6903. 6642, 6660 Villkorets ELSE-del flyttad. <6057> 6674 Villkoret gav icke-logiskt resultat. <6057> 6675 Se rad 5729. 6701 - 6812 Utg}r. 6825 Argument tillkommer. Se rad 8568. 6851, 6860 Kodningen f|renklad. <6057> 6903 Se rad 6621. 6914 Utg}r. 6939, 6953 Se rad 6594. 7233, 7378, 7394 Programmet tog bara h{nsyn till den bearbetande datorns arbetsl{ge (INTEGER/FLOAT), vilket kunde leda till ofri- villiga typkonverteringar. Ex: 10 INTEGER 20 B.=4.5 30 D.=2. 40 E.=B./D. skrevs i FLOAT-mode ut som 20 INTEGER 22 B=4.5 29 D=2 34 E=B/D d{r B tilldelas v{rdet 5 och E v{rdet 2 i st{llet f|r 4.5 respektive 2.25. P} samma s{tt kunde heltal bli flyttal i INTEGER-mode. <6057> 7586, 7611 Se rad 7678. 7657 Logisk variabel hade ibland icke-logiskt v{rde. <6057> 7678 - 7686 CD och FILESTAT f|r bland annat LUX-NET. <6057> 7689, 7870 Raden flyttad till 8240. <6057> 7887, 7908 Se rad 8230. 8179, 8193 Programmet blandade ihop FIRST och LAST. Raden: ISAM READ #5,A$ INDEX I$ FIRST skrevs ut som: ISAM READ #5,A$ INDEX I$ LAST och vice versa. <6057> 8230 - 8235 NET och UFD f|r LUX-NET. <6057> DO tidigare inlagt av 8237 Stefan Franks <5452> DO f|r k|rning av kommandofiler in- lagt. <6057> 8240 Se rad 7870. 8283, 8293, 8340 LAMP f|r Facit DTC2. <6057> 8486 - 8542 Ny funktion som klarar tabulering med kommatecken. Ex: ; 'Detta skrivs till v{nster',,,'Detta till h|ger!' Johan Olofsson <5809> 8568 Argument och lokal variabel tillkommer. Se {ven raderna 3149, 5299, 5755, 5766, 5868, 6825, 8724 och 8765-8800. Den lokala variabeln omd|pt f|r att st{mma med program- mets egna regler f|r namngivning. <6057> 8684 Funktionsanropet gjordes med icke-logiskt v{rde till en logisk formell parameter. <6057> 8724 Se rad 8568. 8765 - 8800 Programmet missade dimensioneringar d{r b}da index- gr{nserna angavs. Ex: DIM B(2:5) DIM F.(E,-1:7) Skrevs ut som: DIM B(5) DIM F.(-1,7) Se {ven raderna 5660 och 8568. 8869 Funktionsanropet gjordes med icke-logiskt v{rde till en logisk formell parameter. <6057> 9172, 9209 NAME gav f|r tidigt sats-slut i THEN-delen av IF-satser. AS riskerade ocks} att skrivas ihop med n{sta rad. Ex: 50 IF B THEN NAME 'MF1:TAL.TMP' AS 'TAL.DAT' 60 ; D$ skrevs ut som 50 IF B THEN NAME 'MF1:TAL.TMP' : AS 'TAL.DAT'; D$ (Se {ven rad 2988.) <6057> 9685 Filnumrets datatyp {ndrad. <6057> 9846 Villkoret gav icke-logiskt resultat. <6057> 9896 Om en global variabel tilldelades inom en funktion d{r man deklarerat n}gra lokala variabler av samma typ, s} kunde tilldelningen felaktigt g|ras till en lokal varia- bel med samma namn. Ex: 10 DIM A$=10 20 END 30 DEF FNC$ LOCAL D$=5,E$=10 40 A$="Global" 50 RETURN "" 60 FNEND skrevs ut som 20 DIM B$=10 27 END 28 DEF FNR28$ LOCAL A$=5,B$=10 46 B$="Global" 58 RETURN "" 62 FNEND F|r att undvika detta m}ste option E alltid anv{ndas, och den har d{rf|r gjorts obligatorisk. (Se {ven rad 9918.) <6057> 9918 F|rfattaren hade lagt in en sp{rr i programmet. Meningen var att om man lyckats f} UNSQUEZ att godta sig sj{lv som infil, och sedan f|rs|kte k|ra den .BAS- fil som skapats, s} skulle man f} ett felmeddelande som h{nvisade till den rad d{r copyright-meddelandet st}r. Tyv{rr hade detta den tr}kiga sidoeffekten att ALLA program som inneh}ller COMMON-variabler riskerade att bli felaktiga. Namnet p} den f|rsta COMMON-variabeln kom att anv{ndas p} nytt i n{rmast f|ljande DIM-sats, eller vid tilldelning av en tidigare ej dimensionerad variabel. Ex. COMMON B$=30 DIM C$=60 skrevs ut som COMMON B$=30 DIM B$=60 F|r att f} r{tt variabelnamn m}ste programmet alltid k|ras med option E n{r filen inneh}ller COMMON- eller lokala variabler. F|r att undvika att man missar detta har optionen nu gjorts obligatorisk. I originalversionen fungerade E-optionen inte alls i fr}ga om COMMON-variabler p} grund av att villkoren gav icke-logiska delresultat. (Se {ven rad 9896.) <6057> 9991 Kontroll av minimiv{rde tillkommer. 10026, 10028 Felmeddelandet f|rtydligat. 10050 Utg}r. 10052 Funktionsv{rdets datatyp {ndrad. <6057> 10100 Felmeddelandet f|rtydligat. 10124 Utg}r. 10342 Villkoret gav icke-logiskt resultat. <6057> 10531 Funktionen missade bin{ra str{ngar som enbart bestod av tecken mindre {n CHR$(32). 10559, 10764, 10832 Villkoren gav icke-logiska resultat. <6057> -----------------------------------------------------------------------