private void getfields()
	{
	fcount = 0;
	for(int k=0;;)
		{
		k+=32;
		try { fdbf.seek(k); } catch (IOException e) {}
		String fn = readChars(0,1);
		if(fn.charAt(0)==0xd) break;
		fn+=readChars(0,10);
		field y = new field();
		y.fname = fn.replace((char)0,' ').trim();
		char f = readChars(0,1).charAt(0);
		y.ftype = f; validateFieldType(f);
		if(f=='M' || f=='G') fpt_file = true;
		y.fpos = readNumber(0,4);
		y.fsize = (int) readNumber(0,1);
		if(f=='B' || f=='Y') y.fsize = 30;	// just increase enough to see
		if(f=='T') y.fsize = 22;
		y.fsize_dec = (int) readNumber(0,1);
		if(f=='Y') y.fsize_dec = currency_dec;
		y.binflag = (readNumber(0,1) == 4);
		Field[ fcount++ ] = y;
		}
	}