resultcount=ListRecords(database,query$)
resultcount=ListRecords(itemdatabase,"type=weapon,class=warrior,cost<=100")
Function WriteDB(fil,DB)WriteString fil,DBName$(DB)WriteInt fil,DBIDAt(DB)WriteInt fil,DBFields(DB)WriteInt fil,DBRecordSize(DB)WriteInt fil,DBRecords(DB) For f=1 To DBFields(DB) WriteString fil,DBField$(DB,f) ; for each field, save name WriteByte fil,DBFieldType(DB,f) If dbfieldtype(db,f)=DB_String Then WriteInt fil,DBFieldSize(DB,f) WriteInt fil,DBFieldOffset(DB,f) If dbfieldtype(db,f)=DB_List Then WriteString fil,DBFieldList(DB,f) NextWriteInt fil,BankSize(DBBank(DB))WriteBytes DBBank(DB),fil,0,BankSize(DBBank(DB))End FunctionFunction ReadDB(fil)DB=DefineDB():DBActive(DB)=1DBName$(DB)=ReadString(fil)DBIDAt(DB)=ReadInt(fil)DBFields(DB)=ReadInt(fil)DBRecordSize(DB)=ReadInt(fil)DBRecords(DB)=ReadInt(fil) For f=1 To DBFields(DB) DBField$(DB,f)=ReadString(fil) ; for each field, read name DBFieldType(DB,f)=ReadByte(fil) If DBFieldType(db,f)=DB_String Then DBFieldSize(DB,f)=ReadInt(fil) DBFieldOffset(DB,f)=ReadInt(fil) If dbfieldtype(db,f)=DB_List Then DBFieldList(DB,f)=ReadString(fil) Nextbs=ReadInt(fil):DBBank(DB)=CreateBank(bs)ReadBytes DBBank(DB),fil,0,bsReturn DBEnd FunctionFunction FindField(DB,f$)l=Len(f)For t=1 To DBFields(DB)q$ = DBField(DB,t)If Len(DBField(DB,t))=l Then If f=DBField(DB,t) Then Return t ; check length of field contentsNextEnd Function