Рабочий каталог (очень нужно)

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем Greenpeas, 19 сен 2007.

Статус темы:
Закрыта.
  1. Greenpeas

    Greenpeas Гость

    Здравствуйте!
    ВВЕДЕНИЕ:
    Пишу программу по созданию тестов. Тест хранится в двух таблицах: Таблица *_otv и таблица *_vopr (звёздочка - это название теста). Когда пользователь нажимает "Создать новый тест", то программа спрашивает (SaveDialog) куда сохранить тест. (Ваще то я очень хотел бы здесь использовать диалог выбора каталога, см. ЕЩЁ). Юзер вписывает в название файла имя теста, жмёт "Сохранить". Создаётся текстовый файл с расширением *.ft1.+ создаются пустые таблицы. Т.к. я воспользовался SaveDialog, то таблицы создались в этом же каталоге, в котором произошло сохранение (можно сделать вывод, что этот каталог стал рабочим для программы).
    Но стоит нажать "Открыть тест" (OpenDialog показывает файлы ток с расширением ft1), выбрать ранее созданный тест в другом каталоге, то получаю ошибку BDE, что такие то таблицы не найдены... Он их ищет в каталоге, который был определён в SaveDialog. Поэтому у меня 3 вопроса:

    1. Рациональным ли я путём ваще пошёл, работая с таблицами? Ведь можно было бы всё это дело в одном текстовом файле сделать.

    2. Я хочу использовать ВЫБОР КАТАЛОГА ДЛЯ РАБОТЫ (Типа того, как установщик программы спрашивает, в какой каталог установить программу). Как мне это сделать? Возможно это тот же OpenDialog перенастроиный...

    3. Как заставить мою программу работать в нужном мне каталоге. Т.е. создавать в нём таблицы. Открывать таблицы в других каталогах... Я работаю чисто SQL запросами в Query и всё.


    Извините, за этот весь бред, но мне это очень важно... Дипломник.
     
  2. Olala

    Olala Гость

    И вам здравствуйте!
    Попытаюсь ответить на твои вопросы.
    Нет, не рациональным. Советую потратить время на изучение теории баз данных, особенно обрати внимание на главу, где рассказывается о нормальных формах. Изучи хотя бы первые три.
    Ну и используй. В чем проблема то?
    Без понятия.
    Возможно, когда ты разберешься со структурой базы данных, послдение два вопроса отпадут сами собой. :)
    Удачи.
     
  3. Greenpeas

    Greenpeas Гость

    Та о 1-й, 2-й и 3-й нф я в курсе...
    В 1-м вопросе мне интересно, нужно ли ваще в БД всё это делать...??? или просто в файле каком нить... ИМХО с БД проще...

    2-й вопрос
    Где выкопать диалог выбора каталога??? Ведь он наверника есть в палитре...
     
  4. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    <!--QuoteBegin-Greenpeas+19:09:2007, 15:24 -->
    <span class="vbquote">(Greenpeas @ 19:09:2007, 15:24 )</span><!--QuoteEBegin-->В 1-м вопросе мне интересно, нужно ли ваще в БД всё это делать...??? или просто в файле каком нить... ИМХО с БД проще...
    [snapback]78826" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Так просто на это вопрос не ответишь, т.к. существует множество факторов, определяющих выбор. Например, защита тестов и ответов, возможность работы по сети и в многопользовательском режим ну и т.д.
    <!--QuoteBegin-Greenpeas+19:09:2007, 15:24 -->
    <span class="vbquote">(Greenpeas @ 19:09:2007, 15:24 )</span><!--QuoteEBegin-->Где выкопать диалог выбора каталога??? Ведь он наверника есть в палитре...
    [snapback]78826" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Нет его там, можешь не искать. Все решается на уровне настройки алиасов для Query и указания рабочего каталога для диалогов. Хелп в помощь, короче :)
     
  5. Olala

    Olala Гость

    Для: Greenpeas
    Использование СУБД существенно расширит возможности работы с твоими тестами. Вопрос состоит в том - надо ли тебе это? Возможно, тебе будет достаточно и текстовых файлов. European прав - тут множество факторов, которые следует принять во внимание.
    Какую СУБД выбрать - твое личное дело. На мой взгляд, в данной ситуации непринципиально, что ты будешь использовать - TQuery или TADOQuery. Но опять же, многое зависит от технических требований к программному проекту.
    В любом случае, если сделаешь выбор в пользу СУБД, отнесись серьезно к проектированию структуры базы данных.
    Если сделаешь выбор в пользу текстовых файлов, продумай механизм защиты. Твой диплом от этого только выиграет.
     
  6. Greenpeas

    Greenpeas Гость

    Уважаемый Olala, и остальные собоседники. Конечно же вы правы и во всём выше сказанном я с вами всеми согласен... Хочу уточнить, что моя программка должна делать и цель её создания. Я работаю в институте, в отделе дистанционного обучения. Изготавливаю Электронные Учебные Курсы для заочников в html виде. Преподаватели мне приносят материалы в doc. Я всё это конвертирую в html. В каждом курсе есть тест в виде html. Пример:

    1. Как зовут Васю?
    1) Вася
    2) Коля
    3)Никак

    Вот в таком роде. Это всё записывается на диск и даётся заочнику.

    Плюс ко всему этому я прошу преподавателей делать тесты не только в Word, но и в CSV (Excel) виде. CSV тест нужен для тестирования по интернету. Я даю нашему WEB-программисту эти csv тесты, где есть вопросы, варианты ответов, отметки правильных ответов, тип вопроса и т.д. Короче говоря, csv нужен для тестирующей программы на сервере... (к этому я уже не имею отношения)

    ТАК ВОТ. Я ПИШУ ЭТУ ПРОГРАММКУ ДЛЯ ТОГО, ЧТО БЫ ОБЛЕГЧИТЬ ТРУД ПРЕПОДАВАТЕЛЯМ, НУ И ЕСТЕСТВЕННО СЕБЕ.

    Что делает программа?

    Преподаватель запускает программу. Создаёт новый тест (Вбивает вопросы и варианты ответов. помечает правильные... Вопросы разных типов: с одним правильным ответом, 2 и более, на соответствие, последовательность..., ввод ответа с клавиатуры). После всего этого нажимает какую нить волшебную кнопочку (Например "ГОТОВО"). Программка спрашивает путь к сохранению, и генерирует HTML и CSV файлы. Плюс ко всему этому - папку img с изображениями (например формулы в виде картинок)... Вот в принципе и всё, что должна делать программка...

    Почему это дипломник?
    Потому что я на 5-м курсе, и эту программку будут использовать преподаватели института, акт внедрения будет... вот и всё. :rolleyes:

    С удовольствием выслушаю ваши предложения по организации хранения теста во время редактирования. Ну, короче, КАК БЫ ВЫ ВСЁ ЭТО СДЕЛАЛИ?

    Спасибо!
     
  7. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Для: Greenpeas
    Выслушав твой монолог, могу посоветовать сначала поговорить с web-программистом и выяснить какую СУБД он использует, если вообще использует. После разговора, возможно, у тебя уже будет готовая структура БД. А может только клиента и останется написать
     
  8. Olala

    Olala Гость

    Ну что же. Теперь стали более-менее понятны требования к функционалу твоей программы. :rolleyes:
    И поскольку программу предполагается активно эксплуатировать впоследствии, то следует серьезно подойти к архитектуре программного продукта.
    Что бы сделала лично я:
    1. Хранение тестов и ответов органзовала в СУБД. СУБД даст тебе такие преимущества, как защищенность, надежность, масштабируемость и т.д. Следует хорошо продумать, как правильно организовать разные типы ответов (ты их сам классифицировал в последнем посте). Обрати внимание, что тебе, помимо текстовых ответов, надо хранить img-изображения.
    2. В приложении к базе данных предусмотрела отдельную функцию экспорта теста из формата СУБД в HTML и CSV файлы. При такой архитектуре это позволит тебе получать необходимые файлы "по требованию". К примеру, после редактирования уже созданного теста (добавление/удаление вопросов/ответов). А также в случае, когда не слишком осторожный пользователь случайно повредит HTML или CSV файл или удалит img-изображение с какой-нибудь формулой.
    Дополнительные плюсы: облегчится сопровождение/доработка проекта, декомпозиция поможет управлять сложностью проекта.
    Выбери такую СУБД, которая имела бы достаточно широкие возможности и не налагала бы ограничения, если впоследствии возникнет необходимость в наращивании функционала программы.
     
  9. Greenpeas

    Greenpeas Гость

    А что тут защищать, если преподаватель просто у себя дома вбивает тест... делает html, csv и img и приносит мне...

    Я подумал, наверное организую всё просто в двух текстовых файлах ВОПРОСЫ и ОТВЕТЫ. Да и больно программка проста для дипломника... Но сделать её всё-таки нужно. Почему вы так склонны к использованию БД?
     
  10. BVS

    BVS Гость

    <!--QuoteBegin-Greenpeas+20:09:2007, 15:33 -->
    <span class="vbquote">(Greenpeas @ 20:09:2007, 15:33 )</span><!--QuoteEBegin-->Почему вы так склонны к использованию БД?
    [snapback]78983" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Ты сам начал писать на БД (Paradox), а СУБД просто даст тебе больше возможностей при работе с SQL.
    Как сохранить файлы PAradox в другом каталоге - при помощи команд cope и paste. Я б на твоем месте запрашивал каталог для хранения файлов при начале работы программы, и занес б полученное значение в свойство DataBase - потом все создаваемые таблицы помещались бы в этот каталог.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей