Форум: "Начинающим";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];
ВнизПрограмма ТЕСТ Найти похожие ветки
← →
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 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.048 c