Saltrød Horror Show nr. 41

av Odd de Presno.


Publisert i Datatid, Norge nr. 3/1990.


Utskrift av gråtoner

Testingen av min nye laserskriver, LaserJet II P, fortsetter. Denne gang med et program for utskrift av gråtoner. Du har sikkert sett det i forskjellige sammenhenger. F.eks. når titler er skrevet i en ramme evt. på en bakgrunn med forskjellige mønstre eller rett og slett på grått.

GRAYRULE (i filen GRAYRULE.COM, 43KB) greier dette med laud. Programmet er menystyrt og enkelt å bruke, bortsett fra at jeg kunne ønsket å se på skjermen det jeg valgte før det ble skrevet ut.

GRAYRULE leder deg først gjennom en rekke spørsmål. Når de er besvart, lagrer du oppsettet i en fil. Velger du å lagre det som en "overlay"-fil, kan det tas inn i tekstprogrammet og brukes sammen med utskriften. La meg forklare med et eksempel:

Teksten "Kapittel I" ønskes skrevet ut i sort ramme på grå bakgrunn. Med GRAYRULE lager du en "overlay"-fil, som gir en ramme av riktig størrelse fyllt med grått med riktig tetthet. Plassering på siden og og utseendet kontrollerer du ved utskrift.

Du kan velge mellom seks bakgrunnsmønstre pluss forskjellige gråtoner (i %) til bakgrunnsfarge og linjer. Rammens linjetykkelse angis i 1/720-dels tomme. Plasseringen på skjermen angis i tommer fra margene.

Bruker du tekstprogrammet PC-WRITE, kan du laste overlay-filen direkte inn i linje 1 i den filen du skal skrive ut (Ctrl-F3). Under følger teksten, med linjen "Kapittel I" plassert på riktig sted på siden. Skriv ut på vanlig måtet og der er det.

Det er mulig å få en slik "bokstekst" skrevet ut øverst på hver side. Du kan ha et arsenal med bokser med forskjellige bakgrunn på disken, som du bruker i forskjellige sammenhenger.

Bidragsønsket er US$29.95 til Advance Systems, 215 Amosland Rd., Norwood, PA. 19074, USA. Som takk lover de en 5.25" diskett med softfonter for HP Laserjet-kompatible skrivere.

Sortering

Det ligger to sorteringsprogrammer på Saltrød Horror Show, QSORT (i filen QSORT11.COM, 15KB, bidrag US$5.00) og SORTF (i SORTF232.COM, 11KB, bidrag $15.00). Begge gjør jobben bedre enn den eksterne DOSkommandoen SORT.

SORTF kan ta som input både logiske records (f.eks. linjer i en tekstfil) og records av fast lengde (som i en direkte fil). Maksimal lengde pr. logiske record er 1024 bytes. QSORT kan kun håndtere logiske records men de kan være opptil 3600 bytes lange.

Programmene kan sortere i synkende og stigende rekkefølge (ifølge ASCII-tabellen). Du kan sortere på flere felter samtidig. La meg forklare med utgangspunkt i følgende kryptiske kommando:

DIR | QSORT /30:2 /24:5 /39 /34:5 | MORE

DIR-kommandoen kjenner du. Fillisten fra DIR mates her inn i QSORT (med omdirigeringskommandoen "|"). QSORT sorterer filnavnene

  • Først ut (i stigende orden) ut fra årstallet. Teller du etter, ser du at årstallet starter i kolonne 30 på skjermen og består av to posisjoner. Det er angitt med "/30:2".
  • Er det flere filer med samme årstall, skal de sorteres etter dato (posisjon 24 og fem posisjoner),
  • Er det flere filer med samme dato, skal de sorteres på for- og ettermiddag (p,a). Til slutt sorteres filene etter klokkeslett.

Utskriften fra QSORT mates nå inn i den eksterne DOS-kommandoen MORE (med en ny "|"). Resultatet blir at utlistingen skjer med en skjermfull av gangen og at du må trykke ENTER for å komme videre.

SORTF kan sortere på opptil 16 felter samtidig. QSORT kan ta opptil 30. SORTF kan sortere uten hensyn til om det er store eller små bokstaver.

Konvertering av tekst

Konvertering er stadig et aktuelt problem. Truls Andreassen fra Oslo har laget et fleksibelt hjelpeprogram til dette bruk.

TFILTER (i filen TFILT23.COM, 14KB, gratis) endrer innholdet i filer på tegn-nivå ved hjelp av kodetabeller. Du kan lage dine egne tabeller, eller bruke dem som følger med programmet. De er:

  • konvertering av æ,ø og å fra ascii til IBM,
  • konvertering av æ,ø og å fra IBM til ascii,
  • erstatting av alle kontrolltegn (dvs. ascii-tabellens nr. 0-31 og 255) med tegnet " " (ascii nr. 32).
  • konvertering fra små til store bokstaver (inkl. æ, ø og å),
  • konvertering fra store til små bokstaver.

Jeg bruker TFILTER i en anvendelse som krever store bokstaver. Små bokstaver gir skjebnesvangre resultater. TFILTER sørger for at hva som enn tastes sendes videre til det etterfølgende brukerprogrammet med store bokstaver.

(Min oppgave styres av en kommandofil i et kommunikasjonsprogram. TFILTER kan også brukes i batchfiler.)

Avansert "tekstbehandling"

Av og til står jeg ovenfor helt spesielle tekstbehandlingsproblemer. Et av dem er endring av tekst pr. modem ved hjelp av batchfiler.

