DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦b3e6ebcba⟧ TextFile

    Length: 11520 (0x2d00)
    Types: TextFile
    Names: »READ«

Derivation

└─⟦21cf82d66⟧ Bits:30007007/RCPRPA.imd RC Prislistesystem
    └─⟦this⟧ »READ« 
└─⟦7441cce76⟧ Bits:30007007/RCPRBA.imd RC Prislistesystem
    └─⟦this⟧ »READ« 

TextFile

/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»