Разработать класс с полями определенных типов.Разработать в классе два метода для...

0 голосов
48 просмотров

Разработать класс с полями определенных типов.Разработать в классе два метода для вычисления или оформления операций.В классе должен быть конструктор.
В Паскале АВС
1. Класс FileNameClass
2. Имя,расширение, путь к нему
3. Метод выводит на экран тип файла (текстовый,графический или видео)
4. Метод выводит на экран имя в 10-кратном размере


Информатика (706 баллов) | 48 просмотров
0

можно PascalABC.Net

0

Имя,расширение, путь к нему это и есть поля

0

конструктор только создает объект

0

Сделаете?

Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1425 от 22.04.2017
// Внимание! Если программа не работает, обновите версию!

type
  FileNameClass=class
 
  public
 
  fullpath:string;
  name:string;
  extension:string;
  path:string;
 
  constructor (fp:string);
  begin
    fullpath:=fp;
    name:=ExtractFileName(fp);
    var p:=LastPos('.',name);
    if p>0 then name:=name[:p];
    extension:=ExtractFileExt(fp);
    path:=ExtractFilePath(fp)
  end;
 
  procedure PutType;
  begin
    case extension[2:] of
    'txt':Writeln('файл текстовый');
    'bmp','jpg','tiff','gif','psd','png','ico':Writeln('Файл графический');
    'mp4','mov','mpg','avi':Writeln('Файл видео')
    else Writeln('Файл неизвестного типа')
    end
  end;
 
  procedure PutName;
  begin
    Writeln(name)
  end;
    
end;

begin
  var oFile:=new FileNameClass(ReadlnString('Полный путь к файлу:'));
  oFile.PutName;
  oFile.PutType;
  oFile:=nil // если надо явно удалить объект
end.

Пример
Полный путь к файлу: PABCWork.NET\demo.bmp
demo
Файл графический

"Десятикратный размер", который Вы не соизволили объяснить, сделаете сами, когда поймете, что это.
(150k баллов)
0

case extension[2:] of а что это значит?

0

спасибо