Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Программа ТЕСТ [D6, XP]


Revan ©   (2006-01-02 20:57:00) 

Помогите пожалуйста!
Нужно сделать программу тестирования, все вопросы, ответы, правильные ответы хранятся в текстовых файлах.
придумал вот такой код, почему то не работает:


var
 Form1: TForm1;
 a: string;
 i,j,s :byte;
 k: integer;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
k:=0;
Memo1.Lines.LoadFromFile('1.txt');   // Загружаем вопросы, отв,, прав. отв.
Memo2.Lines.LoadFromFile('2.txt');
Memo3.Lines.LoadFromFile('3.txt');
end;

procedure TForm1.Button1Click(Sender: TObject);  /// выбрать и ответить
begin
//проверяем какой вариант был выбран
if RadioButton1.Checked=true then
a:=radiobutton1.caption;

if RadioButton2.Checked=true then
a:=radiobutton2.caption;

if RadioButton3.Checked=true then
a:=radiobutton3.caption;

if RadioButton4.Checked=true then
a:=radiobutton4.caption;

for s:=1 to 10 do begin
if a=memo3.Lines[s] then begin
inc(k);
end;
end;
Label1.Caption:=Memo1.Lines[j+1];
RadioButton1.Caption:=Memo2.Lines[1+(4*i)];
RadioButton2.Caption:=Memo2.Lines[2+(4*i)];
RadioButton3.Caption:=Memo2.Lines[3+(4*i)];
RadioButton4.Caption:=Memo2.Lines[4+(4*i)];
edit1.Text:=IntToStr(k);
inc(j);
inc(i);
end;

procedure TForm1.Button2Click(Sender: TObject);  //// кнопка начать тест
begin
Label1.Caption:=Memo1.Lines[j+1];
RadioButton1.Caption:=Memo2.Lines[1+(4*i)];
RadioButton2.Caption:=Memo2.Lines[2+(4*i)];
RadioButton3.Caption:=Memo2.Lines[3+(4*i)];
RadioButton4.Caption:=Memo2.Lines[4+(4*i)];
edit1.Text:=IntToStr(k);
inc(j);
inc(i);
end;

end.

Почему то переменная "к" всегда ровнона "0",т.е. не считает правильные ответы, алгоритм простой, но не работает. Заранее благодарю.


Revan   (2006-01-03 13:34:00) [1]

kami Ты прав :) Извиняюсь за свою невнимательность.


Плохиш   (2006-01-03 11:23:00) [2]

Для начала рекомендую заменить все Memo на TStringList.


kami   (2006-01-03 01:40:00) [3]

Тогда, вполне возможно, что строки в файле 3 не соответствуют строкам в файле 2 (возможно, лишние пробелы или что-то вроде этого). Я же говорю - пройдись отладчиком по этому циклу и посмотри, что представляют собой a и memo3.Lines[s] при верном ответе


Revan   (2006-01-03 00:46:00) [4]

ничего не изменилось :((((


DrPass   (2006-01-02 23:54:00) [5]

for s:=1 to 10 do begin

попробуй заменить на

for s:=0 to Memo3.Lines.Count-1 do begin


Наверх

Титульная страница Поиск, карта сайта Написать письмо