Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
14Activity
0 of .
Results for:
No results containing your search query
P. 1
File Pascal

File Pascal

Ratings: (0)|Views: 2,572|Likes:
Published by Nerissa

More info:

Published by: Nerissa on Sep 09, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

04/15/2013

pdf

text

original

 
Files
How to declare a file
The first thing you need to know about files is how to declare them in pascal. A file is declared similarly to any other variable like so...
 var
< file variable > :
file of
< type >...
The
type
in the declaration will by any of the predefined types or oneof your types that you have defined in the
type
section. The mostcommon type to use is a record which you have declared. This meansthat the file will store records of that type. e.g. You could have a filecontaining entries of type
person
which would have attributes likename, address, phone etc..
Assign
This is where you give the file variable that you have declared anassociated file name. It works like so:--
assign (<file variable>,<file name>);
. Now your file variable points to a real file on the drive. This is whereall the information will be written to. Now you must open your file.Two ways of opening a file are explained below.
Rewrite
If the file name you have assigned to your file variable does notactually exist on disk then Rewrite will create it for you. What rewritedoes, is clear the file so you can write to it. NOTE: You are not able to
read
from the file when using rewrite. Rewrite is used like this:--
rewrite (<file variable>);
Easy! Now you can write to the file.
Reset
This is a mode where you can both read
and
write to the file. This is themain mode that you should use in your programs. Sometimes a trick if you want to create a file and have it open for reading and writing is tocreate the file with rewrite and then use reset on the file. Reset workslike so:--
reset (<file variable>);
 
Close
The
close
command closes a file. (as if you hadn't guessed). You needto do this at the end of your program because it saves the changes to thefile. To close a file you write :--
close (<file variable>);
 
Writing records to a file
Writing records to a file is VERY easy. For the examples coming up wewill be using the following
record
type.
type
 personType =
record 
name :
string
[30];address :
string
[60];phone :
string
[7];
end 
;
 Now lets say that you have taken input from the user and have all of thevalues of a
person
variable. Now you want to write it to the file right?To do this you use the
write
statement. You should notice that this isthe same command that is used for writing to the screen. Well, writingto a file is not much different. All you need to do is the following...
write (<file variable>,person);
You can write as many records to the file as you like now :)
 Turbo Pascal
1
 
Reading records from a file
To read records from a file you need to use the
read
statement. This ishow you do it:--
read (<file variable>,person);
This reads from the file into your record. When you next execute thisstatement you will read the next record from the file into your recordvariable. This is because once you have done a read statement the file pointer is moved along to the next record in the file for your convenience. :)
Seek 
The seek command is to go to a certain record in the file. The file startsat 0 so to be at the first record you need to go
seek (<file variable>,0)
.To be past the last record at a place where you can add records to theend of the file you will need to go...
seek (<file variable>,filesize(<file variable>));
In the above example
filesize
returns the number of records in the file.But since the records are number from zero up, the seek command goesto the next record after the last record entered, ie the end of the file.
Truncate
The truncate command deletes all the records in the file that lie after thecurrent file position. So to delete the last record from the file you willhave to go...
seek (<file variable>,filesize(<file variable>)-1);truncate (<file variable>);
Deleting a record from a file
The simplest way to do this is to go to the last record in the file, readthat record into a variable, then go to the record you want to delete andover-write this with the variable that contains the last record'sinformation. Once you have done this you go back to the last recordand use
truncate
to remove it from the end. Now you have deleted afile. The example program below contains a delete procedure if youwant to see this in code.
 program 
Example;
uses
Crt;
type
 personType =
record 
name :
string
[30];address :
string
[60];phone :
string
[7];
end 
;
 var
personFile :
file of
person;
 procedure
Openfile;
 begin
 assign (personFile,'person.dat');reset (personFile); {
This assumes the file already exists
}
end 
;
 procedure
writeToFile;
 var
person : personType;
 begin
 
with
person
do begin
write ('NAME: '); readln(name);write ('ADDRESS: '); readln(address);write ('PHONE: '); readln (phone);
end 
;write (personFile,person);
 Turbo Pascal
2
 
end 
;
 procedure
readFromFile;
 var
person : personType;
 begin
 
while not
eof(personFile)
do begin
clrscr; read (personFile,person); 
with
person
do
 
 begin
writeln ('NAME: ',name);writeln ('ADDRESS: ',address);writeln ('PHONE: ',phone); 
end 
;readKey; {
waits for a key to be pressed 
}
end 
;
end 
;
 procedure
deleteRecord;
 var
i : integer;person : personType;
 begin
 write ('What record number would you like todelete? ');readln (i);seek (personFile,i);
if
eof(personFile)
then
exit;{
The above line checks if 'i' is bigger than or equal to the file size}{After all, you can't delete a record that doesn'texist!}
 seek (personFile,fileSize(personFile)-1);read (personFile,person);seek (personFile,i);write (personFile,person);seek (personFile,fileSize(personFile)-1);truncate (personFile);
end 
;
 begin
<Main program code here>close(personFile);
end 
.
BASIC INPUT ANDOUTPUT
As you probably know, nearly all computer programs take input fromthe user.If you don't know how to take input then you won't get very far in the programming world.Pascal has two major functions for taking input from the user. Theseare:-
read
 
Syntax:
 
read (variable);
Explanation:
This reads all the characters typed, until the user presses enter, into thevariable.
 Turbo Pascal
3

Activity (14)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Dafmy Putu liked this
Bouriche Tawfik liked this
Hafsi50 liked this
Kaenryuu liked this
Hani Kurniasari liked this
bolsatish liked this
Ivan Bogdanov liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->