Saltrød Horror Show nr. 36

av Odd de Presno.


Publisert i Datatid, Norge nr. 10/1989, side 98.


Artikler skrevet av undertegnede for Datatid i perioden 1986-88 er nå tilgjengelig elektronisk gjennom Datatids datatjeneste DIX. De kan lastes ned fra filområde 2000.

Helt til sist i hver artikkel er det en copyright-tekst. Den opprinnelige teksten passet ikke lengre, bl.a. fordi jeg også ville gjøre artiklene tilgjengelig via Saltrød Horror Show BBS.

Problemet var å laste 64 artikler inn i tekstprogrammet PCWRITE, slette de siste fem linjene i hver artikkel og føye til tre nye. Å, om jeg bare kunne gjøre det automatisk, tenkte jeg.

Automatisk klipp og lim

Løsningen ble et samspill mellom tre programmer, PC-WRITE (som godt kunne vært et annet tekstprogram), FAKEY (se omtale i filen SHS12.ART på DIX) og PC-FLIST (i SHS8.ART og SHS11.ART).

Dette ble løsningen:

1. Alle artiklene ble samlet i en filliste i skallprogrammet PC-FLIST (jeg brukte FLIST2.COM, 39KB). Derved kunne jeg

  • utføre operasjonen på den første filen i listen.
  • markere (alle) de andre filene med "=", og
  • be PC-FLIST gjøre det samme med de markerte filene - i en operasjon ("=" står for "gjenta siste kommando).

2. Første gang gjorde jeg det manuelt. Jeg trykket: Alt-e, Alt-(holde ALT-tasten nede og samtidig trykke på "-"), Alt-p, PilOpp fem ganger, PilVenstre en gang, Alt-p, Ctrl-F3, Z, ett trykk på Entertasten, og til slutt F1 og F2 for å komme tilbake til PC-FLISTs filliste.

Deretter laget jeg batch-filen ADD.BAT:

c:\system\fakey ESC &8200 &1900 UP UP UP
UP UP LEFT &1900 &6000 "z" \r F1 F2
d:ed %1

(De første to linjene skal være en lang linje. Delt her på grunn av plasshensyn.)

Overføring av tastetrykk

FAKEYs funksjon er å overføre tastetrykk til et brukerprogram, som om de ble tastet inn manuelt. Den første linjen i batchfilen (her de første to) legger de ønskede tastetrykkene inn i et mellomlager.

Når tekstprogrammet anropes i andre linje (med filnavnet som argument), blir de angitte tastetrykkene "sendt" til programmet.

FAKEYs bruksanvisning (last ned FAKEY.COM, 9KB) har en liste over gyldige koder for forskjellige tastetrykk. ESC betyr Escapetasten. Kommandoen får PC-WRITE til å hoppe over velkomstbildet uten å lage sikkerhetskopi av filen.

"&8200" er den hexadesimale koden til "ALT--" ifølge FAKEY.DOC. UP står for PilOpp-tasten. "\r" for Enter-tasten, osv.

Batchfilen var klar til test. Jeg plasserte markøren ved fil nummer to og tastet inn følgende på PC-FLISTs kommandolinje:

add /

("add" for ADD.BAT.) Deretter kommanderte jeg "utfør" og det som skulle skje, skjedde.

Neste jobb var å sette "=" ved de resterende 60 filnavnene. Et nytt trykk på "utfør"-tasten og resten ble ordnet automatisk.

Hva slags PC er dette?

Det er mange programmer, som prøver å rapportere oppsettet på DOS-baserte PC/XT/AT- og PS/2-lignende maskiner. Det er imidlertid sjelden de gjør det så grundig som SYSID. Last ned SYSID47.EXE (77KB, gratis).

Programmet lager 16 skjermbilder med detaljer om den maskinen det kjøres på. PCen må kjøres under DOS versjon 3.0 eller senere.

"Insufficient disk space"

Har du noensinne sett denne meldingen? Hvis ikke, kan du være trygg for at den kommer en dag.

Programmet i filen PALERT16.COM (18KB) kan hjelpe deg med å unngå at brukerprogrammer stopper unormalt eller at du ikke kan fullføre en jobb pga for lite diskplass.

PALERT er ikke hukommelses-resident. Det er et program, som du kan påkalle i dine batch-filer eller bruke selvstendig (f.eks. i CED synonymer).

La meg forklare med et eksempel. Noe av det verste jeg vet, er når nedlasting av filer går i vasken fordi det ikke var plass nok på disken. PALERT kan kontrollere at det er nok plass og sette et DOS ERRORLEVEL flagg, som i sin tur kan brukes av en batchfil. Jeg bruker dette i batchfilen som starter opp kommunikasjonsprogrammet mitt.

Bruker du LOTUS 1-2-3, kan PALERT brukes slik i batchfilen for å starte opp programmet:

PALERT /b2000/m
if errorlevel 1 goto feil
LOTUS
goto slutt
:feil
ECHO LOTUS-kjøringen stoppet pga for lite diskplass
:slutt

Parameteren "/b2000" forteller PALERT at du ønsker minimum to megabyte ledig plass. "/m"-parameteren ber programmet ikke å rapportere total, brukt og ledig diskplass.

Programmet er skrevet av Norm Patriquin, P.O. Box 8308, San Bernardino, CA 92412, U.S.A., som ber om et bidrag på US$ 10.00.

"Trimmeboks"

PowerKit versjon II er både en erstatning for DOS ANSI.SYS og en verktøykasse med hjelpemidler. Du trenger ikke innstallere flere egenskaper enn du trenger.

PowerKit lar deg justere tastaturets repeterings-funksjoner. Det gir deg også et ekstra stort mellomlager for tastetrykk (lignende egenskaper finner du i KBFIX3.COM, 13KB, gratis).

Du kan inspisere innholdet i tastetrykklageret. Du kan rute printer-utskrifter til skjermen, komme ut av programmer som crasher, blanke skjermen (også Herkules-skjermer), beskytte maskinen mot nysgjerrige øyer og få systemets "beep"-signal høyere. Du gis også mulighet til å stoppe diskettmotoren tidligere (slik at du kan komme videre i arbeidet).

Du kan omdefinere tastaturets funksjoner ved å erstatte "scan"-koden generert av en tast med scan-koden til en annen. (Hør, hør, Toshiba-brukere. Endelig en måte å få tastaturet til å virke som du ønsker. Ref. diskusjonen om ZHR-spillet for en stund siden.)

PowerKit kan få mer fart på PCen. Metoden er den samme som blir brukt av QRESH.COM (20KB, gratis. Se nr. 11/88 s. 134, eller last ned SHS25.ART). Det gjøres ved å redusere tiden mellom såkalte "refreshes" av maskinens hukommelse. Hastighetsøkningen er omkring 5 prosent på 4.77 MHz maskiner (PCer) og opp til 20 prosent på noen 12 MHz AT kloner.

Du kan gå ut i DOS fra et hvilket som helst brukerprogram (i et SHELL) for å gjøre et eller annet du hadde glemt. F.eks. for å formattere en ny diskett eller å finne en fil på en disk. Tast EXIT på DOS-linjen for å komme tilbake i brukeprogrammet. (Systemet i HOTDOS.COM lar deg også gjøre dette. Se filen SHS16.ART.)

Du kan "føde" tastetrykk inn i brukerprogrammer, slik du kan med FAKEY over.

Autopilot

Med PowerKits AutoPilot kan du lære maskinen å utføre rutinemessige oppgaver. Den kan deretter utføre disse, mens du lener deg tilbake og slapper av.

Trykk "5" på ti-tastaturet pluss "A" for å starte AutoPilot. Det kommer et pip. Du kan nå trykke ned en tast, som kan representere en flere tusen tegn stor makro. Tastetrykket eller makroen vil nå bli gjentatt inntil du trykker på en annen tast. (En makro er en rekke tegn som sendes til skjerm, filer, skriver eller modem etter at du har trykket en tast.)

Den enkleste anvendelsen av dette er når du ønsker å bla gjennom et langt dokument. Med AutoPilot kan et trykk på PgDn-tasten la deg bla gjennom hele dokumentet med tekstprogrammet mens du leser, uten at du rører tastaturet.

Du ønsker å fjerne en kolonne i en tabell i en tekstfil. Du vet at tekstprogrammet har en smart metode for å gjøre dette, men husker bare hvordan du kan fjerne en linje i kolonnen av gangen. Ved hjelp av AutoPilot taster du inn kommandoen for korreksjon av en enkelt linje og avslutter med et trykk på PilNed-tasten.

Oppsett av makroer

AutoPilots makroer kan defineres når som helst og kan inneholde "sub-makroer" (opptil 10 nivåer dypt). De er tilgjengelige ved et tastetrykk, også når du er inne i andre programmer.

Du kan gi hver makro en kommentar eller beskrivelse og de kan inneholde ANSI escape sekvenser. De kan brukes for å sende kommandoer til maskinens kommunikasjonsport (f.eks. for å slå et telefonnummer med modemet), til skriveren eller for å definere eller slette andre makroer.

En annen anvendelse er standardisering. Du kan lage makroer som lar deg bruke de samme kommandoene for operasjoner som Søk, Erstatt, Kopier, Flytt, Slett i alle tekstprogrammer, regneark og database programmer.

Det er grenser for hvor langt du kan automatisere. I et tilfelle laget jeg en makro som skulle starte kommunikasjonsprogrammet, ringe en vert og gå ut i DOS igjen, når jobben var gjort. Alt som var påkrevet var følgende tastetrykk: "y2", "t", ENTER, "o".

Makroen startet programmet (CED synonymet "y2"), valgte den korrekte verten fra en meny ("t") og trykket ned ENTER for å begynne oppkallet.

Modemet begynte å slå nummeret, men dermed var det stopp. "o"-en kom for tidlig og stoppet automatikken. AutoPilot-makroene har dessverre ingen "vent på" og "pause" kommandoer.

I et annet tilfelle ba jeg AutoPilot laste AUTOEXEC.BAT inn i tekstprogrammet, søke etter en string (krever et trykk på "+" på det grå feltet på tastaturet), føye til en ny linje, lagre og gå ut i DOS igjen.

AutoPilot greidde det nesten. Det eneste som gikk feil var "Grå +". Resultatet ble at jeg fikk en ny linje 1 i teksten. Første tegn i denne linjen var en "+". (Hvem vet, kanskje det er en løsning på dette. Jeg har imidlertid ikke funnet den.)

Brukerdokumentasjonen er tungt fordøyelig og kanskje litt for teknisk for enkelte.

PowerKit kan lastes ned som PKIIV124.COM, 63KB). Det er skrevet av Central Data Services, 1641 Winona Court, Denver, CO 80204, U.S.A. De ber om et bidrag på US$ 19.95.



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