Saltrød Horror Show nr. 58

av Odd de Presno.


Publisert i Datatid, Norge nr. 10/1991, side 84.


Hjemmesnekret adressesystem

Kona bruker "fletting", når hun skriver ut adresseetiketter for kunstgalleriet på laserskriveren. Spør du hvordan, ser hun på deg med uvitende øyne. Flettingen skjer i det skjulte. Det er en funksjon blant mange i et større menysystem.

Systemet har følgende funksjoner på hovedmenyen: Føye til, Endre og Slette adresser, Liste over tilgjengelige søkekoder, Utskrift av adresselister (av alt eller avgrenset pr. søkeord), Tilføying av nye søkeord til adresser og Utskrift av adresser på etiketter.

Systemets kjerne

Adresselisten er systemets kjerne. Adressene ligger lagret som DOS-tekst i en kommadelt tekstfil på følgende måte:

Ola Dunk,Munkeholmen 16c,4800 Arendal,,,*kunde*presse,
Jens L. Nielsen,Skibevig,4815 Saltrød,,,*kunde,

De første fem "feltene" brukes til adresseinformasjon. Det sjette brukes til søkeord. Hvert søkeord begynner med et *-tegn. I eksemplet er det to søkebegreper, "*kunde" og "*presse". Ved hjelp av disse kan hun plukke ut adressene til alle som enten er "kunde" eller "presse", evt. bare til "presse".

Tekstprogrammet krever ikke at adresselisten må være kommadelt for å kunne flette. Metoden har imidlertid sine fordeler. Adressene blir lettere å finne, skrive ut (opptil fem linjer pr. etikett), sortere, slette og endre.

Systemet er laget for bruk med tekstprogrammet PC-WRITE (versjon 2.71). Det burde imidlertid være relativt enkelt å endre det for bruk med andre tekstprogrammer, som WordPerfect. Husk bare at adresselisten til enhvert tid må lagres som DOS-tekst.

PC-WRITE må vite eksakt i hvilke posisjoner hver enkelt adresse skal skrives ut. Flettemalen beskriver de 24 gummierte etikettenes plassering på A4-arket. (Vi bruker Tenza Self adhesive copier labels, 70x37mm.) En feil i malen og adressene kommer ut feil.

Hjelpemidlene

Adressesystemet er bygget opp rundt menyen i figur 1 under (filnavn MENY). Batchfilen, som styrer funksjonene i menyen, er vist i figur 2.

Systemet forutsetter at du har rekke hjelpeprogrammer. Under skal vi beskrive hvert enkelt av dem og deres rolle i systemet:

Ja/Nei spørsmål

IFF (i filen IFF50A.COM, se bl.a. nr. 4/91 s. 84) har to anvendelser:

Kommandoen IFF Q Spørsmål (Y/N) brukes for inntasting av Ja/Nei flere steder. Vi kunne også brukt SSET (se under) eller DOS-kommandoer, men da hadde batchfilen blitt større og mer komplisert.

Kommandoen IFF M MENY LIMIT A viser filen MENY på skjermen og behandler dine valg fra denne. "LIMIT A" begrenser lovlige valg til tall mellom området 0-9. Alle andre tegn som tastes inn (f.eks. bokstaver), blir forkastet. Dette kan også gjøres med andre verktøy. IFF gjør det mest elegant.

Inntasting av informasjon

SSET (i filen SSET16.EXE, 24KB, gratis) brukes for å stoppe batchfilen og be brukeren taste inn et stykke informasjon, f.eks. et navn eller et søkeord. Informasjonen mellomlagres i DOS environment.

Informasjon lagres normalt i DOS environment med DOS SET= kommando, som i kommandoen SET PATH=C:\DOS. Tast "set" og trykk ENTER for en oversikt over hva som ligger lagret der nå.

Informasjon lagret i DOS environment på denne måten kan brukes i batchfiler i formen %VARIABELNAVN%. Kommandoen "ECHO %PATH%" viser f.eks. hva som er innholdet i variablen PATH. Testen IF (%IFF%)==() GOTO START forteller batchfilen at den skal gå til etiketten "start" hvis variablen IFF ikke har noe innhold.

I vårt system hentes informasjon fra environment for bruk i søkekommandoer, echo-kommandoer med omdirigering til en fil eller fremvisning på skjerm og for å få systemet til å gå til et annet sted i batchfilen (navigeringsinformasjon). La oss se på noen av kommandoene:

