Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

Почему не работает проверялка?   Найти похожие ветки 

 
IAMDANIL ©   (2005-11-26 13:43) [0]

Помогите отладить...

procedure TForm2.calculate(Sender: TObject);
var
sinf:startupinfo;
pinf:process_information;
kkk,tickcount:longint;
youranswer:tstringlist;
rightanswer:tstringlist;
filename:string;
feedback:string;
testcount:integer;
timelimit:integer;
istimelimit:boolean;
exitcode:cardinal;
i:integer;
testpath:string;
f:TextFile;
j,k:integer;
begin
if memo1.tag>0 then exit;
j:=0;
memo1.Tag:=1;
memo1.Lines.Add("Ðåçóëüòàòû ïðîâåðêè:");
memo1.Lines.Add("");
{MessageDlg("jkl",mtInformation,mbOKCancel,0);}

 filename:=Form1.Edit1.Text;
 testpath:=Form1.Edit2.Text;
 assignfile(f,testpath+"\testinfo.txt");
 timelimit:=5000;
 testcount:=0;
 if fileexists(testpath+"\testinfo.txt") then
 begin
 reset(f);
 read(f,testcount);
 if not seekeof(f) then read(f,timelimit);
 closefile(f);
 end
 else
 while fileexists(testpath+"\test_"+inttostr(testcount+1)+".txt") do
 testcount:=testcount+1;
 progress1.MaxValue:=testcount;

 if form1.CheckBox1.Checked then
 ForceDirectories(testpath+"\ÂàøèÎòâåòû");

 for i:=1 to testcount do begin
 renamefile(testpath+"\test_"+inttostr(i)+".txt",extractfilepath(filename)+"\input.txt");
 fillchar(sinf,sizeof(sinf),0);
 sinf.cb:=sizeof(pinf);
 sinf.wshowwindow:=sw_hide;
 sinf.dwflags:=startf_UsesHowWindow;

 createprocess(pchar("""+filename+"" < ""+
 extractfilepath(filename)+"input.txt" > ""+
 extractfilepath(filename)+"output.txt""),nil,nil,nil,false,
 create_new_console or
 normal_priority_class,nil,nil,sinf,pinf);
 tickcount:=gettickcount;
 istimelimit:=true;
 ShowMessage("""+filename+"" < ""+
 extractfilepath(filename)+"input.txt" > ""+
 extractfilepath(filename)+"output.txt"");
 while ((tickcount+timelimit)>=gettickcount) and istimelimit do

 if waitforsingleobject(pinf.hprocess,0)<>wait_timeout then istimelimit:=false;

  if istimelimit then begin
  terminateprocess(pinf.hprocess,0);
   feedback:="Time limit exceeded!";
 end
else
begin
 getexitcodeprocess(pinf.hprocess,exitcode);
 kkk:=gettickcount-tickcount;
 if exitcode<>0 then feedback:="Run-time error!"
 else begin
 youranswer:=tstringlist.create;
 rightanswer:=tstringlist.create;
 if fileexists(extractfilepath(filename)+"\output.txt") then
 youranswer.loadfromfile(extractfilepath(filename)+"\output.txt");
 if fileexists(testpath+"\ans_"+inttostr(i)+".txt") then
 rightanswer.loadfromfile(testpath+"\ans_"+inttostr(i)+".txt");
 if youranswer.text<>rightanswer.text then feedback:="Wrong answer!"
 else feedback:="OK ("+inttostr(kkk)+" ms)";
 youranswer.free;
 rightanswer.free
end;
 end;

 renamefile(extractfilepath(filename)+"\input.txt",testpath+"\test_"+
 inttostr(i)+".txt");
 memo1.lines.add("  Test "+inttostr(i)+": "+feedback);
 
 if FileExists(ExtractFilePath(filename)+"\output.txt") then
 DeleteFile(ExtractFilePath(filename)+"\output.txt");
 If fileexists(ExtractFilePath(filename)+"\output.txt") and
 Form1.CheckBox1.Checked then RenameFile(ExtractFilePath(filename)
 +"\output.txt",testpath+"\YourAnswers\Ans_"+inttostr(i)+".txt")
 end;
 memo1.Lines.Add("");
 memo1.lines.add("...completed");
end;
все исходники narod.ru/checker.zip


 
Virgo_Style ©   (2005-11-26 14:09) [1]

Интересно, это только я не лююлю разбираться в неформатированном коде непонятного назначения в поисках неизвестной проблемы, или это общая беда? %-)


 
Джо ©   (2005-11-26 14:10) [2]

А что тут разбираться? В корзину такой код и жизнь сразу станет проще...


 
irishka001 ©   (2005-11-27 03:12) [3]


> IAMDANIL ©

А что ты хочешь сделать, используя этот код? И в чем собственно проблема?


 
Anatoly Podgoretsky ©   (2005-11-27 12:53) [4]

IAMDANIL ©   (26.11.05 13:43)  
А зачем ты нам этот мусор вывалил, надо было билет покупать, что бы к тебе приехали сделать отладку



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

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.033 c
14-1132388817
ищущий ответ
2005-11-19 11:26
2005.12.11
Водительское удостоверение и менты


2-1132778916
vasek
2005-11-23 23:48
2005.12.11
не работает динамически созданный обработчик


14-1131899671
default
2005-11-13 19:34
2005.12.11
Задачка


8-1120806167
Ботвин Дмитрий
2005-07-08 11:02
2005.12.11
Вращение Bitmap-a


2-1132674645
Balex
2005-11-22 18:50
2005.12.11
String => PAnsiChar





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский