|
Вопрос # 5 419/ вопрос решён / |
|
Здравствуйте, уважаемые эксперты!
Помогите пожалуйста.
После некоторых изменений в коде программы, проект перестал компилироваться (ошибка could not create output file) и сохраняться.
С трудом верится что причиной могут стать какие-нибудь вирусы или прочая ерунда о которой пишут в инте. Скорее всего дело в измененном коде
прилагаю к вопросу только кусок кодакоторый исправляла. вообще нужно сохранять статистику игры в текстовый файл причем эта статистика должна быть отсортирована по увеличению времени затраченного на игру
Приложение: Переключить в обычный режим- type
- Tplayer = record
- name:string[20];
- MinTime:integer;
- SecTime:integer;
- PoSkolko:byte;
- Skolko:integer;
- end;
-
-
- player:Tplayer;
- stmas:array of tplayer;
- stat:TStringlist;
-
-
- var
- i, j: byte;
- qw, kolprob: integer;
- prom: Tplayer;
- Stroka, slovo: string;
- stfile:textfile;
-
- stat:=TStringList.Create;
-
- AssignFile(stfile,'statistika.txt');
- reset(stfile);
- stat.LoadFromFile('statistika.txt');
-
-
- if FileSize(stfile)<> 0 then
- begin {**}
-
- Setlength(stmas,qw+1);
- stmas[1]:=player;
- for i:=2 to qw do
- begin
-
-
- begin
- kolprob:=1;
- if stroka[j]<>' ' then slovo:=slovo+stroka[j]
- else
- begin
- case kolprob of
- 1: stmas[j].name:=slovo;
- 2: stmas[j].MinTime:=strtoint(slovo);
- 3: stmas[j].SecTime:=strtoint(slovo);
- end;
- slovo:='';
- stmas[j].PoSkolko:=0;
- stmas[j].Skolko:=0;
- inc(kolprob);
- end;
- end;
- end;
-
- for j:= 1 to qw do
- for i := 1 to qw do
- begin
- if (stmas[i].MinTime>stmas[i+1].MinTime) or ((stmas[i].MinTime=stmas[i+1].MinTime) and
(stmas[i].SecTime>stmas[i+1].SecTime)) then
- begin
- prom:=stmas[i+1];
- stmas[i+1]:=stmas[i];
- stmas[i]:=prom;
- end;
- end;
- end{**}
- else
- begin
- qw:=0;
- Setlength(stmas,1);
- stmas[1]:=player;
- end;
-
- for i := 1 to qw+1 do
- stat.Strings[i]:=(stmas[i].name+' min='+inttostr(stmas[i].MinTime)+'
sec='+inttostr(stmas[i].SecTime));
-
- stat.savetofile('statistika.txt');
- stat.Free;
- closefile(stfile);
- end;
 |
Вопрос задала: MerryJane (статус: Посетитель)
Вопрос отправлен: 16 июня 2011, 23:33
Состояние вопроса: решён, ответов: 2.
|
Ответ #1. Отвечает эксперт: Gooddy
Здравствуйте, MerryJane!
Дело не в коде, а в том, что программа которую вы пытаетесь скомпилировать уже запущена (часто возникала подобная проблема, когда работал без отладчика).
Поищите в списке процессов запущенное приложение и закройте, если не сработает перезапуститесь.
 |
Ответ отправил: Gooddy (статус: 3-ий класс)
Время отправки: 16 июня 2011, 23:50
Оценка за ответ: 5
Комментарий к оценке: огромную помощь оказал(=
|
Ответ #2. Отвечает эксперт: corban
Здравствуйте, MerryJane!
AssignFile(stfile,'statistika.txt');
reset(stfile);
Эти две строки зачем? у тебя ж в TStringList идет загрузка:
stat.LoadFromFile('statistika.txt');
А так получается ты файло открываешь для чтения, а потом в него же и пишешь:
stat.savetofile('statistika.txt');
вот тебе и ошибка "could not create output file". Черным по белому же написано "не могу окрыть файл для вывода"
 |
Ответ отправил: corban (статус: 2-ой класс)
Время отправки: 17 июня 2011, 03:10
|
Мини-форум вопроса
Всего сообщений: 10; последнее сообщение — 17 июня 2011, 13:13; участников в обсуждении: 4.
|
MerryJane (статус: Посетитель), 16 июня 2011, 23:53 [#1]:
получается весь код что я писала не сохранится, да? не только если не сохранить текстом куда нибудь
|
|
Gooddy (статус: 3-ий класс), 16 июня 2011, 23:54 [#2]:
Текстом сохраните конечно.
Чисти код! Чисти код! Чисти код!
|
|
MerryJane (статус: Посетитель), 16 июня 2011, 23:57 [#3]:
Перезапустилась вставила текст опять эта же ошибка
|
|
Gooddy (статус: 3-ий класс), 16 июня 2011, 23:59 [#4]:
Хм. А можно полностью проект?
Чисти код! Чисти код! Чисти код!
|
|
MerryJane (статус: Посетитель), 17 июня 2011, 00:04 [#5]:
измененный?
|
|
MerryJane (статус: Посетитель), 17 июня 2011, 00:07 [#6]:
и как мне его вам передать?(=
|
|
Gooddy (статус: 3-ий класс), 17 июня 2011, 00:16 [#7]:
Через аську?
Чисти код! Чисти код! Чисти код!
|
|
corban (статус: 2-ой класс), 17 июня 2011, 03:07 [#8]:
AssignFile(stfile,'statistika.txt');
reset(stfile);
Эти две строки зачем? у тебя ж в TStringList идет загрузка:
stat.LoadFromFile('statistika.txt');
А так получается ты файло открываешь для чтения, а потом в него же и пишешь:
stat.savetofile('statistika.txt');
|
|
bugmenot (статус: 3-ий класс), 17 июня 2011, 10:12 [#9]:
Цитата (MerryJane):
и как мне его вам передать?(=
http://everfall.com/paste/
(указать Paste as [delphi])
никаких асечек!
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
|
MerryJane (статус: Посетитель), 17 июня 2011, 13:13 [#10]:
Всем спасибо(=
но теперь я запорола программу так что до ошибок в статистике даже доходить не успевает(х
|
17 июня 2011, 13:13: Статус вопроса изменён на решённый (изменил автор вопроса — MerryJane)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|