Лидеры рейтинга

ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

341

Россия, пос. Теплоозёрск, ЕАО


ID: 401284

Михаил Александров

Советник

283

Россия, Санкт-Петербург


ID: 400669

epimkin

Профессионал

254


ID: 137394

Megaloman

Мастер-Эксперт

122

Беларусь, Гомель


ID: 405239

al4293189

1-й класс

85


ID: 401888

puporev

Профессор

69

Россия, Пермский край


ID: 325460

CradleA

Мастер-Эксперт

65

Беларусь, Минск


8.9.8

01.08.2021

JS: 2.9.16
CSS: 4.5.14
jQuery: 3.6.0
DataForLocalStorage: 2021-08-03 10:16:01-standard


Создание программ на языках Pascal, Delphi и Lazarus.

Администратор раздела: Зенченко Константин Николаевич (Старший модератор)

Консультация онлайн # 201026

Раздел: Pascal / Delphi / Lazarus
Автор вопроса: Jin (Посетитель)
Дата: 31.05.2021, 22:23 Консультация закрыта
Поступило ответов: 1

Здравствуйте! Пожалуйста, нужна помощь в решении задачи на Lazarus:
type текст = file of char;
Описать и проверить работу процедуры del(t), удаляющей из текста t
предпоследний элемент, если такой есть.

Ответ # 281281 от puporev
Код [Pascal]
procedure TForm1.Button1Click(Sender: TObject);
type myText=file of char;
procedure del(var t:myText);
var c:char;
begin
reset(t);
if filesize(t)<2 then
 begin
  ShowMessage('В файле нет двух символов');
  exit;
 end;
seek(t,filesize(t)-1);
read(t,c);
seek(t,filesize(t)-2);
write(t,c);
seek(t,filesize(t)-1);
truncate(t);
closefile(t);
end;
var f:myText;
    c:char;
begin
//запишем в файл буквы A..Z
Memo1.Text:='Содержание исходного файла'+#13#10;
assignfile(f,'file');
rewrite(f);
for c:='A' to 'Z' do
 begin
  write(f,c);
  Memo1.Text:=Memo1.Text+c;
 end;
del(f); //вызовем проедуру
Memo2.Text:='Содержание измененного файла'+#13#10;
reset(f);
while not eof(f) do
 begin
  read(f,c);
  Memo2.Text:=Memo2.Text+c;
 end;
closefile(f);
end; 

puporev

Профессор
01.06.2021, 07:18
Мини-форум консультации # 201026

Нет сообщений в мини-форуме

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Лучшие эксперты раздела

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 88

puporev

Профессор

Рейтинг: 69

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 0

Асмик Гаряка

Советник

Рейтинг: 0

Орловский Дмитрий

Мастер-Эксперт

Рейтинг: 0

lamed

Академик

Рейтинг: 0