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 Файл графический
"Десятикратный размер", который Вы не соизволили объяснить, сделаете сами, когда поймете, что это.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк в матрице:'); var m:=ReadInteger('Количество столбцов в матрице:'); Writeln('*** Исходная матрица A [',n,',',m,'] ***'); var a:=MatrRandom(n,m,1,10); a.Println(3); Writeln(3*a.ColCount*'-'); Writeln('*** Исходная матрица B [',n,',',m,'] ***'); var b:=MatrRandom(n,m,1,10); b.Println(3); Writeln(3*a.ColCount*'-'); Writeln('*** Матрица-результат С [',n,',',m,'] ***'); var c:=new integer[n,m]; for var i:=0 to n-1 do for var j:=0 to m-1 do c[i,j]:=a[i,j]+b[i,j]; c.Println(3) end.
Пример Количество строк в матрице: 4 Количество столбцов в матрице: 7 *** Исходная матрица A [4,7] *** 10 9 4 5 9 1 3 7 4 1 2 6 8 10 2 5 3 9 8 3 3 3 7 2 9 5 2 10