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