Crytach Daiguren Ответов: 2

Может ли кто-нибудь помочь мне с этим кодом delphi?


Эй все!, главный вопрос здесь, который меня раздражал, причина в том, что мой код работал, а теперь его остановили, это было довольно спонтанно, программа работает, так как данные хранятся в буфере обмена, но она не записывает текстовые файлы

procedure TForm1.BtnSaveClick(Sender: TObject);
var
  F, E: 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);
  WriteLn(F, '  NIVEL DE LENGUAGE: ' +sLs);
  CloseFile(F);
  imgStudent.Picture.SaveToFile('Data\'+sName+' '+sSur+'.jpg');
end; 


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

Он работал, а потом остановился. Я не знаю, что еще сказать...

[no name]

Разве у вас нет учителя, чья работа состоит в том, чтобы научить вас этому, чтобы вы могли попросить помощи с домашним заданием? Мы не можем научить вас программировать вопрос за вопросом.

2 Ответов

Рейтинг:
2

Patrice T

Цитата:
Причина в том, что мой код работал, а теперь его остановили, это было довольно спонтанно, программа работает, так как данные хранятся в буфере обмена, но она не записывает текстовые файлы
Если он работал и остановился, он связан с данными, используйте отладчик, чтобы увидеть, что происходит.

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

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

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


Рейтинг:
1

David_Wimbley

Учитывая, что он работал, а теперь остановился. Я так понимаю, что в коде ничего не изменилось.

Это похоже на репост, так как я даже узнаю код. Какую помощь вы получили в прошлый раз?

Я почти уверен, что вам сказали, что "не записывает в файл" - это не совсем хорошее описание проблемы.

Предложения:

Получаете ли вы какие-либо сообщения об ошибках/исключениях? Существует ли место, которое вы пытаетесь исправить в файле? Имеет ли ваше приложение право писать туда, куда оно пытается?

Если код не изменился, вам, вероятно, следует подумать, что на вашем компьютере есть внешние факторы, которые влияют на вашу проблему. Учитывая это, мы действительно не можем помочь с ними, так как не можем видеть ваш компьютер.

Но, скорее всего, повторите ответ, который вам дали раньше.

CBSearch.Предметы.SaveToFile('Config\list.txt');

Этот каталог конфигурации, вероятно, не существует. Кроме этого, мне больше нечего сказать.

http://www.codeproject.com/Questions/1125178/Delphi-problems-with-text-files[^]


Crytach Daiguren

Хорошо, во-первых, репост происходит потому, что я борюсь с несколькими частями этого кода... этот код-мой код, в любом случае, моя проблема заключается в том, что assignfile(F, 'Students\.... и т. д.) не создает' student name.txt - в подпапке "студенты"... у них нет ошибок, нет исключений, все идет гладко, он просто не создает текстовые файлы, когда это положено

David_Wimbley

Тогда я предлагаю вам обратиться к решению ppolymorphe 2, так как мы не можем отладить этот код для вас. Учитывая, что вы говорите, что это работает, а не это, это не превратится в случай "это работает на моей машине", который никому не поможет.

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

Если только вы не дадите кому-то удаленный доступ к вашему компьютеру, чтобы посмотреть на него, и не сможете найти кого-то, кто хочет это сделать. Ты получишь те же ответы, что и в прошлый раз...и до конца времен, если уж на то пошло.