home *** CD-ROM | disk | FTP | other *** search
- =======================================
- = =
- = HP 2000 PART 4 (FILES) =
- = =
- = CAPTURED BY =
- = =
- = BLITZIOD ?? & GALACTUS ** =
- = =
- = of =
- = =
- = THE ELITE HACKERS GUILD =
- = =
- =======================================
-
-
- * FILES *
-
-
-
- BASIC FORMATTED FILES ARE ESSENTIALLY THE SAME AS
- DATA STATEMENTS, THEY BOTH HAVE POINTERS THAT MOVE ALONG THE DATA
- HERE IS AN EXAMPLE OF A PROGRAM USING THE DATA STATEMENT :
-
- 10 READ X
- 20 PRINT X
- 30 DATA 1,2,3,4,5,6,7,8,9,10
- 40 GOTO 10
- 50 END
-
-
- WHEN THIS PROGRAM IS RUN THE DATA IS READ IN LINE 10
- FROM THE DATA STATEMENT IN LINE 30.
- AFTER THE '1' IS READ FROM THE DATA STATEMENT THE POINTER IS
- MOVED TO THE '2' AND SO ON. WHEN THE FINAL PIECE OF DATA IS READ
- AND THE POINTER IS MOVED BEYOND THE '10' THEN YOU WILL GET THE
- ERROR MESSAGE: OUT OF DATA IN LINE 10
- THIS IS ESSENTIALLY THE WAY FILES WORK.
- BUT FILES HAVE MANY MORE CAPABILITIES THAN DO DATA STATEMENTS
-
-
- LET'S LEARN HOW TO CREATE A FILE, OK?
-
-
- TO CREATE A FILE ALL ONE MUST DO IS TYPE IN CRE- THEN THE
- NAME OF THE FILE, AND HOW LONG IT MUST BE. FOR EXAMPLE IF I WANTED
- TO CREATE A FILE NAMED 'DAVID' THAT IS 5 RECORDS LONG I WOULD TYPE IN
- CRE-DAVID,5
- THEN HIT 'RETURN'
-
- WHENEVER YOU CREATE A FILE THE COMPUTER RESERVES THE NUMBER OF
- RECORDS YOU CREATED IT ON THE DISC. SO IF YOU CREATE A FILE THAT
- IS 50 RECORDS LONG, YOU HAVE USED 50 RECORDS OF DISC SPACE, WHETHER
- YOU USE THE WHOLE FILE OR NOT.
-
- NOW I WILL SHOW YOU A PROGRAM THAT WILL PRINT ON YOUR FILE.
-
-
-
- 5 DIM A$(20), B$(20)
- 10 FILES FIL1
- 20 PRINT 'NAME';
- 30 INPUT A$
- 40 IF END#1 THEN 85
- 50 READ#1,1
- 60 READ#1;B$
- 70 GOTO 60
- 85 IF END#1 THEN 110
- 90 PRINT#1;A$,END
- 100 STOP
- 110 PRINT'FILE FULL'
- 120 END
-
-
-
-
- BY THIS TIME YOU ARE WONDERING WHAT THAT MESS IS, RIGHT ?
- HERE IS AN EXPLANATION
-
-
- STATEMENT # MEANING
- 10 OPENS THE FILE THAT IS TO BE USED, IN THIS CASE THE NAME OF
- THE FILE IS 'FIL1'. THIS STATEMENT IS TELLING THE COMPUTER
- WHAT FILE WE WANT TO USE FOR THIS PROGRAM
- FIL1 IS REFERRED TO AS #1 AS SEEN IN LINES 40,50 & 60
- IF MORE THAN ONE FILE WAS USED LINE 10 WOULD LOOK LIKE
- THIS FILES FIL1,FIL2. THEN FIL2 WOULD BE REFERRED
- TO AS #2. UP TO 16 FILES CAN BE USED IN ONE PROGRAM
- 30 INPUT NEW NAME TO BE PRINTED ON FILE.
- 40 THIS STATEMENT 'IF END' SETS UP THE IF END
- CONDITION. THIS MEANS THAT WHEN THE FILE PIONTER GETS
- TO THE END OF DATA IN THAT FILE THEN GOTO 85
- 50 THIS MEANS TO READ THE FIRST RECORD AND THE
- FIRST ITEM OF THE FILE, IN OTHER WORDS THIS
- THIS SETS THE FILE POINTER BACK TO THE BEGINNING OF THE
- DATA.
- BY USING THIS STATEMENT YOU CAN BE ASSURED OF STARTING
- AT THE BEGINNING OF THE DATA IN THAT FILE
- 60 READS DATA FROM FILE#1, SOMEWHAT LIKE THE 'READ' USED
- WITH DATA STATEMENTS.
- 85 SETS UP ANOTHER IF END CONDITION TO CHECK FOR THE END OF
- FILE. IF ANOTHER EOF MARKER IS ECOUNTERED THEN GOTO
- LINE 110.
- END-OF-FILE MARKERS ARE DEFINED MORE PRECISELY LATER.
- 90 THIS STATEMENT PRINTS THE NEW NAME (A$) ON THE FILE,
- THEN PRINTS AN END OF FILE MARKER ON THE FILE.
- THE END OF FILE MARKER ENABLES THE COMPUTER TO TELL
- THROUGH THE READ STATEMENT (LINE 60) WHEN THE END OF
- DATA IS REACHED
-
-
-
- HERE IS A FLOW CHART OF THAT PROGRAM:
-
- 1. INPUT NEW NAME -----------2. READ DATA FROM FILE
-
- 3. IF END OF FILE #1 THEN 4 -----GO BACK TO 2.
- !
- 4. IF END#1 THEN 7
- !
- 5. TRY TO PRINT NEW NAME ON FILE, IF SUCCESSFUL (MEANING FILE IS
- NOT FULL) THEN 6. IF UNSECCESSFUL (MEANING FILE IS FULL) THEN 7.
- ! !
- !
- ! 7. PRINT'FILE FULL'
- 6. STOP !
- 8. END
-
-
- OK, LET'S MOVE ON TO GET A LISTING OF YOUR FILE
-
- 05 DIM A$(20)
- 10 FILES FIL1
- 20 IF END#1 THEN 70
- 30 READ#1,1
- 40 READ#1;A$
- 50 PRINT A$
- 60 GOTO 40
- 70 END
-
-
- THIS IS A RATHER SIMPLE PROGRAM, IT GOES LIKE THIS;
- YOU SET UP THE IF END CONDITION, THEN READ STARTING AT THE
- BEGINNING OF THE FILE. READ THROUGH THE FILE AND PRINT
- EACH SEPARATE PIECE OF DATA (LINES 40 & 50). WHEN ALL THE
- DATA HAS BEEN READ THROUGH, IT FALLS THROUGH TO LINE 70, BY
- THE CONDITION SET UP IN LINE #20 AND AT THIS POINT
- EXECUTION IS TERMINATED.
-
-
-
- * END OF FILE DISCUSSION *
-
-
-
- HERE IS SOME ELLABORATION ON WHAT YOU HAVE LEARNED SO FAR
- ABOUT BASIC FORMATTED FILES.
-
- THE EOF MARKER IS WHAT THE IF END CONDITION IS USED
- WITH. THE EOF MARKER DESIGNATES THAT THE END OF DATA HAS BEEN REACHED.
- AS MORE DATA IS PUT INTO A FILE.