Kommandoen "SSET IFF*=" nuller ut alle variabler med navn som begynner med bokstavene IFF, f.eks. IFF, IFF1, IFF2 osv.

Ved kommandoen SSET @INP("Tast fullt navn: "^IFF) stopper batchfilen med meldingen "Tast fullt navn: ". Svaret legges inn i variablen IFF.

En variant, SSET @INP("Tast fullt navn: "^IFF^C), lagrer ett linjeskifttegn etter navnet som tastes inn.

Skal flere variabler føyes sammen til en linje, må du bruke den første formen. Like under må du bruke ECHO-kommandoen for å få neste linje skrevet ut på riktig plass på skjermen. En blank linje på skjermen lages i våre versjoner av DOS 3.20 og 3.30 med kommandoen "ECHO:". I din versjon av DOS, må du kanskje bruke en annen metode.

Merk: I enkelte tasteforbedringsprogrammer, f.eks. CED og PCED, brukes noen av SSETs spesialtegn. Dette gjelder f.eks. tegnet ^. I min kones system slås derfor PCED av ved oppstart og på igjen, når jobben er ferdig (CED OFF/CED ON). Kan ikke ditt program slås av/på, kan du bruke TSR (i TSR29.COM, se bl.a. nr. 6/91 s. 96) for å fjerne det fra hukommelsen.

Søking i adressearkivet gjøres med FGREP (i filen FGREP171.EXE, 15KB, gratis. Se bl.a. 11/90 s. 112).

Kommandoen FGREP -e "%IFF%" ADRESSER.91 kontrollerer om en adresse allerede finnes i arkivet. FGREP søker etter en streng som ligger i variablen IFF (f.eks. navnet "Odd de Presno"). Parameteren -e angir at vi skal undersøke om søket ble vellykket med DOS ERRORLEVEL-kommandoer.

Parameteren "-sx" brukes når søkeresultatet skal skrives ut uten programmets logo og navnet på den filen som det søkes i.

Parameteren "-svx" gir utskrift av alt UNNTATT det som finnes. Nyttig når en adresse skal fjernes fra arkivet (alt det andre skal beholdes).

Automatisert bruk av hjelpeprogrammene

FAKEY (i filen FAKEY.COM, 9KB, gratis, se bl.a. nr. 9/90, s. 98) sender tastetrykk til et etterfølgende program, slik at det kan kjøres helt eller delvis automatisk.

Foran PC-WRITEs utskriftsprogram PR, brukes det med kommandoen FAKEY wait 1 "blank.prt" \r wait 1 F10 wait 1 F10. Oversatt til norsk: Vent ett sekund, tast inn teksten "blank.prt" (som er et skriveroppsett for PC-WRITE), send et linjeskift, vent ett sekund, trykk på F10-tasten, vent ett sekund, Trykk F10 igjen.

Brukere av WordPerfect vil antakelig lage en makro med en tilhørende FAKEY-kommando. Denne kan f.eks. utføre følgende: Hent inn utskriftsfilen som DOS-tekst, velg utskriftsmal og skriv ut.

Foran PC-WRITEs skriveprogram ED, brukes FAKEY med kommandoen FAKEY ESC S2 F7 wait 1 F8 wait 1 F10. Dette starter flettingen. Koden "ESC" står for et trykk på ESC-tasten, "S2" for Shift-F2, F7 er F7-tasten, F8 er F8-tasten, osv. Bruker du WordPerfect eller noe annet, vil du sannsynligvis legge inn andre tastetrykk for å starte opp en flettemakro.

Sortert liste over adresser og søkeord

Sorteringen består av to oppgaver, selve sorteringen og utluking av like linjer (aktuelt om du søker i adressearkivet ved bruk av flere søkeord).

Sortering gjøres med QSORT (i filen QSORT403.COM). DO (i filen DO33.EXE, 32 KB, bidragsønske US$ 10.00). DO (i filen DO33.EXE, 32KB, US$10.00) brukes for å fjerne blanke linjer og flere forekomster av samme adresse fra adressefilen.

Vi har valgt å lagre adressene i adressearkivet i sin normale form, dvs. først fornavn, så etternavn. For å få en liste over navn med etternavnet først, bruker vi igjen DO.

Kommandoen "DO d adresser.tmp" gjør adressen "Odd de Presno, 4815 Saltrød" om til "Presno, Odd de, 4815 Saltrød".

Søk og erstatt

