Saltrød Horror Show nr. 44

av Odd de Presno.


Publisert i Datatid, Norge nr. 6/7-1990, side 128.


Hjelpemidler for batchfiler

Bjørn Liane på Kongsberg har begått en perle av et gratisprogram for bruk i batchfiler. Det ligger i filen TAST10.COM (13KB). I utgangspunktet har TAST mye til felles med INKEY, som vi har omtalt flere ganger før (bl.a. i 9/88 s. 188). Men det eneste INKEY har fremfor TAST er simulering av ANSI escape-kommandoer ved visning av menyer og meldinger.

Bjørn skriver i bruksanvisningen (som er på norsk) at TAST ble laget for å sette NumLock AV i AUTOEXEC.BAT og for å kunne starte maskinen med forskjellige oppsett uten å måtte endre filen for hver gang. Det var en slik anvendelse som fikk meg i gang med programmet.

Valg av "AUTOEXEC.BAT-løp"

Sist fortalte jeg om CONFIG20.COM. Det lar deg velge mellom ulike versjoner av AUTOEXEC.BAT og CONFIG.SYS avhengig av hva maskinen skal brukes til. Det er et program jeg har hatt mye glede av.

Metoden hjelper imidlertid "dårlig" om jeg ønsker å starte PCen med samme innstilling en gang til. F.eks. etter et programkrasj. Det er spesielt plagsomt om maskinen er oppsatt for "normal oppstart". Da må jeg bl.a. vente på CHKDSK-kontroll av fire logiske diskstasjoner og diverse andre en-gang-per-dag-oppgaver før PCen er klar til bruk igjen.

TAST kan kontrollere om taster er trykket, shifttaster er nede og om "lock"-taster er på. Nå bruker jeg det i AUTOEXEC.BAT for å kontrollere om CapsLock-tasten er nede. Er den det, starter PCen opp uten tidkrevende en-gang-per-dag oppgaver.

Bruken er enkel. Følgende kommandoer ligger i AUTOEXEC.BAT:

c:\util\tast caps
if errorlevel 1 goto hurtig
rem her kommer flere linjer med en-gang-per-dag kommandoer
:hurtig
rem her fortsetter det med kommandoer som må være med
rem ved hver oppstart

Straks PCen begynner med sine interne kontroller, dvs. før den begynner på AUTOEXEC.BAT, trykker jeg CapsLock og kontrollampen lyser. Det er det som kreves for at AUTOEXEC.BAT skal kunne kjøre hurtigruten.

Hadde jeg hatt AT-tastatur tilkoplet Toshiba 5100, kunne jeg latt TAST slå AV CapsLock-tasten automatisk senere i prosessen (f.eks. som første kommando etter labelen "hurtig" over). Det har den imidlertid ikke. Jeg bruker gratisprogrammet i filen LOCK.COM (2KB) til denne jobben.

TAST kan mer

TAST kan teste om en eller annen tast er trykket ned (om tastetrykket ligger i tastaturbufferet) eller du kan be TAST vente på at en gitt tast trykkes ned. Ber du TAST vente, stopper utførelsen av batchfilen inntil du har trykket på tasten. Eksempel:

Du har en batchfil for sikkerhetskopiering på disketter. Ved oppstart stiller den spørsmålet: "Vil du kopiere filer, som ikke er sikkerhetskopiert enda, eller vil du kopiere alle filene på disken. Tast A for alle, N for nye". Der stopper det. Du velger "rute" med et trykk på A eller N.

Det følger flere batchfiler med som demonstrasjonseksempler. De er nyttige for å forstå hvordan programmet skal brukes.

Tips: Husk at ERRORLEVEL-tester må settes opp slik at testen på det største tallet kommer først (synkende tallrekke), dvs. test først på 4, deretter på 3 osv. Testen "if errorlevel 4 ..." fanger opp alle ERRORLEVEL-signaler høyere eller lik tallet 4!

Programmet skiller ikke på store og små bokstaver. Det følger med en engelskspråklig versjon.

Enda et hjelpemiddel for Batchfiler

IFF (i filen IFF50A.COM, 46KB, bidrag US$20) er et hjelpemiddel i "samme klasse". Det gjør noe av det samme som TAST, men bidrar også med en rekke andre nyttige funksjoner. Dessuten gir det mulighet til en viss skreddersøm av brukergrensesnittet.

La det være sagt med en gang: IFF kan ikke endre rute i farta slik TAST gjør det (jfr. CapsLock-tricket). Men IFF kan stille enkle spørsmål og sørge for utførelse av forskjellige gjøremål avhengig av svaret ved hjelp av DOS ERRORLEVEL tester.

