Продолжая добивать програму по подсчету голосов, выводу рейтинга уперся в неочень заметную, но весьма неприятную вещь.
Фрагмент кода:
Код:
procedure TForm1.Button5Click(Sender: TObject);
var i,k,j:integer; f:textfile; s:string;
begin
ClearGrid(StringGrid1);
ClearGrid(StringGrid2);
if OpenDialog1.Execute then begin
assignfile(f,OpenDialog1.FileName);
reset(f);
with StringGrid1 do
begin
i:=1;
while not SeekEof(f) do
begin
while not SeekEoln(f) do
begin
read(f,s);
Rows[i].Text:=StringReplace(s, #9, #13#10, [rfReplaceAll]);
end;
i:=i+1;
readln(f);
end;
RowCount:=i;
end;
end;
closefile(f);
...
...
1) Так вот, суть вопроса в том, что если нажать кнопку "открыть сохраненный результат" выскакивает проводник, предлагая выбрать путь к файлу. Если я выберу сохраненный файл, то всё нормально откроется. Если это окно OpenDialog закрыть, не выбрав файла - будет ошибка I\O Error 103. Можно ли это исправить?
2) И по ходу написания этого поста возник еще один вопрос. Дело в том что файл, в который сохраняется результат - текстового формата, и вида табулированной таблицы. Можно ли сделать так, что если файл не удовлетворяет виду
a1 b1 c1 d1 e1
a2 b2 c2 d2 e2
... ... ... ... ...
то ничего не будет открываться, либо же будет писаться сообщение.
3) Или второй вариант вопроса: Если имя файла имеет вид saved 29-06-2011 (то есть вида "saved dd-mm-yyyy"), а не какого-то там другого (вроде "Отчет по практике" или "1111")- он открывается, если иначе - ничего не происходит, или опять таки вывод сообщения ... ?
Буду благодарен за помощь!