Random Access File

landon998
09-13-2000, 01:57 PM
Does anyone have any sample code to create a Random Access File? And it needs to be an 'Append' method so the previous data is not overwritten. Thanks!

Dazz
09-14-2000, 09:31 AM
Random access files are fairly straight forward.

YOU FIRST NEED TO DEFINE A TYPE THAT REPRESENTS YOUR RECORD FIELD. YOU COULD PUT IT IN THE DECLARATIONS SECTION OF YOUR MAIN MODULE.

Type Field
Customer as String * 50
Contact as String * 20
Turnover as Integer
End Type
Global FieldData as Field

NEXT YOU WOULD OPEN YOUR FILE.

Open "C:Customer.Dat" for ramdom as #1 len(FieldData)

THIS OPENS THE FILE AS RANDOM ACCESS, AND SETS THE RECORD TO LENGTH TO THE SAME LENGTH AS YOUR TYPE VARIABLE.

NEXT YOU CAN ASSIGN DATA TO THE TYPE VARIABLE.

FieldData.Customer = "ABC Electrical Contractor"
FieldData.Contact = "Mr John Smith"
FieldData.Turnover = 100.00

THEN PUT THE DATA TO THE FILE.

Put #1,1,FieldData
Put #1,2,FieldData

THIS WOULD CREATE TWO RECORDS BY PUTTING THE DATA INTO RECORD 1 AND 2.

TO RETREIVE THE DATA.
Get #1,1,FieldData

THERE IS NO SUCH THING AS AN APPEND IN THE SAME WAY AS WHEN DEALING WITH SEQUENCIAL FILES. WHAT YOU HAVE TO DO IS CALCULATE THE NEXT RECORD POSITION, SO THAT YOU DO NOT WRITE OVER ANY EXISTING DATA.

NextRecord = LOF(1)/LEN(FieldData)

THIS USES THE 'LOF - Length Of File' COMMAND AND SIMPLY DIVIDES IT BY THE LENGTH OF YOUR RECORD TYPE.

THERE IS MORE TO RANDOM ACCESS FILES, BUT I HOPE THAT THIS GIVES YOU A START. POST ME IF YOU NEED TO KNOW MORE.

Live2Give.

usetheforce2
09-14-2000, 05:25 PM
the pevious post is a good example, here's another one if you need it.
check attachment.
Regan

EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum