7Oberon10.Scn.FntStampElemsAlloc5 Mar 97OOberon10b.Scn.Fnt8FoldElemsNew#Oberon10.Scn.Fnt(( VAR fn, gn: ARRAY 32 OF CHAR; f, g: Files.File; r, s: Files.Rider; b: CHAR; option: ARRAY 32 OF CHAR; BEGIN In.Open; In.Name(fn); WHILE In.Done DO f := Files.Old(fn); ASSERT(f # NIL); Files.Set(r, f, 2); Files.ReadString(r, gn); Files.Set(r, f, 34); g := Files.New(gn); ASSERT(g # NIL); Files.Set(s, g, 0); Files.Register(g); Files.Read(r, b); WHILE ~r.eof DO Files.Write(s, b); Files.Read(r, b) END; Files.Close(f); Files.Close(g); Out.String(fn); Out.String("==>"); Out.String(gn); Out.Ln; In.Name(fn) END; END Import; 8  8#Oberon10.Scn.Fnt VAR fn, gn: ARRAY 32 OF CHAR; f, g: Files.File; r, s: Files.Rider; b: CHAR; option: ARRAY 32 OF CHAR; BEGIN In.Open; In.Name(fn); WHILE In.Done DO f := Files.Old(fn); ASSERT(f # NIL); Files.Set(r, f, 0); COPY(fn, gn); gn[Strings.Length(gn)-4] := 0X; Strings.Append(".Text", gn); g := Files.New(gn); ASSERT(g # NIL); Files.Set(s, g, 0); Files.Register(g); Files.Read(r, b); WHILE ~r.eof DO CASE ORD(b) OF 129: Files.Write(s, ""); | 132: Files.Write(s, ""); | 148: Files.Write(s, ""); | 225: Files.Write(s, ""); ELSE Files.Write(s, b); END; Files.Read(r, b) END; Files.Close(f); Files.Close(g); Out.String(fn); Out.String(" ==> "); Out.String(gn); Out.Ln; In.Name(fn) END; END ImportText; 8 MODULE DOS; (* RLI, , Imports DOS (not Win95) files *) IMPORT Files, In, Out, Strings; PROCEDURE Import*;  PROCEDURE ImportText*;  END DOS.