Работа с файлами

Здравствуйте. Как мне сохранить любую картинку в файл?. Т.е открывается файл, в него загружается картинка и соответственно файл закрывается.

Так а картинка откуда берется?

C папки, скорее всего нужно путь указать?

Так а смысл в чем тогда, просто файл скопировать что ли?

В зависимости от варианта Паскаля может быть готовая функция типа CopyFile

Ну, типа всё, что есть в задании: Открыть файл (нетипизированный) в него сохранить картинку и закрыть.

А можно сделать, чтобы я сам выбирал, что за картинку загрузить. Т.е, чтобы я с клавиатуры вводил путь к файлу?

Видимо надо просто читать байты из одного файла и писать в другой.

https://pas1.ru/untyped-file

А кто мешает? Путь это просто строка.

А как тогда эту картинку загрузить в файл, т.е из файла в файл.

var
  f: file;
  n: string;
begin
  assign(f, 'C:\f.jpg');
  rewrite(f);
  write('Введите имя файла рисунка: ');
  readln(n);
  close(f);
end.

Так по ссылке ж пример прямо того, что нужно:

Работа с нетипизированными файлами на примере копирования файла:

const
  CountRead = 512; // кол-во читаемых записей.
   // При длине записи в 1 байт - размер буфера.
 
var
  file_in, file_out: file;
  name1, name2: string;
  num_read, num_write: word; // фактич. считанные/записанные записи
  buf: array[1..CountRead] of char; // буфер
 
begin
  Write('File 1: ');
  Readln(name1);
  Write('File 2: ');
  Readln(name2);
  Assign(file_in, name1);
{$I-}
  Reset(file_in,1);
{$I+}
  if IOResult <> 0 then begin
    WriteLn('Файл-оригинал не найден'); Halt
  end;
  Assign(file_out, name2);
  Rewrite(file_out, 1); // длина записи 1 байт
  repeat
    BlockRead(file_in, buf, CountRead, num_read);
    BlockWrite(file_out, buf, CountRead, num_write);
  until (num_read = 0) or (num_write <> num_read);
  writeln('Copying is completed');
  if num_read <> num_write then
    writeln('Not enough space');
  close(file_out); close(file_in);
end.

Что такое Reset?

Открытие файла для чтения.

Reset

Почему мне пишет ошибку, что не известное имя blockRead нет?

Какой Паскаль?

Я нашёл иной вариант)

uses graphabc;
var n:string;
    b:Picture;
begin
write ('Введите имя файла рисунка: ');
readln (n);
window.Clear;
b:=Picture.Create(n);
b.Draw(50,50);
SaveWindow('C:/Лб_7/1.png');
Window.Close
end.

Тут вряд ли это хотели раз просили