Crytach Daiguren Ответов: 2

Проблемы Delphi с текстовыми файлами


Привет, у меня есть вопрос для delphi, он раздражает меня, потому что я продолжаю получать ошибки I/0, "файл не найден" его раздражает, и он не остановится

procedure TForm1.BtnSaveClick(Sender: TObject);
var
  F, E, Level: TextFile;
  sName, sSur, sEmail, sTelKid, sMom, sDad, sTelMom, sTelDad, sLs, sSchool, sSchoolTel, sSchoolEmail: String;
begin
  sName:=EdtName.text;
  sSur:=EdtSur.text;
  sEmail:=EdtEmail.text;
  sTelKid:=EdtTelKid.text;
  sTelMom:=EdtTelMom.text;
  sTelDad:=EdtTelDad.text;
  sSchool:=EdtSchool.Text;
  sSchoolTel:=EdtSchoolTel.Text;
  sSchoolEmail:=EdtSchoolEmail.Text;
  sMom:=EdtMum.Text;
  sDad:=EdtDad.Text;
  sLs:=ClevelS.Text;
  AssignFile(E, 'Config\list.txt');
  append(E);
  Writeln(E,sName + ' ' + sSur);
  CloseFile(E);
  CBSearch.Items.LoadFromFile('Config\list.txt');
  CBSearch.Items.SaveToFile('Config\list.txt');
  AssignFile(F, 'Students\' +sName+ ' ' +sSur+ '.txt');
  Rewrite(F);
  WriteLn(F, '  ' +sSchool);
  WriteLn(F);
  WriteLn(F, '  Correo Electronico: ' +sSchoolEmail);
  WriteLn(F);
  WriteLn(F, '  Numero de telefono: ' +sSchoolTel);
  WriteLn(F);
  WriteLn(F, '_____________________________________________________________');
  WriteLn(F, '_____________________________________________________________');
  WriteLn(F);
  WriteLn(F, '  NOMBRE: ' +sName);
  WriteLn(F);
  WriteLn(F, '  APPELIDOS: ' +sSur);
  WriteLn(F);
  WriteLn(F, '  EMAIL: ' +sEmail);
  WriteLn(F);
  WriteLn(F, '  TELEFONO DE ESTUDIANTE: ' +sTelKid);
  WriteLn(F);
  WriteLn(F, '  TELEFONO DE '+sMom+' : ' +sTelMom);
  WriteLn(F);
  WriteLn(F, '  TELEFONO DE '+sDad+' : ' +sTelDad);
  WriteLn(F);
  Closefile(F);
  Assignfile(Level, 'Levels\' +sName+ ' ' +sSur+ '.txt');
  rewrite(Level);
______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
crashes at this point
______________________________________________________________________________________

  WriteLn(Level,'NIVEL DE LENGUAJE: ' +sLs);
  CloseFile(Level);
  imgStudent.Picture.SaveToFile('Data\'+sName+' '+sSur+'.jpg');
end;


Что я уже пробовал:

Я пробовал добавлять его, переписывать, сбрасывать, я даже пробовал независимое "начало/конец"; сейчас я нахожусь в тупике... ПОЖАЛУЙСТА, ПОМОГИТЕ МНЕ

Если вам интересно, это сообщение об ошибке из журнала событий:

Первый этап обработки исключения в 777540F8$. Класс исключений EInOutError с сообщением "недопустимое имя файла". Процесс Project1.exe (1060)

[no name]

Не берите в голову. Здесь не на что смотреть.

Maciej Los

rewrite это встроенная функция Delphi ;)

[no name]

- Понимаю, Спасибо.

Maciej Los

Всегда пожалуйста, друг ;)
Кажется MattTellesответ s - это лучшее решение для OP.
С. П.
Я не видел тебя много времени на форуме QA. Надеюсь, с тобой все в порядке.

2 Ответов

Рейтинг:
1

Patrice T

Цитата:
Я продолжаю получать ошибки I / 0, "файл не найден"
2 возможности, либо файл не существует, либо вы не находитесь в ожидаемом каталоге.
- Вы должны отобразить текущий путь к каталогу, просто чтобы убедиться.
- Убедиться Levels каталог существует в текущем каталоге.

Вы должны научиться использовать отладчик как можно скорее. Вместо того чтобы гадать, что делает ваш код, пришло время увидеть, как он выполняется, и убедиться, что он делает то, что вы ожидаете.

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
Когда код не делает того, что ожидается, вы близки к ошибке.


Рейтинг:
0

MattTelles

Смотреть на:

AssignFile(E, 'Config\list.txt');

Существует ли подкаталог "Config" в текущем каталоге, в котором выполняется исполняемый файл? Держу пари, что нет.


Maciej Los

5ед!

Crytach Daiguren

Извините mattTelles, у меня действительно есть папка под названием config, в которой хранится библиотека поиска для моего combobox.