BCHANGE (i filen BCHANG11.COM, 19KB, US$15, se bl.a. nr. 12/90 s. 130) brukes til flere oppgaver:

I BCHANGE adresser.do adresser.tmp "0D,0A,2C" "0d,0a" /b søkes det etter et linjeskift med etterfølgende komma (dvs. et komma på begynnelsen av en linje) for å fjerne slike kommaer før adressene sorteres alfabetisk på etternavn. Søket skjer binært. Kodene er hexadesimale koder for de tegnene som er med i søket (jfr. ASCII-tabellen i DOS-håndboken).

Kommandoen BCHANGE NY TMP "2C,0D,0A" "" /b fjerner et komma og ett linjeskift på slutten av en linje. Det gjøres for å kunne legge søkeord inn ved siden av hverandre i det siste feltet i den kommaseparerte filen. Søkeordene skal ikke skilles med komma.

BCHANGE RES RESULTAT "0D,0A" "2C,0D,0A" /b føyer et komma til sist på hver linje. Kommaet fjernes når vi bruker hjelpeprogrammet CUT (se under). Det må føyes til igjen før fletting.

Se på resultatet

Det er interessant å inspisere resultatene før utskrift. Noen ganger er lesing på skjerm tilstrekkelig. Her gjøres det med LIST (i filen LIST75I.EXE, 84KB). Du kan også bruke et tekstprogram.

Fjerning av kodeordene før utskrift

Kodeordene har ingen funksjon på en adresseetikett. I menyvalg 4 er vi kun interessert i søkeordene. Vi bruker programmet CUT (i filen CUTOUT.EXE, 10 KB, gratis) for å få dem ut i en liste.

Kommandoen CUT -F6 -D, ADRESSER.91 >KEYS1 lager listen over søkeord. Koden "-f6" plukker ut felt nr. 6. Koden "-d," forteller CUT at filen er kommadelt.

Kommandoen CUT -F1-5 -D, MERGE.LST >RES lager en liste over innholdet i felt nr. 1 til og med 5 (og fjerner kommaet på slutten som nevnt over). Resultatet blir en liste med adresser uten søkeord.

Helt til slutt

brukes QCMP (i filen QCMP.COM, 13KB, gratis) for å kontrollere om det er foretatt endringer i ADDRESSER.91 (ved sammenligning med kopien av den gamle versjonen i ADRESSER.BAK).

Skulle du få for lite plass i environment til det du forsøker å lagre der (melding "Out of environment space"), kan du øke den til 512 bytes. Jeg går litt lengre. Følgende kommando ligger fast i min CONFIG.SYS:

SHELL=C:\COMMAND.COM /E:1024 /P

Lykke til!


Figur 1

                  Meny for adressearkivet
                  +++++++++++++++++++++++
VEDLIKEHOLD AV ADRESSEARKIVET
1  Føye til nye adresser
2  Ajourføring av arkivet (tekstbehandling)
3  Slette adresser
4  Oversikt over søkeord for adresseutskrift
5  Utskrift av adresseliste ut fra gitte søkeord 
        (f.eks. en liste over medlemmer)
6  Utskrift av liste over alle
7  Føye til ekstra søkeord til adresser
UTSKRIFT AV ETIKETTER
8  Utskrifter vernissage (hele databasen skrives ut)
9  Utskrift av etiketter med valgfrie søkeord
         ( evt. ved automatisk utluking av dem som har betalt i år)

Ditt valg (0 = slutt):


Figur 2

