|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.06.2013, 18:41 | #1 |
Новичок
Джуниор
Регистрация: 02.06.2013
Сообщений: 1
|
Программа-тест.
Программа тестовик. Должна считывать вопросы и ответы из постороннего файла. Прогу скачал из интернета. нет я не ленивый, просто еще студент и своих знаний не хватает. помогите разобраться, как должен быть устроен документ base.GLF... почему глф не знаю.
Заранее благодарю! Полный листинг программы. type q=record ques:string; o1,o2,o3,o4:string; pr:integer; end; var Form1: TForm1; v:Ttime; i:integer=0; s:array of q; vop:array of integer; a:integer; c:integer=0; cor,incor:integer; tren:boolean=false; implementation uses unit3, unit2; {$R *.dfm} procedure TForm1.N4Click(Sender: TObject); begin Close; end; procedure TForm1.N8Click(Sender: TObject); begin form3.Showmodal; end; procedure TForm1.N11Click(Sender: TObject); begin TMenuItem(sender).Checked:=true; label4.Caption:=TMenuItem(sender).C aption; if TMenuItem(sender).Tag=1 then label8.Caption:='50'; if TMenuItem(sender).Tag=2 then label8.Caption:='60'; if TMenuItem(sender).Tag=3 then label8.Caption:='70'; if TMenuItem(sender).Tag=4 then label8.Caption:='80'; if TMenuItem(sender).Tag=5 then label8.Caption:='90'; end; procedure TForm1.BitBtn4Click(Sender: TObject); begin label10.Caption:='0'; label11.Caption:='0'; radiogroup1.Caption:='Подождите идет загрузка вопросов'; if tren=false then showmessage('У Вас 5 минут!'+#13+#13+'Удачи!!!'); n5.Enabled:=false; zagruz; vopr; radiogroup1.Caption:=s[vop[0]].ques; radiogroup1.Items.Strings[0]:=s[vop[0]].o1; radiogroup1.Items.strings[1]:=s[vop[0]].o2; radiogroup1.Items.strings[2]:=s[vop[0]].o3; radiogroup1.Items.strings[3]:=s[vop[0]].o4; if tren=false then begin v:=now; timer1.Enabled:=true; c:=0; bitbtn4.Enabled:=false; end; if tren=true then begin c:=0; TRadioButton(RadioGroup1.Controls[s[vop[0]].pr-1]).font.color:=clred; radiogroup1.ItemIndex:=-1; end; bitbtn1.Enabled:=true; end; 2.2 Текст программы. Часть 2 procedure TForm1.Timer1Timer(Sender: TObject); begin label9.Caption:=FormatDateTime('nn: ss',v-now); inc(i); if i>=300 then begin bitbtn1.Enabled:=false; bitbtn2.Enabled:=false; bitbtn4.Enabled:=true; n5.Enabled:=true; if tren=false then res(); tren:=false; timer1.Enabled:=false; end; end; procedure Tform1.zagruz(); var f:textfile; t:string; begin assignfile(f,'base.glf'); reset(f); i:=0; while not eof(f) do begin setlength(s,i+1); readln(f,t); s[i].ques:=t; readln(f,t); s[i].o1:=t; readln(f,t); s[i].o2:=t; readln(f,t); s[i].o3:=t; readln(f,t); s[i].o4:=t; readln(f,t); s[i].pr:=strtoint(t); inc(i); end; closefile(f); i:=0; end; procedure Tform1.vopr(); begin while c<=strtoint(label8.Caption) do begin setlength(vop,c+1); randomize; a:=random(high(s)-1); prov(a); end; end; Procedure Tform1.prov(a:integer); var r:integer; begin for r:=0 to c-1 do if a=vop[r] then exit; vop[c]:=a; inc(c); end; procedure TForm1.BitBtn1Click(Sender: TObject); begin if c>=high(vop)-1 then begin if tren=false then protv(); bitbtn1.Enabled:=false; bitbtn2.Enabled:=false; bitbtn4.Enabled:=true; n5.Enabled:=true; timer1.Enabled:=false; if tren=false then res(); exit; tren:=false; end; if tren=true then begin inc(c); Radiogroup1.Caption:=s[vop[c]].ques; radiogroup1.Items.Strings[0]:=s[vop[c]].o1; radiogroup1.Items.strings[1]:=s[vop[c]].o2; radiogroup1.Items.strings[2]:=s[vop[c]].o3; radiogroup1.Items.strings[3]:=s[vop[c]].o4; TRadioButton(RadioGroup1.Controls[s[vop[c]].pr-1]).font.color:=clred; if s[vop[c]].pr<>s[vop[c-1]].pr then TRadioButton(RadioGroup1.Controls[s[vop[c-1]].pr-1]).font.color:=clblack; radiogroup1.ItemIndex:=-1; end; 2.3 Текст программы. Часть 3 if tren=false then begin protv(); Radiogroup1.Caption:=s[vop[c]].ques; radiogroup1.Items.Strings[0]:=s[vop[c]].o1; radiogroup1.Items.strings[1]:=s[vop[c]].o2; radiogroup1.Items.strings[2]:=s[vop[c]].o3; radiogroup1.Items.strings[3]:=s[vop[c]].o4; end; end; procedure Tform1.protv(); begin if radiogroup1.ItemIndex+1=s[vop[c]].pr then inc(cor) else inc(incor); label10.Caption:=inttostr(cor); label11.Caption:=inttostr(incor); inc(c); end; procedure Tform1.res(); var kol,proc:real; begin showmessage('Тест окончен'); kol:=strtoint(label8.Caption); proc:=int(cor/(kol/100)); if proc<50 then label12.Caption:='2'; if proc>50 then label12.Caption:='3'; if proc>70 then label12.Caption:='4'; if proc>90 then label12.Caption:='5'; end; procedure TForm1.BitBtn2Click(Sender: TObject); begin close; end; procedure TForm1.N6Click(Sender: TObject); begin PasswordDlg.ShowModal; if tren=true then bitbtn4.OnClick(self) else showmessage('Вы вели не'+'правильный пароль'); end; procedure TForm1.N1Click(Sender: TObject); begin end; end. Последний раз редактировалось Staswww; 02.06.2013 в 19:47. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Считывания русского текста из файла | apeorin | Общие вопросы C/C++ | 14 | 02.12.2012 16:34 |
Считывания массива из файла | Daleaids | Общие вопросы C/C++ | 4 | 23.12.2011 15:41 |
Процедура считывания из файла | Black_butterfly | Помощь студентам | 0 | 29.05.2011 16:51 |
Сохранение инф из файла данных в список | kate311893 | Общие вопросы C/C++ | 1 | 27.11.2010 17:14 |
потоки сохранение и считывания файла [C++] | ArniLand | Общие вопросы C/C++ | 1 | 27.05.2010 23:27 |