|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
||||
|
||||
Итак:
В архиве 2 файла: CryptoStream.pas и TestObjects.pas. CryptoStream.pas - пример простейшего файлового потока с шифрованием XOR. Работаем абсолютно так же как с обычным TFileStream. В TestObjects.pas - описаны классы для работы с тестом, а именно: Основной класс Тест TTest: Код:
TTest = class private ... public constructor Create; - создание объекта класса destructor Destroy; override; - удаление объекта класса procedure SaveToStream(Stream: TStream); - сохранение объекта в поток procedure LoadFromStream(Stream: TStream); - чтение объекта из потока function AddQuestion(aCaption: String): Integer; - добавить вопрос с текстовкой Caption. вернет порядковый номер созданного вопроса procedure DeleteQuestion(Index: Integer); - удалить вопрос с номером Index property Caption: String; - заголовок теста property EditPassword: String; - пароль для редактирования (использование произвольное :)) property Ball_Three: Word; - сколько нужно правильных ответов на 3 property Ball_Four: Word; - сколько нужно правильных ответов на 4 property Ball_Five: Word; - сколько нужно правильных ответов на 5 property QuestionsCount: Integer; - количество вопросов в тесте property Question[Index: Integer]: TQuestion; - тест с номером Index end; Код:
TQuestion = class private ... public constructor Create(aCaption: String); - это понятно destructor Destroy; override; - это тоже procedure Assign(const Value: TQuestion); procedure SaveToStream(Stream: TStream); - запись в поток procedure LoadFromStream(Stream: TStream); - чтение из потока function AddAnswer(aCaption: String; aIsTrue: Boolean = false): Integer; procedure DeleteAnswer(Index: Integer); - добавить ответ property Caption: String; - текстовка вопроса property AnswerCount: Integer; - количество ответов property Answer[Index: Integer]: TAnswer; - ответ с номером Index property QuestionType: TQuestionType; - тип вопроса property Bitmap: TBitmap; - картинка к вопросу end; Тип "тип вопроса" TQuestionType: Код:
TQuestionType = (qtRadio, qtCheck, qtEditAny, qtEditAll); - тип вопроса (выбор одного, выбор нескольких, ввод любого, ввод всех) Класс Ответ TAnswer: Код:
TAnswer = class private ... public constructor Create(aCaption: String; aIsTrue: Boolean); - тут все прозаино procedure Assign(const Value: TAnswer); procedure SaveToStream(Stream: TStream); - запись в поток procedure LoadFromStream(Stream: TStream); - чтение из потока property Caption: String; - текст ответа property IsTrue: Boolean; - ответ является верным end; Если не разберешься - выложу пример использования. Оба модуля проверены на WinXP, Delphi6. Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. Последний раз редактировалось dr. F.I.N., 12.01.2012 в 17:09. |
#17
|
|||
|
|||
Спасибо большое если не разберусь обязательно обращусь
|
#18
|
||||
|
||||
Вот стараешься, думаешь над проблемами других людей, пишешь какие-то модули, процедуры, функции, компоненты и т.п. ... а человеку даже сложно нажать на . Ну что за люди пошли? А потом еще напишут "я не разобрался, покажи как надо"...а тебе уже и не хочется помогать....накипело, блин...
Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#19
|
|||
|
|||
Пора бы уже привыкнуть, к неблагодарным горе-программистам..
|
#20
|
|||
|
|||
Цитата:
Извиняюсь просто я не не знал о таком на этом форуме я тута недавно исправлюсь чесно чесно начну прям с Вас Ток щас подищу где ета кнопочка и обязательно обязательно еще рас сори |
#21
|
||||
|
||||
Цитата:
dr. F.I.N. просто в подпись подправь: Давай проявлять уважение и солидарность: 1. Тебе помогли - нажми на . 2. Можешь помочь - помоги. И тебя поблагодарят аналогично. и будет тебе счастье!!!))))))) |
#22
|
||||
|
||||
Прошу прощения за флейм.
Вроде бы репа не накручивается, если у накручивающего <= 10, но это так, лирическое отступление. Насчет вежливости согласен, помогай, а тебя еще и оскорбят как-либо. P.S. Pilot_Red, в подписи картинки запрещены. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#23
|
|||
|
|||
не по теме, но думаю меня простит админ:
а я вот вообще не одного вопроса на форуме не задал, только отвечаю, зачем оно мне, не понятно, хочецца нести добро в массы )) Спасибо сказали много раз ))) репутацию повысил тока один )) |
#24
|
|||
|
|||
[offtop]Лично я редко повышаю кому-то репу, а (не в обиду будет сказано) не одобряю клянчинье репутации, даже если сам помогаю - за цифрами я не гонюсь[/offtop]
|
#25
|
||||
|
||||
Цитата:
Полностью поддерживаю! |
#26
|
|||
|
|||
да дело-то не в цифрах, иногда даже спасибо не услышишь, вот что печально. а ответы иногда тут людям не малые деньги приносят, дипломы, курсовые )))))
P.S. надо прекращать оффтопить, а то репа вообще -100 станет )) |
#27
|
|||
|
|||
ох не знал что моя тема такой живой станет яж вроде извинился уже за не знание моно было и просто промолчать а по поводу спасибо я их в сообщениях не рас писал ну не виноват же я что кнопочки не увидел
|
#28
|
|||
|
|||
Цитата:
|
#29
|
|||
|
|||
эх... .
|