Вниз
Скачать: CL | DM;

Программа ТЕСТ   Найти похожие ветки 

← →
Revan   (2006-01-02 20:57) [0]

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


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",т.е. не считает правильные ответы, алгоритм простой, но не работает. Заранее благодарю.


← →
DrPass ©   (2006-01-02 23:54) [1]

for s:=1 to 10 do begin

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

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


← →
Revan   (2006-01-03 00:46) [2]

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


← →
kami ©   (2006-01-03 01:40) [3]

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


← →
Плохиш ©   (2006-01-03 11:23) [4]

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


← →
Revan   (2006-01-03 13:34) [5]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
14-1135949217
ANB
2005-12-30 16:26
2006.01.22
Какое расстояние от Туркмении до Украины по суше ?


2-1136637611
Igorioha
2006-01-07 15:40
2006.01.22
Blob


2-1136223807
axel65
2006-01-02 20:43
2006.01.22
Символы


14-1135768467
Mike Kouzmine
2005-12-28 14:14
2006.01.22
А вы знаете, что такое форель?


3-1132682236
tyo
2005-11-22 20:57
2006.01.22
ProgressBar во время ExecProc




   Наверх