Добро пожаловать, Гость. Пожалуйста, выберите Вход или Регистрация
Компьютерный форум Chitchat.RU
  Добро пожаловать на наш форум!
 
  ГлавнаяСправкаПоискВходРегистрация  
 
Переключение на Главную Страницу Страниц: 1
Ответить
помогите с ошибкой в коде (Прочитано 4519 раз)
PanIka v3.0
Новичок
Вне Форума


Я уважаю Chitchat.RU!

Сообщений: 2
помогите с ошибкой в коде
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.
Наверх
 
 
IP записан
 
Белый Ниггер
Тысячник
*****
Вне Форума


4ever in luv

Сообщений: 4199
Липецк
Пол: male
помогите с ошибкой в коде
Ответ #1 - 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 на одно и то же? На какой конкретно строке останавливается компилятор? Это все мы должны на телепатическом уровне выяснять?
Наверх
 

Любовь и боль, покой и бой я как любой несу с собой...
67444705  
IP записан
 
Cheatministrator
Главный по тарелочкам
*****
Вне Форума


Cheats.RU(lez)

Сообщений: 10651
Санкт-Петербург
Пол: male
Re: помогите с ошибкой в коде
Ответ #2 - 11.03.2009 :: 15:27:23
Цитировать 
Весна. Студенты вылезают из берлог со своими лабами по Паскалю.
Наверх
 
WWW  
IP записан
 
PanIka v3.0
Новичок
Вне Форума


Я уважаю Chitchat.RU!

Сообщений: 2
Re: помогите с ошибкой в коде
Ответ #3 - 11.03.2009 :: 16:06:05
Цитировать 
Белый Ниггер писал(а) 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 на одно и то же? На какой конкретно строке останавливается компилятор? Это все мы должны на телепатическом уровне выяснять?



остановилась на  DeleteFile (d); пишеть что стринг и файл не совместимы,а с if это я уже накосячил((((
Наверх
 
 
IP записан
 
Белый Ниггер
Тысячник
*****
Вне Форума


4ever in luv

Сообщений: 4199
Липецк
Пол: male
помогите с ошибкой в коде
Ответ #4 - 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. Перепроверь свою программу с начала и до конца и перепиши ее.

И последний вопрос (но он больше не к тебе лично, а в целом ко всем студентам, и, скорее всего, он риторический): когда же студенты наконец-то научатся пользоваться справками?
Наверх
 

Любовь и боль, покой и бой я как любой несу с собой...
67444705  
IP записан
 
Переключение на Главную Страницу Страниц: 1
Ответить
помогите с ошибкой в коде
Открыть Предпросмотр в реальном времени Просмотр


Вы можете изменить размер поля сообщений потянув за его правый или нижний край.
                       
Максимальное число символов в Сообщении - 9000. Осталось:
Размер текста: pt
Скрыть дополнительные возможности Скрыть/Показать дополнительные возможности

      

 
 
 
Подпишитесь на новостную рассылку
«Коды к играм от Cheats.RU»


 
 
Обновления Cheats.RU | Последние 20 отзывов к играм на сайте Cheats.RU | Правила форума



Rambler's Top100 eXTReMe Tracker