echo off
rem *******************************************
rem ** ADRESSESYSTEM av Odd de Presno 8/91 **
rem *******************************************
rem *** DOS 3.0 kan ikke bruke environmental variabler. De
rem *** funksjonene under som bruker slike, vil derfor ikke kunne
rem *** kjøres under denne versjonen av DOS.
cls
IFF Q Vil du lage et sikkerhetskopi av ADRESSER.91 (ADRESSER.BAK)?
rem errorlevel 20 tilsvarer svaret N (for nei)
if errorlevel 20 goto start
copy adresser.91 adresser.bak
:start
cls
IFF m meny limit A
if errorlevel 9 goto print
if errorlevel 8 goto vern
if errorlevel 7 goto kadd
if errorlevel 6 goto ss3ss
if errorlevel 5 goto ssort
if errorlevel 4 goto keys
if errorlevel 3 goto delete
if errorlevel 2 goto change
if errorlevel 1 goto add
if errorlevel 0 goto slutt
goto start
:add
rem Nuller ut alle variabler med jokernavnet IFF* for å unngå at
rem gammel informasjon sniker seg inn i nye adresser.
SSET iff*=
cls
echo:
echo FØYE TIL NYE ADRESSER
echo:********************
echo:
echo Tast inn navnet (Eller en del av navnet, om du bare vil søke)
echo Husk store og små bokstaver! Tast ENTER for å avbryte funksjonen.
echo:
SSET @inp("Tast fullt navn (maks 25 bokstaver): "^iff)
if (%iff%)==() goto start
echo:
echo Kontrollerer om navnet er i arkivet ...
FGREP -e "%iff%" adresser.91
if not errorlevel 1 echo Navnet finnes ikke.
if not errorlevel 1 goto iff
echo:
echo Adressearkivet inneholder følgende
FGREP -sx "%iff%" adresser.91>tmp
TYPE tmp
echo:***********************>key
echo:**Søkeordet er: %iff% >>key
echo:***********************>>key
echo:
echo Tast "skriv" om du vil ha adressen(e) ut på skriveren.
echo Tast "slett" om du vil fjerne adressen(e) fra arkivet.
:iff
echo Trykk ENTER for å forsøke en gang til.
echo:
echo Tast inn adresselinje 1 av 4 om du vil ajourføre adressearkivet
echo:
SSET @inp("Tast Adresse eller kommando: "^iff1)
if (%iff1%)==() if exist key del key
if (%iff1%)==() goto add
rem 100 prosent sikker blir testene under om du bruker ECHO %iff1% og
rem omdirigerer til en fil for deretter å søke etter "skriv" med
rem FGREP. Da vil du også fange opp "sKriv" og "Skriv".
if (%iff1%)==(SKRIV) goto skriv
if (%iff1%)==(skriv) goto skriv
if (%iff1%)==(SLETT) goto slett
if (%iff1%)==(slett) goto slett
if exist tmp del tmp
goto fortsett
:slett
echo:
type tmp
echo:
goto slett2
:skriv
cls
echo Vent litt ...
copy key+tmp key
del tmp
FAKEY wait 1 "blank.prt" \r wait 1 F10 wait 1 F10
PR key
goto add
:fortsett
echo:
echo Tast ENTER om det ikke er flere linjer i adressen
echo Tast "stopp" om du har ombestemt deg og vil tilbake til menyen
echo:
SSET @inp("Tast inn adresselinje 2: "^iff2)
if (%iff2%)==() goto neste
if (%iff2%)==(STOPP) goto add
if (%iff2%)==(stopp) goto add
:neste
echo:
echo:
echo Tast inn adresselinje 3 av 4
echo Tast ENTER om det ikke er flere linjer i adressen
SSET @inp("Tast inn adressen: "^iff3)
echo:
echo:
echo:
echo Tast inn adresselinje 4 av 4
echo Tast ENTER om det ikke er flere linjer i adressen
SSET @inp("Tast inn adressen: "^iff4)
echo:
echo Tast inn søkeord for adressen!
echo:
echo Du bruker følgende ord i dag:
echo presse venn 88 89 90 91 92 bedrift kunst vern politikk
echo Bruk *-tegnet foran alle søkeord!
echo Eksempel: *92*bedrift (ENTER=retur til menyen)
echo: (Hvis du bare vil søke, tast "s")
echo:
SSET @inp("Tast inn adressen: "^iff5)
if (%iff5%)==() goto start
cls
echo Du har registrert følgende nye navn:
echo %iff%,%iff1%,%iff2%,%iff3%,%iff4%,%iff5%,
echo:
IFF Q Er dette OK?
if errorlevel 20 echo Adressearkivet blir ikke ajourført med adressen!
if errorlevel 20 goto add
echo %iff%,%iff1%,%iff2%,%iff3%,%iff4%,%iff5%,>>adresser.91
goto add
:print
cls
if exist merge.out del merge.out
echo Utskrift av etiketter (valgfritt)
:prss
echo presse venn 88 89 90 91 92 bedrift kunst vern politikk
echo Ikke bruk * når du taster søkeordene!
echo:
SSET @inp("Tast inn søkeord 1 (ENTER=angreknapp): "^iff^c)
if (%iff%)==() goto start
FGREP -sx "*%iff%" adresser.91> utfil
FGREP -e "*" utfil
if not errorlevel 1 echo Du brukte feil søkeord. (Ikke bruk "*".)
if not errorlevel 1 goto prss
SSET @inp("Tast inn søkeord 2 (ENTER=nok): "^iff^c)
if (%iff%)==() goto kutte
FGREP -sx "*%iff%" adresser.91>> utfil
SSET @inp("Tast inn søkeord 3 (ENTER=nok): "^iff^c)
if (%iff%)==() goto dubletter
FGREP -sx "*%iff%" adresser.91>> utfil
SSET @inp("Tast inn søkeord 4 (ENTER=nok): "^iff^c)
if (%iff%)==() goto dubletter
FGREP -sx "*%iff%" adresser.91>> utfil
SSET @inp("Tast inn søkeord 5 (ENTER=nok): "^iff^c)
if (%iff%)==() goto dubletter
FGREP -sx "*%iff%" adresser.91>> utfil
SSET @inp("Tast inn søkeord 6 (ENTER=nok): "^iff^c)
if (%iff%)==() goto dubletter
FGREP -sx "*%iff%" adresser.91>> utfil
SSET @inp("Tast inn søkeord 7 (ENTER=nok): "^iff^c)
if (%iff%)==() goto dubletter
FGREP -sx "*%iff%" adresser.91>> utfil
SSET @inp("Tast inn søkeord 8 (ENTER=nok): "^iff^c)
if (%iff%)==() goto dubletter
FGREP -sx "*%iff%" adresser.91>> utfil
SSET @inp("Tast inn søkeord 9 (ENTER=nok): "^iff^c)
if (%iff%)==() goto dubletter
FGREP -sx "*%iff%" adresser.91>> utfil
:dubletter
cls
echo Sorterer filen alfabetisk, luker ut dubletter
echo vent litt ...
QSORT utfil
DO b utfil > utfil2
if %ssort%==ja goto ss3ss
cls
IFF Q Vil du fjerne adresser med visse søkeord?
if errorlevel 20 goto kutte
if errorlevel 0 goto betalt
:betalt
cls
echo Fjerne adresser ut fra gitte søkeord.
echo:
echo Du bruker disse i dag:
echo presse venn 88 89 90 91 92 bedrift kunst vern politikk
echo Ikke bruk * når du taster søkeord! Ett av gangen.
echo:
SSET @inp("Tast inn søkeord (ENTER=gjøres ikke likevel): "^iff^c)
if (%iff%)==() goto kutte
FGREP -svx "*%iff%" utfil2 > utfil
SSET @inp("Tast inn søkeord 2 (ENTER=nok): "^iff^c)
if (%iff%)==() goto kutte
FGREP -svx "*%iff%" utfil > utfil2
del utfil
ren utfil2 utfil
:kutte
if %ssort%==ja goto dubletter
if exist merge.lst del merge.lst
ren utfil merge.lst
goto utskrift
:vern
cls
echo Vent litt ..
if exist merge.out del merge.out
copy adresser.91 merge.lst
goto utskrift
:ss3ss
if exist adresser.tmp del adresser.tmp
if (%ssort%)==(ja) ren utfil2 adresser.tmp
if (%ssort%)==(ja) goto ssdir
copy adresser.91 adresser.tmp
:ssdir
cls
echo Etternavnet flyttes først på linjen. Vent litt...
DO d adresser.tmp > adresser.do
BCHANGE adresser.do adresser.tmp "0D,0A,2C" "0d,0a" /b
del adresser.do
echo Adressene sorteres alfabetisk. Vent litt..
QSORT adresser.tmp
if %ssort%==ja set ssort=tull
LIST adresser.tmp
IFF Q Vil du skrive ut på printeren?
if errorlevel 20 goto tyve
if errorlevel 0 goto system
goto tyve
:system
FAKEY wait 1 "blank.prt" \r wait 1 F10 wait 1 F10
PR adresser.tmp
:tyve
IFF Q Vil du slette den midlertidige filen ADRESSER.TMP?
if errorlevel 20 goto start
if errorlevel 0 del adresser.tmp
goto start
:kadd
cls
echo Tilføye søkeord for adresser som finnes i databasen
echo:**************************************************
echo:
SSET @inp("Tast navnet/en del av navnet (ENTER = til menyen): "^iff)
if (%iff%)==() goto start
echo:
echo Kontrollerer om navnet allerede er i arkivet ...
FGREP -sx "%iff%" adresser.91
echo:
IFF Q Er det denne adressen du vil endre?
if errorlevel 20 goto kadd
echo:
echo vent litt ..
FGREP -sx "%iff%" adresser.91 >ny
FGREP -svx "%iff%" adresser.91 >adresser.ny
cls
echo Følgende søkeord brukes:
echo presse venn 88 89 90 91 92 bedrift kunst vern politikk
echo:
echo Du har brukt:
type ny
echo:
echo Tilføying av nytt søkeord. HUSK riktig bruk av *-ene!!!
echo: f.eks. *91*venn
echo:
SSET @inp("Tast nytt søkeord (ENTER = til menyen): "^iff)
if (%iff%)==() goto start
echo:
BCHANGE ny tmp "2c,0D,0A" "" /b
echo %iff%,>>tmp
del ny
ren tmp ny
cls
type ny
echo:
echo:
IFF Q Er det slik du vil ha det?
if errorlevel 20 goto kadd
echo vent litt ...
type ny >>adresser.ny
del adresser.91
ren adresser.ny adresser.91
if exist tmp del tmp
if exist ny del ny
goto start
:ssort
rem Alfabetisk utskrift av liste over adresser valgt ut med søkeord
set ssort=ja
goto prss
:keys
cls
echo Oversikt over søkeord som blir benyttet
echo Vent litt ...
CUT -f6 -d, adresser.91 >keys1
QSORT keys1
DO b keys1 >keys
del keys1
LIST keys
IFF Q Vil du slette oversikten over nøkkelord?
if errorlevel 0 del keys
goto start
:delete
cls
echo Først skal vi prøveslette for å kontrollere om din slettekommando er OK
echo:
echo Tast inn en del av adressen du vil slette
echo: f.eks: tast HENKI i stedet for hele navnet
echo:
echo Merk:
echo: Ingen endringer blir foretatt før du har bekreftet det
echo: Tast ENTER=for å gå tilbake til hovedmenyen
echo:
SSET @inp("Tast inn: (ENTER=retur): "^iff)
if (%iff%)==() goto start
cls
echo Med dette søkeordet finnes følgende adresse(r) i arkivet:
FGREP -sx "%IFF%" adresser.91
:slett2
IFF Q Vil du slette denne/disse adressene?
if errorlevel 20 goto start
echo Vent litt ..
FGREP -svx "%IFF%" adresser.91 >adresser.ny
:rydd
del adresser.91
ren adresser.ny adresser.91
goto start
:change
cls
echo Endring av adressearkivet med PC-WRITE
echo: HUSK:
echo: * Pass på at det hele tiden er riktig antall kommaer!!
echo: * IKKE skriv inn kommaer mellom søkeordene!!!
echo: * HUSK: Teksten må komme DIREKTE etter kommaene. Ingen
echo: blanke først!!!
echo: * Bruk F9-tasten for å søke etter navn i arkivet
echo: * Bruk ALT\ for å gå opp til begynnelsen av adresselisten
pause
FAKEY ESC
ed adresser.91
goto start
:utskrift
echo vent litt til
echo korreksjon av filliste
CUT -f1-5 -d, merge.lst >res
BCHANGE res resultat "0D,0A" "2c,0d,0a" /b
del res
DO b resultat >merge.lst
if exist merge.out del merge.out
cls
echo Fremgangsmåte:
echo Utskriftsfilen lages automatisk.
echo Når jobben er ferdig, går du ut av PC-WRITE som vanlig
echo ved å trykke F1 og deretter F2.
pause
FAKEY ESC S2 F7 wait 1 F8 wait 1 F10
ed template.lab
cls
echo Kontroller om resultatet ble bra
pause
LIST merge.out
echo Hvis du er misfornøyd, bør du kanskje rette opp i adressearkivet.
IFF Q Tast Y om du vil korrigere, N om det er OK
if errorlevel 20 goto utok
goto change
:utok
cls
echo Ta på skriveren
echo Anbefalt: manuell mating med en side av gangen.
pause
FAKEY wait 1 "mail.prt" \r wait 1 F10
PR merge.out
goto start
:slutt
if exist key del key
QCMP adresser.91 adresser.bak -D0
if errorlevel 1 goto feil
goto exit
:feil
echo Fjerner evt. blanke linjer og dobbeltførte adresser. Vent litt...
DO b adresser.91 > adresser.ny
del adresser.91
ren adresser.ny adresser.91
:exit
echo on



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