|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 11520 (0x2d00)
Types: TextFile
Names: »READ«
└─⟦21cf82d66⟧ Bits:30007007/RCPRPA.imd RC Prislistesystem
└─⟦this⟧ »READ«
└─⟦7441cce76⟧ Bits:30007007/RCPRBA.imd RC Prislistesystem
└─⟦this⟧ »READ«
/GFILE //17/3-84 LBA
------------------------------ LÆS ASCII FIL -----------------------------
Begynd med at vælge hvilken Database-fil De vil indlæse data TILL.
Indtast derefter nummeret på filen for at komme videre.
Database-filer: NUMMER NAVN
__. ______________________________________
__. ______________________________________
__. ______________________________________
__. ______________________________________
__. ______________________________________
__. ______________________________________
__. ______________________________________
__. ______________________________________
__. ______________________________________
__. ______________________________________
__. ______________________________________
__. ______________________________________
Indtast nummeret på den fil De vil indlæse data TILL: __.
("NÆSTE" for flere filer, "FOREGÅENDE" for om-start, HJÆLPETEKST findes)
/FILEHELP HELP
----------------------------- LÆS ASCII FIL --------------------------------
HJÆLPETEKST FOR UDVÆLGELSE AF DATABASE-FIL
For at komme gennem dette program skal De vide hvilken database-fil
ASCII-filen skal indlæses til. De skal også kende ANTAL ELEMENTER i
ASCII-filen som skal indlæses for at kunne skabe EN POST i Database-filen.
---------------------------------------------------------------------------
Dette program kan hjælpe Dem med at skrive et program for indlæsning
af en standard ASCII-fil til en eksisterende DataFlex Database-fil.
I denne sektion skal De udvælge hvilken DataFlex-fil som skal modtage
de data som indlæses. De skal angive det fil-nummer som modsvarar den
fil De vil anvænde som modtager.
Hvis den fil De ønskar ikke findes på listen, kan De anvende "NÆSTA POST"-
tangenten for at se flere filer. Ved at anvende "FOREGÅENDE POST"
kan De gå tilbage til listens start.
Tryk en tast for returnering til FIL-UDVALGS-MENU.
/PARAM
------------------------------ LÆS ASCII FIL -----------------------------
Dette program hjælper Dem med at skrive et program for indlæsning af en
standard-ASCII-fil til en eksisterende DataFlex Database-fil.
NAVN PÅ DATABASE-FILEN SOM DATA INDLÆSES TIL: ________
Indtast nu navnet på den ASCII-fil som skal indlæses:
LÆS FRA ASCII-FIL: ______________
Det program som skrives for at håndtere indlæsningen skal have et navn:
PROGRAMMETS NAVN: ____________
/MEM HELP
Ingen yderligere hjælp findes. Texten på skærmen bør række. RAM = _________
/FMAT
------------------------------ LÆS ASCII-FIL ------------------------------
LINE
Visse ASCII-filer har hver EAEMENT på separat linie. Et antal linier danner
da en POST. En sådan ASCII-fil er af typen "LINE".
KOMMA
Andre filer har alle elementerne på en linie med komma mellem elementerne.
Elementer som er definierede som tekst-felter har "CITATTIONS-tegn" omkring
sig. Denne type af ASCII-filer kaldes "COMMA".
ER ASCII-FILEN AF TYPEN "LINE" ELLER "COMMA"? _____
Uanset hvilken type fil der er tale om, skal De vide HVOR MANGE ELEMENTER
som skal læses ind for hver POST.
HVOR MANGE ELEMENTER SKAL LÆSES IND PR. POST? __.
/FMATHELP
------------------------------- LÆS ASCII-FIL ------------------------------
HJÆLPETEKST - FIL-TYPE
HVORDAN MAN KAN AFGØRE VILKEN TYPE AF ASCII-FIL
DET ER MAN FØRSØGER AT LÆSE IND.
----------------------------------------------------------------------------
En metode til at finde ud af dette er at læse filen med kommandoen "TYPE" fra
operativsystemet. En anden metode er at kigge på filen ved hjælp af
et tekstbehanlingsprogram eller DataFlex-editoren. DataFlex-editoren kan dog
ikke læse filer som ikke rummes i det interne arbejdslager.
/NAMES
---------------------- LÆS ASCII-FIL ---------------------- FIL: __________
ELEMENT ELEMENT ELEMENT
NR NAVN NR NAVN NR NAVN
__. _______________ __. _______________ __. _______________
__. _______________ __. _______________ __. _______________
__. _______________ __. _______________ __. _______________
__. _______________ __. _______________ __. _______________
__. _______________ __. _______________ __. _______________
__. _______________ __. _______________ __. _______________
__. _______________ __. _______________ __. _______________
__. _______________ __. _______________ __. _______________
__. _______________ __. _______________ __. _______________
__. _______________ __. _______________ __. _______________
__. _______________ __. _______________ __. _______________
__. _______________ __. _______________ __. _______________
__. _______________ __. _______________ __. _______________
__. _______________ __. _______________ __. _______________
__. _______________ __. _______________ __. _______________
ELEMENT NR __. I IND-FILEN SKAL TIL DATABASE-FILENS FELT NR ? __.
"RETURN" for at "hoppe over" indtastet feltnr., "EXIT" for at afslutte.
"NÆSTE POST" for flere felter, "FOREGÅENDE POST" for omstart. HJÆLP findes.
/FIELDHELP HELP
----------------------------- LÆS ASCII-FIL ------------------------------
HJÆLPETEKST FOR ELEMENTUDVÆLGELSE.
---------------------------------------------------------------------------
Dette program hjælper Dem med at skrive et program til at læse en
standard ASCII-fil ind til en allerede eksisterende DataFlex Database-fil.
I denne del angives hvor de indlæste elementer skal lagres.
"ELEMENT NR/NAVN" refererer til indlæst fil. Første element får nr = 1.
Angiv antal elementer pr. post i __________ som skal skabes af indlæsnigen.
Hvis feltnavnet De søger ikke vises, kan De trykke "NÆSTE POST" for at se
flere feltnavne. De kan springe til listens start ved hjælp af "FOREG. POST"
Tryk en tast for returnering til element-udvalgs-menuen.
/GOCOMP
------------------------ LÆS ASCII-FIL ------------------------------
De er nu klar med specifikationen af Deres indlæsningsprogram. Programmet
skal nu kompileres inden det kan anvendes. De kan kompilere det nu, eller
editere det først.
KOMPILERE PROGRAMMET: _ (J/N)
/*
// GENERATE ASCII FILE READ
STRING TAGFILE
STRING TAGNAME
STRING ELEMENT 20
INTEGER STRTTAG ENDTAG COUNT
NUMBER LINEC
INDICATE FIRST TRUE
MOVE 1 TO LINEC
MOVE MEMAVAIL TO MEM.1
NAME NAMES.92 LINE
NAME NAMES.93 ELEMENT#
FORMAT ELEMENT# æRANGE=0,255å
// GET FILE NAMES
GETNAME:
MOVE 0 TO FILENUMBER
NAMELP: BLANKFORM GFILE
PAGE GFILE
FOR WINDOWINDEX FROM 0 TO 23
FILELIST NEXT TO GFILE.2&
ÆFOUNDÅ MOVE FILENUMBER TO GFILE.1&
INCREMENT WINDOWINDEX
ÆFOUNDÅ LOOP
ACCEPT GFILE.25
IF GFILE.25 EQ '' GOTO NAMELP
ÆKEY.NEXTÅ GOTO NAMELP
ÆKEY.PREVIOUSÅ GOTO GETNAME
FILELIST GFILE.25
FILELIST PATHNAME TO TAGFILE PARAM.1
MOVE PARAM.1 TO FIELDHELP.1
IF TAGFILE EQ '' GOTO GETNAME
// OPEN TAGS
INTEGER FLDNUM
OPENTAG:
APPEND TAGFILE ".TAG"
DIRECT_INPUT TAGFILE
MOVE 0 TO FLDNUM
ÆSEQEOFÅ GOTO GETNAME
ÆFIRSTÅ BEGIN
ACCEPT PARAM.2
ACCEPT PARAM.3
ACCEPT FMAT.1
ACCEPT FMAT.2
FORMAT FMAT.1 æCAPSLOCK, CHECK='LINE ,COMMA'å
FORMAT FMAT.2 æRANGE=1,255å
INDICATE COMMA AS FMAT.1 EQ 'COMMA'
DIRECT_OUTPUT PARAM.3
WRITELN '/*'
WRITELN 'STRING TEMSTR'
WRITELN 'DIRECT_INPUT "' PARAM.2 '"'
WRITELN 'ÆSEQEOFÅ ABORT'
WRITELN 'OPEN ' PARAM.1
WRITELN 'REPEAT'
END
// READ TAGS
BLANKFORM NAMES
PAGE NAMES
MOVE PARAM.1 TO NAMES.1
INDICATE FIRST FALSE
DISTAG: FOR WINDOWINDEX FROM 0 TO 89
XTAG: READLN TAGNAME
ÆNOT SEQEOFÅ BEGIN
IF TAGNAME LT 'A' GOTO XTAG // BYPASS "@" FIELDS
INCREMENT FLDNUM
MOVE FLDNUM TO NAMES.2&
MOVE TAGNAME TO NAMES.3&
INCREMENT WINDOWINDEX
END
ÆNOT SEQEOFÅ LOOP
// GET LINE
REPEAT
MOVE LINEC TO LINE
REPEAT
CLEARFORM ELEMENT#
ACCEPT ELEMENT#
ÆKEY.NEXTÅ GOTO DISTAG
ÆKEY.PREVIOUSÅ GOTO OPENTAG
INDICATE BLANK AS ELEMENT# EQ 0
ÆBLANKÅÆNOT COMMAÅ WRITELN ' READLN TEMSTR'
ÆBLANKÅÆCOMMAÅ WRITELN ' READ TEMSTR'
ÆBLANKÅ GOTO ENDLOOP2
MOVE 0 TO WINDOWINDEX
FOR WINDOWINDEX FROM 0 TO 89
IF NAMES.2& EQ ELEMENT# BEGIN
CLEARFORM NAMES.2&
MOVE NAMES.3& TO ELEMENT
ÆCOMMAÅ WRITELN ' READ ' PARAM.1 '.' ELEMENT
ÆNOT COMMAÅ WRITELN ' READLN ' PARAM.1 '.' ELEMENT
INCREMENT WINDOWINDEX
GOTO ENDLOOP
END
INCREMENT WINDOWINDEX
LOOP
LOOP
ENDLOOP:
ÆNOT LASTIFÅ CLEARFORM ELEMENT#
ENDLOOP2: CALC (LINEC+1) TO LINEC
UNTIL LINEC GT FMAT.2
KEYPROC KEY.ESCAPE
CLEARSCREEN
ÆFIRSTÅ ABORT
ÆCOMMAÅ WRITELN ' READLN'
WRITELN ' SAVERECORD ' PARAM.1
WRITELN ' CLEAR ' PARAM.1
WRITELN ' SHOW "*"'
WRITELN 'ÆNOT SEQEOFÅ LOOP'
WRITELN 'SHOWLN'
WRITELN 'ABORT'
ÆKEY.ESCAPEÅ ABORT
#FORMAT GOCOMP.1 æCAPSLOCK, CHECK='JN'å
ACCEPT GOCOMP.1
IF GOCOMP.1 EQ 'J' RUNPROGRAM 'COMP' PARAM.3
ABORT
// DEFINE ACTION OF FUNCTION KEYS
KEYPROC KEY.FIELD
ÆFIRSTÅ BACKFIELD
RETURN
KEYPROC KEY.HELP
HELP
ENTAGAIN
RETURN
«eof»