MainframeSupports
tip uge 45/1999:
Hører du også til en af dem, der har bandet ISPF-editoren
langt væk, når du ville kopiere den samme linie til flere forskellige
steder. Så er der hjælp at hente i denne uges tip. Vi har lånt
tippet af en konsulent fra en af vore samarbejdspartnere og omskrevet det
en lille smule, men grundideen er den samme.
Følgende EDIT- macro virker på den måde, at man
Markerer den linie, man ønsker at kopiere ved at give den en label
kaldes .INS
Udsteder en FIND-kommando, som vil finde de linier, man ønsker at
indsætte den markerede linie efter
Indtaster navnet på EDIT-macroen i kommandofeltet og trykker på
Enter
Herefter vil EDIT-macroen indsætte linien markeret med label
.INS efter alle de linier, hvor søgeteksten i FIND-kommandoen optræder.
/* REXX */
ADDRESS ISREDIT
"MACRO"
ADDRESS ISPEXEC "CONTROL ERRORS RETURN"
"(INSLINE) = LINE .INS"
IF RC <> 0
THEN DO
SAY "Der er ikke fundet nogen linie med label .INS"
RETURN
END
"CURSOR = 1 1"
"RFIND"
IF RC <> 0
THEN DO
SAY "Søgestrengen er ikke fundet"
RETURN
END
INSCOUNT = 0
DO WHILE RC = 0
"(LINENO) = LINENUM .ZCSR"
"LINE_AFTER "LINENO" = DATALINE (INSLINE)"
INSCOUNT = INSCOUNT + 1
LINENO = LINENO + 2
"CURSOR = "LINENO" 1"
IF RC = 0
THEN
"RFIND"
END
SAY "Der er indsat "INSCOUNT" linie"COPIES('r', INSCOUNT <> 1)
EXIT
Vi tager forbehold for stavefejl, da EDIT-macroen er en omformuleret afskrift
af den originale EDIT-macro. Den her skitserede EDIT-macro er med andre
ord ikke afprøvet. Tekster udskrevet af EDIT-macroen er absolut
ikke kønne, så her kan man indsætte sin egen tekstudskrivning,
for eksempel vil brugen af ISPF SETMSG gøre underværker.
Når man een gang har set, hvordan man kan få kopieret den
samme linie flere gange, så er der ikke langt til næste modifikation.
Vi har allerede tænkt på en udgave, hvor man markerer flere
linier som en blok eksempelvis med CC og kopierer hele blokken. En anden
modifikation er kun at indsætte efter ikke excludede linier, så
man i højere grad selv kan styre, hvor der skal indsættes.
Og du kan sandsynligvis selv finde på endnu mere. Vi vil selvfølgelig
gerne høre fra dig, hvis du laver en smart modifikation.
Sidste uges tip
Tip oversigten