![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Как определить, что достигнут конец Memo?
Продолжаю мучение тестовой оболочки) Принцип - подгружаю тектсовый документ в мемо, и оттуда считываю строки с определенным алгоритмом. Не нашла функции определяющий последнюю строку и решила, что пусть осуществляется проверка: последняя строка текстового файла будет = 0. Он проверяет каждый раз строчку и если она <>0 то продолжает заполнение полей теста. если равна нулю, то делает активной кнопку Завершить тест. Вот код: Код:
MemoEOF:=StrToInt(Memo_Temp.Lines[1+6*(vopros-1)]); if MemoEnd<>0 then PrFillFileds(Sender) else ResultButt.Visible:=true; если использовать это условие то почему-то "сдвигаются" строки. и вылетает ошибка несоответсвия типов оф коз. сама программа прикреплена в архиве вместе с файлом теста. ссылка на архив с прогой и тестом http://rghost.ru/3958437 |
#2
|
||||
|
||||
![]() Вообще запихивать тест в мемо на мой взгляд не очень хорошая затея. Я например уже выкладывал свой тест.
На мой взгляд лучше читать сразу из файла. Если все же хочется именно так, то Memo1.Lines.Count возвращает количество строк в Memo, поэтому можно вычислить и количество вопросов. З.Ы. если я правильно понял, то номер правильного ответа тоже лежит в файле. Ничего не мешает ученику посмотреть его там ![]() jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 16.01.2011 в 16:09. |
#3
|
|||
|
|||
![]() Я думаю сделать другое расширение для этого теста =)т.е. показать сначала с тхт а потом чуть переделать, ибо сроки поджимают.
т.е. у тхт изменить расширение, как в твоей оболочке, но это потом. В общем сейчас попоробую совладать с тестовой оболочкой через мемо. не хотелось бы переписывать. |