• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Turbo Pascal с Turbo Vision

pavlovpro

Ученик
Регистрация
5 Ноя 2011
Сообщения
4
Реакции
0
Баллы
0
Turbo Pascal с Turbo Vision

procedure TableColumn.filter;
var etalon1, etalon2: String;
begin
Etalon1:='';
Etalon2:='100';
if (TableCells[5]^.text^<>etalon1) AND (TableCells[5]^.text^<>etalon2) then
show
else
hide;
end;
База данных.
Вводятся факультет, ФИО декана, число преподавателей, число сту¬дентов, номер комнаты деканата, телефон деканата;
По заданию надо напечатать сведения о факультетах с числом студентов больше заданного.
Получился фильтр, который убирает строки с числом студентов 100.Если что вся программа во вложениях.Спасибо!
 

Вложения

Код не просматривал, но, судя по листингу и заданию, вам просто необходимо предусмотреть и реализовать диалог ввода значения переменной Etalon2. Удачи.
 
Получился фильтр, который убирает строки с числом студентов 100.
А чего Вы хотите - как Вы написали, так программа и делает. Оператор
if (TableCells[5]^.text^<>etalon1) AND (TableCells[5]^.text^<>etalon2) then
show
else
hide;
end;
считывает количество студентов на факультете В СТРОКОВОМ ФОРМАТЕ и сравнивает со строками '' и '100'. При несовпадении выводит, а если ячейка пустая или в ней стоит 100, то не выводит.
К сожалению, в ООП не силён, а потому лишь рекомендации общего плана:
1. Колонку с количеством студентов задать не в строковом, а в числовом формате, тем более, что такая возможность вроде как предусмотрена:
{колонки могут быть строковые, числовые}
columnType = (str, int);
2. Константы (или вводимые переменные) Etalon1 и Etalon2 сделать также числовыми.

3. Фильтр построить по принципу "если количество студентов >Etalon2, то вывести строку, в противном случае - нет".
 
Назад
Сверху