# File lib/kirbybase.rb, line 1093
    def get_rec_by_recno(table, recno)
        encrypted = table.encrypted?
        recno_idx = get_recno_index(table)

        return nil unless recno_idx.has_key?(recno)

        with_table(table) do |fptr|
            fptr.seek(recno_idx[recno])
            rec, line_length = line_to_rec(fptr.readline, encrypted)

            raise "Recno Index Corrupt for table %s!" % table.name if \
             rec.empty?

            raise "Recno Index Corrupt for table %s!" % table.name unless \
             rec[0].to_i == recno

            rec << recno_idx[recno] << line_length
            return rec
        end
    end