Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 563
от 16.08.2006, 00:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 356, Экспертов: 46
В номере:Вопросов: 4, Ответов: 6


Вопрос № 51687: Здравствуйте, Уважаемые эксперты! Может у кого есть исходники программы для тестирования студентов или кто знает ссылки в интернете или статьи на эту тему поделитесь пожалуйста. Хочу написать свою программу, только вот нужны идеи где хранить...
Вопрос № 51689: Здравствуйте, господа Эксперты! У меня такой вопрос: я по окончании работы программы через TFileStream записываю в файл структуру (record) и, естесственно, закрываю файл процедурой Free. При следующей попытке записать ту же структуру с другими данным...
Вопрос № 51691: Привет я Luminarc! Подскажите, я запускаю программу: Project1.exe Example.txt как мне обработать параметры (Example.txt)?! Спасибо!...
Вопрос № 51775: Здравствуйте, эксперты. 1. Где можно найти наиболее полную информацию по компоненту TChart? 2. В TChart можно сделать, чтобы центральная ось отображала время TDateTime. Сколько искал, никак не смог найти, как поменять формат этого времени. Мн...

Вопрос № 51.687
Здравствуйте, Уважаемые эксперты!

Может у кого есть исходники программы для тестирования студентов или кто знает ссылки в интернете или статьи на эту тему поделитесь пожалуйста. Хочу написать свою программу, только вот нужны идеи где хранить вопросы и ответы, не знаю где лучше в текстовом файле или же организовать БД. Если это БД, то какие таблицы создавать, как организовать вывод результатов. В общем буду рад любой помощи с вашей стороны.
Отправлен: 10.08.2006, 01:26
Вопрос задал: Solovej (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, Solovej!
Что должно быть в тесте я не знаю, поэтому опишу только внешнюю форму, как она представляется мне.
Проще всего организовать базу данных с вопросами и ответами, а не хранить все в текстовых файлах, т.к. в БД все вопросы по взаимодействию, поиску информации уже давно отработаны и стандартны.
В минимальном варианте можно создать две таблицы.
Первая - в каждой записи будут содержаться № вопроса, сам вопрос и варианты ответов.
Вторая - № вопроса и № ответа (или сам ответ) правильного ответа.
Талицы связываются по полю № вопроса.
На форме размещается либо нередактируемый Edit, либо Мемо, если вопрос длинный и несколько RadioButton'ов, по количеству вариантов ответов.
После выбора соответственного Button'а, в событии OnClick его же, проверяется, соответствует ли номер выбранного тому номеру, что в таблице правильных ответов.
******************
Это лишь голая схема. Поэтому прежде чем приступить к написанию программы, Вы, в обязательном порядке, должно ясно и недвусмысленно написать требования, которые должна выполнять эта программа. И уже работать по этому списку.
Далее, если студент обходными путями не залезет в таблицу правильных ответов, то этого студента можно сразу выгонять за полную глупость. :) Поэтому нужно предусмотреть вариант защиты данной таблицы. В самом простом случае можно зашивровать содержимое с помощью XOR и какого-нибудь ключа. Перед проверкой ответа программа будет с помощью того же XOR и ключа правильный ответ дешифровать, а потом только сравнивать. Т.е. получится, что если просто поглазеть на таблицу, то ничего вразумительного там увидеть будет нельзя.
В качестве базы данных лучше (и это будет безопасней для данных) использовать сервер БД FireBird. Он небольшой, дистрибутив занимает всего 4 МБ (версия 2.0. Если брать предыдущую то и еще меньше),
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 10.08.2006, 07:21
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ


Вопрос № 51.689
Здравствуйте, господа Эксперты! У меня такой вопрос: я по окончании работы программы через TFileStream записываю в файл структуру (record) и, естесственно, закрываю файл процедурой Free. При следующей попытке записать ту же структуру с другими данными обнаруживаю, что в файле только последняя запись, т.е. получается, что файл просто перезаписывается, а мне надо, чтобы все записи сохранялись по порядку, не перезаписываясь. Думал, что перед очередной записью надо делать Seek в конец файла, но с Seek(0, soFromEnd) тоже перезаписывает. Что делать?
Мой код в приложении.

Приложение:

Отправлен: 10.08.2006, 02:18
Вопрос задал: Neiroman (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Physicist
Здравствуйте, Neiroman!

Чтобы была возможность добавлять данные к файлу, его нужно открыть в режиме fmOpenReadWrite, поэтому просто измените строку создания потока на:

Приложение:

Ответ отправил: Physicist (статус: Студент)
Ответ отправлен: 10.08.2006, 09:25

Отвечает: Morgen_krsk
Здравствуйте, Neiroman!
Попробуй fmOpenReadWrite + Seek.
Ответ отправил: Morgen_krsk (статус: 1-ый класс)
Ответ отправлен: 10.08.2006, 10:28


Вопрос № 51.691
Привет я Luminarc!
Подскажите, я запускаю программу:
Project1.exe Example.txt
как мне обработать параметры (Example.txt)?!
Спасибо!
Отправлен: 10.08.2006, 03:12
Вопрос задал: Luminarc (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Luminarc!
Есть такие функции, как ParamCount:integer и ParamStr(integer):string
В вашем случае надо взять ParamStr(1) - это и будет строка 'Example.txt'. За более подробной информацией обращайтесь к справке.
---------
Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Студент)
Ответ отправлен: 10.08.2006, 05:17

Отвечает: Morgen_krsk
Здравствуйте, Luminarc!
Смотрите в хелпе, если память мне не изменяет
function ParamStr(i:Integer) : String - получить i - ый параметр
function ParamCount : Integer - число параметров
кажись нулевой параметр - это имя программы
Ответ отправил: Morgen_krsk (статус: 1-ый класс)
Ответ отправлен: 10.08.2006, 10:22


Вопрос № 51.775
Здравствуйте, эксперты.
1. Где можно найти наиболее полную информацию по компоненту TChart?
2. В TChart можно сделать, чтобы центральная ось отображала время TDateTime. Сколько искал, никак не смог найти, как поменять формат этого времени. Мне нужно , чтобы формат был час:минута:секунда. Не подскажите, как это сделать?
Отправлен: 10.08.2006, 18:38
Вопрос задал: Ventola1912 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Physicist
Здравствуйте, Ventola1912!

Нужно прописать в свойстве DateTimeFormat для Chart Axis значение 'H:mm:ss' (вместо 'dd.MM.yyyy' по умолчанию).
Ответ отправил: Physicist (статус: Студент)
Ответ отправлен: 11.08.2006, 10:43
Оценка за ответ: 4


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.35 от 27.07.2006
Яндекс Rambler's Top100

В избранное