singlepost

С++ Builder 6: Проект системы "Библиотека" << На главную или назад  

Уважаемые профи и не только! Очень и очень прошу вас помочь в поиске проекта типа "библиотека" либо похожего на него. В идеале должна быть база книг и пользователей библиотеки с возможностью добавления/удаления. Если у вас есть инфа про похожий проект, пожалуйста, отпишитесь в тему. Заранее благодарен!

30 ответов в теме “С++ Builder 6: Проект системы "Библиотека"”

  1. 27
    Антон Щиров ответил:

    2Женя DeMoS Самусенко
    А каие есть варианты? Можно например связать веревочкой. Не подойдет?

    Как можно что-то советовать, ничего не зная у структуре данных и методах их хранения

    2 Дмитрий Гайдамович
    Похоже, что я обломаю вам кайф. :)
    Терпение заканчивается

  2. 26
    Дмитрий Гайдамович ответил:

    >> Углурк РАБОТАЮ! Савченко
    Индексы здесь не при чём

    Продолжаем наблюдения.
    Женя DeMoS Самусенко, может, всё-таки обратите внимание на мой пост?
    Нет, я не настаиваю, просто спрашиваю.

  3. 25
    Женя Самусенко ответил:

    ОЧень благодарен вам за ваши старания, но ваш текст просто добавит книгу, а не
    выделенному в Form1 листбоксе1 элементу
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Но все-равно большое вам спасибо.

  4. 24
    Антон Щиров ответил:

    > Нужно чтобы кнопкой ОК книга выдавалась выделенному в Form1 листбоксе1 элементу,
    > тоесть добавлялась в Листбокс2 той же формы1
    __^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    В каком месте не соответствует подчеркнутому?

    Я не телепат и не могу знать, что именно вы хотите и как оно у вас реализовано.

    Что спрашиваете, на то и отвечаю

  5. 23
    Женя Самусенко ответил:

    Антон Щиров, но ведь тем кодом, который вы написали будет только выдаваться в список добавленные книжки в формате "Автор – Название", но они по-прежнему просто будут добавлены в ListBox2 в независимости от выбранного пользователя.

  6. 22
    Ден Савченко ответил:

    Индексы, товарищи! Учите матчасть….

  7. 21
    Дмитрий Гайдамович ответил:

    Всё же мне любопытно, как книгу можно привязать к пользователю при помощи кнопочки. Понаблюдаю…

  8. 20
    Антон Щиров ответил:

    if Form2.ShowModal = mrOk then
    ListBox2.Items.Add(Format('%s – %s', [Form2.Edit1.Text, Form2.Edit2.Text]));

  9. 19
    Женя Самусенко ответил:

    Запросто. Всё, только бы получить ответ =)
    Знач так: на Form1 есть кнопка Добавить (с ней мы разобрались вроде бы), которая вызывает Form2, на которой: Edit1 и Edit2 (Автор, Название) и Button1, Button2 (OK и Cancel соответственно). Нужно чтобы кнопкой ОК книга выдавалась выделенному в Form1 листбоксе1 элементу, тоесть добавлялась в Листбокс2 той же формы1.

  10. 18
    Антон Щиров ответил:

    Прописать нужно код, который добавляет книгу текущему пользователю

    Для более конкретного ответа нужен более конкретный вопрос

  11. 17
    Женя Самусенко ответил:

    2Антон Щиров, спасибо, все верно, ItemIndex != -1.
    Но ведь еще как-то надо привязать данную книгу к выбранному пользователю, а то эта книжица получается висит у всех пользователей. Я так понимаю теперь нужно поработать с кнопочкой ОК во второй форме? Эта кнопка отвечает за добавление книги в список 2, но что прописать чтобы было добавление текущему пользователю?!

  12. 16
    Ден Савченко ответил:

    ыыыыы…. гаспада…. все просто. Для списка книг вносится не отображаемое поле "на руках". При выставленной галочке врубаем фильтр по этому полю. Не забыть индексы и связи. Что может быть проще….. Не забывайте, что после ShowModal() код выполняться будет ТОЛЬКО после закрытиямодально вызываемой формы.

    2Женя DeMoS Самусенко
    В личку стучи и вопросы конкретнее.

  13. 15
    Антон Щиров ответил:

    Виноват, SelectedIndex это из JavaSсript. Нужен ItemIndex
    if (ListBox1->ItemIndex != -1)
    …………..

  14. 14
    Женя Самусенко ответил:

    О ужас. Для кнопки Добавить написал:

    if(ListBox1->Selected[1])
    {
    Form2->ShowModal();
    ListBox2->Items->Add(Form2->Edit1-Text+" – "+Form2->Edit2->Text);
    }
    else ShowMessage("Выберите пользователя");

    Прога запускается, но при нажатии на кнопочку Добавить выдает ошибку: "List out of bound (1)"

    Что это может быть?

  15. 13
    Женя Самусенко ответил:

    Спасибо, но почему !=-1? Более того С считает SelectedIndex элементом ListBox1. Может так: ListBox1->Selected[1]?

  16. 12
    Антон Щиров ответил:

    if (ListBox1->SelectedIndex != -1)
    Form2->ShowModal();
    else
    ShowMessage( "Выберите пользователя");

  17. 11
    Женя Самусенко ответил:

    А можно ли как-нибудь присвоить кнопке Добавить
    if {выбран элемент списка пользователей ListBox1, тогда открыть форму2 с добавлением книги текущему пользователю}, then {выдается сообщение "Выберите пользователя"}.

  18. 10
    Дмитрий Гайдамович ответил:

    Нужно завести третий список: книги, взятые пользователями. Отличие от первых двух то, что он не отображается в ListBox-е, а служит для хранения информации, кто что читает. Список хранит структуры, состоящие всего издвух полей: id пользователя и id книги. Интересующие Вас две операции нужно просто корректным образом "завязать" на этот список. Прямая аналогия с реляционными БД: таблица для хранения ассоциации "многие к многим". Получается, что одна книга может быть взята сразу несколькими пользователями, то есть мы считаем, что каждой книги в общем случае >= 1 экземпляра, что правильно.

  19. 9
    Женя Самусенко ответил:

    Итак, новый вопрос на пути к почти готовой работе. Готовый вид, но вопрос в принципе остался тот же.
    ListBox1 – это список пользователей. В него вносятся люди кнопкой Добавить. Это есть. Есть и ListBox2 – это список книг, есть форма для добавлени и удаления книг. НО: как сделать так, чтобы выдавался отдельный список книг для каждого пользователя. То есть чтобы при выборе пользователя в ListBox1, в ListBox2 менялись данные в зависимости от выбранного пользователя. Или наоборот, чтобы при добавлении книга попадала именно к тому пользователю, который выбран в данный момент. Буду очень благодарен. Думаю, это последнее, что я у вас спрашиваю.

  20. 8
    Дмитрий Гайдамович ответил:

    Как обычно? Интересно, для кого это обычно.
    А мне вот непонятно, что такого специфичного в этом проекте, что он на Builder-е реализуется? И как это вяжется с тем, что "курсач должен быть в чистом С"? Зачем тогда сказано про билдер этот?Формы его что ли? Если интересует бизнес-логика по управлению книжками и пользователями, то писать там для учебного проекта действительно немного.

  21. 7
    Женя Самусенко ответил:

    Хранилище можно сделать как обычно в текстовый файл.

  22. 6
    Дмитрий Гайдамович ответил:

    На чистом С? Так а хранилище-то какое? Файлы хотя бы будут, или всё в памяти висит? Или может какой-нить codebase можно притянуть?

  23. 5
    Алексей Ильин ответил:

    Мне дали похожий курсовик. База данных произвольных типов с произвольными полями, на C++, все структуры кодятся ручками. На днях закончу движок самой базы. Если интересуешься – в личку.

  24. 4
    Антон Щиров ответил:

    Да ладно пол дня. Я такую вещь сейчас пишу для себе. уже дня три проектирую базу и все она меня не устраивает

  25. 3
    Ден Савченко ответил:

    ёпрст…. Такой проект кодится за пол дня…. Аксесс + АДО… 2 формы… В лабах у меня валялся… Если все еще надо – пиши в личку.

  26. 2
    Женя Самусенко ответил:

    Жаль, но Ассеss не подойдет – курсач должен бытьв чистом С. Но все-таки личку смотрите:)

  27. 1
    Женя Самусенко ответил:

    И еще :при запуске проекта в С++ появляется ошибка типа "Неизвестная база данных dbP". Как запустить проект?

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.