Her er noen av IFFs spesialiteter. Det kan:

  • Kontrollere om disketter er formattert (f.eks. med sikte på automatisk formattering, om så ikke er tilfelle), om du har glemt å sette en diskett i A-stasjonen, eller om disketten i A-stasjonen har et gitt volumnavn.
  • Kontrollere om det er nok tilgjengelig hukommelse (RAM- eller EMS-hukommelse) for kjøring av et gitt program,
  • Kontrollere om det er plass nok på disken eller i DOS environment for å kunne kjøre en jobb, og om en (eller flere) fil(er) finnes på disken,
  • Det har en vent-kommando (f.eks. slik: "Vent i 30 sekunder. Fortsett deretter om brukeren ikke taster inn et svar. Reagerer med en gang om du får et svar."),
  • Det kan søke på en gitt stasjon etter et filnavn og evt. stille seg inn på den katalogen der filen ligger lagret,
  • Kontrollere om datoen PCen er satt opp med (med DATE-kommandoen e.l.) er minst lik den som er lagret i IFF. Dette kan f.eks. være nyttig på PCer uten innebygget klokke når anvendelsen er regnskapsføring eller andre anvendelser der brukeren ikke må glemme å sette riktig dato før oppstart.
  • Det kan finne ut hvilken kalenderdag og måned det er, med sikte på å bruke dette for å styre en batchfil eller sende det videre inn i et brukerprogram.

IFF kan motta brukerinput av variabel lengde (f.eks. en persons navn) og lagre resultatet i en variabel i DOS environment. Du kan bruke denne informasjonen i en batchfil med en kommando av denne typen:

IF %IFF%==<noe> <gjør noe>

Et fint program å ha i verktøykassen.

RAM-disk

Bruk av RAM-disk kan være nyttig for å få mere fart på PCen. Det går enkelt ut på å bruke en del av hukommelsen som en diskstasjon. Når du starter opp et program på en slik disk, går det hurtigere enn ved oppstart fra harddisk eller disketter.

Systemet i filen NJRAMDSK.COM (29KB, bidragsønske US$15.00) gjør deg i stand til å bruke EMS (Lotus/Intel/Microsoft standard) eller EEMS-hukommelse (AST/Quadram/Ashton-Tate standard) som en effektiv og hurtig diskstasjon. Det beslaglegger 720 bytes av DOS hukommelsen (VDISK tar ca. 17KB på min Toshiba 5100).

Diskens størrelse kan bl.a. angis i KB eller at all tilgjengelig hukommelse skal brukes. Programmet er uinteressant for dem som ikke har EMS eller EEMS-hukommelse i maskinen.

Systemet i filen ADJRAM31.COM (48KB, gratis) kan både bruke EMS-hukommelse og DOS normale RAM-hukommelse. Det spesielle med ADJRAM - og som gjør programmet interessant selv om du allerede bruker en annen løsning - er at du kan endre størrelsen på harddisken uten å boote opp maskinen mellom hver gang det gjøres.

Du kan f.eks. starte opp med en 64KB stor RAM-disk og bruke den for lagring av noen hjelpemidler du bruker ofte. Når du trenger mer plass, f.eks. for dekomprimering (opp-pakking) av en komprimert fil fra en oppslagstavle, øker du den midlertidig til 320 KB.

Du tar en titt på resultatet og sprer de dekomprimerte filene rundt på underkataloger og evt. til diskett. Når du er ferdig, endrer du RAM-disken tilbake til 64 KB kapasitet - uten at hjelpeprogrammene som ligger der forsvinner.

Merk: Programmet vil alltid ta minst 65KB av RAM, også om du bruker EMS-hukommelse. Jeg greidde ikke å lage en større RAM-disk enn 1024 KB på Toshiba 5100 (EMS versjon 3.2).

Omregning av engelske mål

Programmet i filen CONVERT.COM (45KB, US$20.00) konverterer fra amerikanske og engelske målenheter til metriske og tilbake. Det håndterer lengde, flatemål, volum, tid, energi, kraft, vinkelmål, frekvens, strøm, motstand, strømstyrke, krefter og vekt.

Bruken er litt uvant, men det gjør jobben. En svakhet er at det krever over 356KB av hukommelsen.

Titte på GIF-filer

VGIF (i filen VGIF.COM (34KB) kan brukes for å se på bilder i .GIF format på EGA eller VGA skjerm. Med en VGA-skjerm kan du justere bildenes farger, kontrast, lysstyrke og oppløsning. Et tastetrykk og GIF-bildet kan lagres i PC Paint/Pictor, ZSofts .PCX-format, Dr. Halo eller EGA Paint, f.eks. med sikte på å importere dem i andre programmer for bruk i tekstbehandling e.l.

Marker filene og få dem kjørt som slidesshow i valgfritt tempo.

For programmerere

Har du ønsket deg en C-kompilator? En gratisversjon ligger i filen MC141.EXE (259KB). Den inneholder bl.a. til en introduksjon til C-språket, fyldig dokumentasjon, innebygde og eksterne preprosessorer og over 100 biblioteksfunksjoner.

MICRO-C er en liten, hurtig kompilator for et subset av C språket. Det er konstruert for å være meget portabelt og er ikke knyttet til noen bestemt prosessorarkitektur. Filen inneholder kodegeneratorer for 8080/8085/Z80, 80x86, 6809 og 68HC11.

Kompilatoren er laget av Dave Dunfield, 56 Burnetts Grove Circle, Nepean, Ont. K2J 1N6, Kanada.

På tampen

Filen ALARM11.COM (23KB) inneholder et morsomt lite innbruddsalarm program. Av sikkerhetsgrunner sier jeg ikke mer ...

Programmet i DIST.COM (11KB) måler avstanden fra hvor markøren står på skjermen til et hvilket som helst annet punkt på skjermen. Det er nyttig når du ønsker å vite avstanden mellom to punkter og ikke ønsker å telle manuelt. Programmet er laget av Tom Sivesind i Tranby.



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