Здравствуйте,вопрос простой.Вот кусок кода:
procedure TForm1.Button5Click(Sender: TObject);
Var
R:textfile;
begin
Assign( R,'D:/Massive.txt');
end;
У меня выдаётся ошибка для комманды Assign.Пишется про несоответсвие типов данных.
Почему так,не могу понять.В консольном режиме,если так писать,то ошибок не будет.
Заранее спасибо.
procedure TForm1.Button5Click(Sender: TObject);
Var
R:textfile;
begin
Assign( R,'D:/Massive.txt');
end;
У меня выдаётся ошибка для комманды Assign.Пишется про несоответсвие типов данных.
Почему так,не могу понять.В консольном режиме,если так писать,то ошибок не будет.
Заранее спасибо.
Процедура Assign - это просто устаревший аналог AssignFile. Рекомендуется везде, даже в консольных программах на Delphi, использовать только AssignFile.
В процессе запуска программы у меня появилась вот такая ошибка:[Fatal Error] Could not create output file 'D:\Program files\Delphi 7\Projects\Project1.exe'
Эта ошибка никуда не уходит.Вы не знаете из-за чего это может быть и как её исправить?Заранее спасибо.
Может быть несколько причин:
- Старый project1.exe может быть запущен и поэтому его не получается удалить (если не найдете его в диспетчере задач - перезагрузитесь и попробуйте снова).
- Антивирус что то нашел
- Папка защищена от записи, нет прав на доступ к папке - тогда можно создавать исполнимый файл где-то еще (Output Directory в опциях проекта)
- Диск переполнен и т.д.
У меня изредка(где-то из 4-х случаев приходится на 1 неудачный ) появляется ещё вот такая ошибка:
Мне кажется дело в следующем:до недавнего времени программа такой ошибки не выдавала и всё работало,затем я кое-что в ней изменил,и вот стала появляться эта ошибка
Это изменение свзано в следующем:Моя программа должна была сортировать массив строк и потом производить двоичный поиск.После того как массив у меня отсортировывался,он прямиком передавался в другой массив и там уже искалась строка,но я кое-что переделал и сделал так:отсортированный массив записывается как нетипизированный файл,а потом считывается другим массивом и там производится поиск.Мне,кажется всё дело в этом считывании,поэтому вот код этого участка:
Setlength(String_Mas2,k);//здесь k это общее число символов в массиве строк
AssignFile(E,'D:/Отсортированный массив.txt');
Rewrite(E,k);
For i:=1 to L do
BlockWrite(E,String_Mas[i],1);
CloseFile(E);
Reset(E,k);
For i:=1 to L do
BlockRead(E,String_Mas2[i],1);//Вот здесь происходит считывание
Closefile(E);
Ещё раз огромное спасибо.