19.05.2024 :: 18:50:57 |
Добро пожаловать, Гость. Пожалуйста, выберите Вход или Регистрация |
||
Добро пожаловать на наш форум! |
ГлавнаяСправкаПоиск |
Компьютерный форум Chitchat.RU › Неигровые форумы › Нужна помощь › Ответ на сообщение ( Re: помогите с ошибкой в коде ) |
Краткое содержание - Показано 5 сообщение(-я)(-й). | |
Отправил: Белый Ниггер | Отправлено: 11.03.2009 :: 22:16:00 |
function DeleteFile (Const FileName: String): Boolean;
Из вышеприведенного примера совершенно четко видно, что параметр функции DeleteFile должен быть типа String, а у тебя переменная d, которую ты используешь в качестве параметра у функции DeleteFile, объявлена, как File. Поэтому очевидно, что компилятор будет выдавать ошибку несовместимости типов. В своей программе для удаления файлов используй процедуру Erase, у нее параметр должен быть как раз типа File или TextFile. procedure Erase (var FileHandle: File); Кстати, ты не только с двумя If накосячил, ты еще зачем-то два раза используешь оператор Continue. Перепроверь свою программу с начала и до конца и перепиши ее. И последний вопрос (но он больше не к тебе лично, а в целом ко всем студентам, и, скорее всего, он риторический): когда же студенты наконец-то научатся пользоваться справками?
| |
Отправил: PanIka v3.0 | Отправлено: 11.03.2009 :: 16:06:05 |
Цитата: Code: program Project1; uses SysUtils; var a1: TSearchRec; a2: Integer; dir, find: AnsiString; d: File; begin a2 := FindFirst (dir + '*.jpg', faAnyFile, a1); a2 := FindNext (a1); while a2 = 0 do begin if a1.Attr = faDirectory then begin a2 := FindNext (a1); continue end; if a1.Attr = faDirectory then begin Find := (dir + a1.Name); a2 := FindNext (a1); continue end; AssignFile (d, dir + a1.Name); DeleteFile (d); Close (d); a2 := FindNext (a1) end end. В чем вообще смысл программы? Зачем два раза представлено условие IF на одно и то же? На какой конкретно строке останавливается компилятор? Это все мы должны на телепатическом уровне выяснять? остановилась на DeleteFile (d); пишеть что стринг и файл не совместимы,а с if это я уже накосячил(((( | |
Отправил: Cheatministrator | Отправлено: 11.03.2009 :: 15:27:23 |
Весна. Студенты вылезают из берлог со своими лабами по Паскалю.
| |
Отправил: Белый Ниггер | Отправлено: 11.03.2009 :: 10:03:18 |
Цитата:
Code: program Project1; uses SysUtils; var a1: TSearchRec; a2: Integer; dir, find: AnsiString; d: File; begin a2 := FindFirst (dir + '*.jpg', faAnyFile, a1); a2 := FindNext (a1); while a2 = 0 do begin if a1.Attr = faDirectory then begin a2 := FindNext (a1); continue end; if a1.Attr = faDirectory then begin Find := (dir + a1.Name); a2 := FindNext (a1); continue end; AssignFile (d, dir + a1.Name); DeleteFile (d); Close (d); a2 := FindNext (a1) end end. В чем вообще смысл программы? Зачем два раза представлено условие IF на одно и то же? На какой конкретно строке останавливается компилятор? Это все мы должны на телепатическом уровне выяснять? | |
Отправил: PanIka v3.0 | Отправлено: 11.03.2009 :: 06:22:10 |
вот я написал кодик,а в нём ошибка есть program Project1; uses SysUtils; var a1:TSearchRec; a2:integer; dir,find:string; d:file; begin a2:=findfirst(dir + '*.jpg',faanyfile,a1); a2:=findnext(a1); while a2=0 do begin if a1.Attr = fadirectory then begin a2:=findnext(a1); continue end; if a1.Attr=fadirectory then begin Find:=(dir + a1.Name); a2:=findnext(a1); continue end; assignfile(d, dir + a1.Name); DeleteFile(d); выдаёт ошибку что strind and file не совместимы,как исправить? close(d); a2:=findnext(a1); end; end.
|
YaBB Forum Software © 2000-2024. All Rights Reserved.