Sist omtalte jeg noen metoder, bl.a. "finn og fjern" med FGREP og "finn og erstatt" med BCHANGE. Følgende problem ble imidlertid for vanskelig for disse verktøyene:

Filliste 99 på Saltrød Horror Show inneholder en liste over tilgjengelige programmer og filer sortert pr. dato. Den enkelte fil er beskrevet på følgende måte (de to første linjene er tatt med her for å gjøre det klarere):

 Filnavn        Størrelse Dato    Kort beskrivelse
 -------        --------- ----    ----------------- 
 AWK.EXE        128902  12-29-89  Prog.language for text-prossesing

Når jeg har testet AWK.EXE, skal beskrivelsen flyttes fra denne filen til en annen (her til nr. 20, som er en alfabetisk sortert liste).

Problemet var å lage en batchfil som kunne fjerne denne linjen fra filliste 99 og legge den inn på riktig plass i filliste 20. Løsningen ble batchfilen FLYTT.BAT, som fungerer slik:

  1. FGREP fjerner den utvalgte linjen fra listen og lagrer den i en midlertidig fil (TMP.TMP).
  2. Programmet AWK plukker opp linjen fra TMP.TMP og legger den inn i filliste 20 etter et angitt filnavn. (FLYTT.BAT startes opp med kommandoen "FLYTT AWK.EXE 20 ASKUSER.COM". Dvs. "flytt AWK.EXE til filliste 20 og legg den inn i listen som en ny linje etter filen ASKUSER.COM.)

AWK er et programmeringsspråk

AWK er et programmeringspråk for manipulering av tekst og tall i ascii-format. Mangler du programmeringserfaring, er det neppe for deg. Syntaksen minner litt om programspråket C.

AWK leser en og en record (normalt en linje) fra en angitt tekstfil. Det kan lete etter mønstre (f.eks. tekststringer) i linjene, etter hvert som de leses inn i programmet. Det utfører deretter operasjoner (bolske logiske uttrykk er tilgjengelig) avhengig av innholdet i tekststringen. Typiske vil oppgaven være å skrive ut tekst på skjerm eller til en fil, evt. etter formattering.

Programpakken inneholder en lang rekke eksempler og en omfattende demo. Dokumentasjonen er kortfattet og skrevet for folk med programmeringserfaring.

AWK er laget av Rob Dub i Vancouver, B.C. og er gratis. Han kan nås via sin BBS på 095-1-604-251-1816 (FIDO).

Styring av porter

En gang i mellom får jeg klager fra folk som har problemer med å få koplet til et modem til en kommunikasjonsport eller vanskeligheter med å få koplet til en skriver.

Port Finder (i PF2.COM, 8KB, gratis) kan være en løsning. Det tester og viser evt. tilgjengelige kommunikasjonsporter (COM1 til COM4) og skriverporter (LPT1 til LPT3, også på PS/2-systemer).

Med Port Finder kan du bytte adressene på COM eller LPT-portene i stedet for tukle med bytting av kabler (f.eks. ved hjelp av kommandoer i en batchfil).

For batchfil-elskere

Thor Ivar Ekle i Oslo har laget et program, som gjør batchfiler om til programmer med endelsen EXE. Programsystemet ligger i filen BATMAN11.COM (20KB, gratis).

Mens batchfiler kan leses av hvem som helst, er .EXE-filer uleselig. Ekle hevder at .EXE filer ofte utføres raskere enn tilsvarende batchfiler.

Med BATMAN kan du lage kraftige batchfiler. Du kan f.eks. nøste GOSUB-kommandoer i 64 nivåer. En INKEY-kommando lar deg taste inn svar på spørsmål underveis, m.m.

Du bør teste batchfiler i EXE-format før bruk om de bruker eksterne programmer og spesielt om de bruker ERRORLEVEL-teknikker. En konvertert batchfil som bruker det eksterne programmet BATMENU (i filen BATMENU.COM) for Ja/Nei-spørsmål underveis, feilet hos meg.

Diverse på tampen

Ønsker du at PCen automatisk skal starte opp på nytt for å kjøre andre anvendelser avhengig av tid på døgnet? Det var problemet til Gunnar Somby i Oslo. Løsningen ligger i filen DEMOEXEC.COM (4KB, gratis). Den inneholder et kopi av Gunnars AUTOEXEC.BAT med diverse hjelpemidler.

Har du VGA-skjerm og problemer med programmer som umotivert stiller PCen tilbake til standard ROM fonts eller til 25 linjer? En løsning ligger i filen MODESAVE.COM (3KB, gratis). Programmet kan startes opp i AUTOEXEC.BAT og krever kun 250 bytes av hukommelsen.

Har du programmer, som krever at det er en Intel 80287 eller 80387-prosessor i maskinen? Hører du til dem som ikke har kjøpt en matematisk ko-prosessor enda, kan du søke hjelp i programmet EMUL98 (i filen 80287EMM.COM, 13KB, gratis).

Det går saktere enn med en matematikkprosessor, men du får kjørt programmene.

Så var det poden, da. Eller "poda". Er han eller hun flink i geografi på skolen? Ikke det?

Leif Alnes i Ålesund har laget et lite program for innlæring av hovedsteder uten pugg. Programmet ber brukeren velge mellom en riktig og tre tilfeldig valgte hovedsteder. Til slutt gis det karakter. Last ned filen GEOGRAFI.COM (36KB, gratis).



Det er forbudt å distribuere denne artikkelen - eller deler av den - i elektronisk, trykt eller kopiert form mot betaling.